客户端集成用于把这条受控数据库访问通路接入桌面客户端、IDE 插件、Agent 平台或自研 LLM 应用。 接入后,大模型不是直接连接数据库,而是通过 MCP 客户端调用 ShardingSphere-MCP 暴露的资源、工具、提示和补全能力。 它不是快速开始中 curl 手工验证流程的替代说明,也不是让用户手工拼 JSON-RPC 的操作手册。 客户端负责连接配置、会话头、补全和调用编排。 用户只需要表达要完成的元数据查询、只读 SQL 查询或数据库治理任务。
适合使用客户端集成的场景:
完整的资源、工具、提示和补全说明见能力清单。
将下面片段写入 MCP 客户端的 server 配置;具体文件位置由客户端决定。
url 指向已经启动的 HTTP MCP Server。
{
"mcpServers": {
"shardingsphere-http": {
"url": "http://127.0.0.1:18088/mcp"
}
}
}
HTTP 客户端需要在正常 MCP 调用前完成会话生命周期:
initialize。MCP-Session-Id 和 MCP-Protocol-Version 响应头。notifications/initialized,并预期 HTTP 状态码为 202。关闭会话后,该会话 ID 不能继续复用。
将下面片段写入 MCP 客户端的 server 配置;具体文件位置由客户端决定。
command 指向发行包内的启动脚本,args 指向 STDIO 配置文件。
{
"mcpServers": {
"shardingsphere": {
"command": "/path/to/apache-shardingsphere-mcp/bin/start.sh",
"args": ["/path/to/apache-shardingsphere-mcp/conf/mcp-stdio.yaml"]
}
}
}
STDIO 模式适合由本地 MCP 客户端拉起 ShardingSphere-MCP 子进程。
它不是面向人工手输请求的交互式 Shell。
将 /path/to/apache-shardingsphere-mcp 替换为实际发行包目录。
STDIO 模式下:
logs/mcp.log。command 和 args 应指向发行包内的启动脚本和 STDIO 配置文件。使用现成 MCP 客户端或 Agent 平台时,用户通常通过自然语言提出任务,例如“查看逻辑库有哪些表”或“查询订单表的字段”。 客户端会根据模型选择自动发送 MCP 协议请求,用户不需要把下面的 JSON 粘贴到模型对话框。 下面的示例用于说明客户端背后发送的协议消息,适合客户端开发、集成调试或排查问题。
读取服务状态:
{"jsonrpc":"2.0","id":"runtime-1","method":"resources/read","params":{"uri":"shardingsphere://runtime"}}
读取能力目录:
{"jsonrpc":"2.0","id":"capabilities-1","method":"resources/read","params":{"uri":"shardingsphere://capabilities"}}
搜索元数据:
{
"jsonrpc": "2.0",
"id": "search-1",
"method": "tools/call",
"params": {
"name": "database_gateway_search_metadata",
"arguments": {
"database": "<logic-database>",
"query": "<metadata-keyword>",
"object_types": ["table"]
}
}
}
执行只读 SQL:
{
"jsonrpc": "2.0",
"id": "query-1",
"method": "tools/call",
"params": {
"name": "database_gateway_execute_query",
"arguments": {
"database": "<logic-database>",
"sql": "SELECT * FROM <table-name> LIMIT 100",
"max_rows": 100
}
}
}
