ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

如何通过 Anthropic Messages API 的 MCP Connector 接入 ShardingSphere-MCP 远程 HTTP Server

如何通过 Anthropic Messages API 的 MCP Connector 接入 ShardingSphere-MCP 远程 HTTP Server 如何通过 Anthropic Messages API 的 MCP Connector 接入 ShardingSphere-MCP 远程 HTTP Server【免费下载链接】shardingsphereEmpowering Data Intelligence with Distributed SQL for Sharding, Scalability, and Security Across All Databases.项目地址: https://gitcode.com/GitHub_Trending/sh/shardingsphere当 ShardingSphere-MCP 的 HTTP MCP Server 已经启动但你不希望单独实现一个 MCP client 时可以直接在 Anthropic Messages API 的请求里用mcp_servers字段声明它由 Claude 平台通过 MCP Connector 发起调用。接入完成后你可以在 Claude 会话中查看逻辑库里的表、查看表结构或调用database_gateway_validate_runtime_database对已配置的 runtime database 做接入前校验。本文适用前提MCP Server 已按 ShardingSphere-MCP 的快速开始以 HTTP 模式启动对外暴露的是可被 Anthropic Messages API 访问、且已受保护的远程 HTTPS endpoint该 endpoint 支持Streamable HTTP或SSE已准备 Anthropic API Key。ShardingSphere-MCP 内置 HTTP Server 不提供认证、授权、限流或审计日志文档明确不支持把它直接暴露到公网作为生产部署边界因此远程接入时必须放在受信网关或反向代理后面。启动 HTTP MCP Server前置步骤如果还没有启动 MCP Server按快速开始执行。前置条件是JAVA_HOME或PATH中可用的 JDK 21。核心步骤./mvnw -pl distribution/mcp -am -DskipTests package构建完成后进入distribution/mcp/target/下生成的发行包目录其中应包含bin/、conf/、lib/。编辑conf/mcp-http.yaml把runtimeDatabases指向你要暴露的数据库runtimeDatabases: logic_db: jdbcUrl: jdbc:mysql://127.0.0.1:3307/logic_db username: root password: driverClassName: com.mysql.cj.jdbc.Driver上面的logic_db、127.0.0.1、3307、root和空密码都是文档示例值需要按你的 ShardingSphere-Proxy 或直连数据库的实际连接信息调整。MCP Server 会从jdbcUrl解析数据库类型如果目标 JDBC 驱动没有随发行包提供启动前先把对应驱动 jar 放入plugins/。然后启动服务Unix-like 系统bin/start.sh logs/mcp-http.log 21 默认端点是http://127.0.0.1:18088/mcp。准备受保护的远程 HTTPS endpointAnthropic MCP Connector 当前只支持远程 HTTP MCP Server不支持本地STDIO进程所以发给mcp_servers的地址不能是127.0.0.1这类本机地址而必须是 Anthropic 平台侧可访问的 HTTPS 地址。部署说明给出的最小布局是外层网关负责 TLS 终止和认证ShardingSphere-MCP 继续在受控网络中提供 HTTP。MCP Server 侧配置示例transport: type: HTTP http: bindHost: 127.0.0.1 port: 18088 endpointPath: /mcpNginx 网关示例来自部署说明其他反向代理、Ingress、ALB 或 API Gateway 只要满足同样边界也可采用相同思路server { listen 443 ssl http2; server_name _; ssl_certificate /etc/nginx/certs/mcp.crt; ssl_certificate_key /etc/nginx/certs/mcp.key; location /mcp { proxy_pass http://127.0.0.1:18088/mcp; proxy_http_version 1.1; proxy_pass_request_headers off; proxy_set_header Host $host; proxy_set_header Content-Type $http_content_type; proxy_set_header Accept $http_accept; proxy_set_header MCP-Session-Id $http_mcp_session_id; proxy_set_header MCP-Protocol-Version $http_mcp_protocol_version; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }这类布局的关键点TLS 在受信网关终止MCP 进程本身不管理公网证书认证、授权、限流和网络访问控制仍由外层网关处理。网关地址可访问后https://你的网关域名/mcp就是后续要填给 Anthropic 的 endpoint。配置并发送 Messages API 请求先把SHARDINGSPHERE_MCP_REMOTE_URL设置为受信网关对外发布的受保护远程 endpoint再把你的 Anthropic API Key 放入ANTHROPIC_API_KEY环境变量。最小示例如下注意 heredoc 使用未加引号的EOFshell 会展开其中的环境变量也可以直接把 endpoint 地址和 API Key 写进对应位置curl https://api.anthropic.com/v1/messages \ -H content-type: application/json \ -H x-api-key: $ANTHROPIC_API_KEY \ -H anthropic-version: 2023-06-01 \ -H anthropic-beta: mcp-client-2025-11-20 \ -d - EOF { model: claude-sonnet-4-5, max_tokens: 1024, messages: [ { role: user, content: Use ShardingSphere-MCP to inspect the tables in the logic database. } ], mcp_servers: [ { type: url, url: ${SHARDINGSPHERE_MCP_REMOTE_URL}, name: shardingsphere } ], tools: [ { type: mcp_toolset, mcp_server_name: shardingsphere } ] } EOF两个字段必须配对mcp_servers里的name是服务名tools里mcp_toolset的mcp_server_name引用它二者要严格一致。anthropic-beta: mcp-client-2025-11-20请求头是当前 MCP Connector 版本的要求不能省略如果官方更新 beta 版本需要同步调整调用配置。如果网关使用 OAuth 或 Bearer 认证需要提前从受保护来源读取访问令牌并在mcp_servers条目里增加authorization_token字段传入。默认情况下mcp_toolset会启用远程 MCP Server 暴露的全部工具。如果只想暴露一部分工具可以在mcp_toolset中用default_config和configs做 allowlist 或 denylist。例如把默认值设为禁用再显式启用少量工具{ type: mcp_toolset, mcp_server_name: shardingsphere, default_config: { enabled: false }, configs: { database_gateway_search_metadata: { enabled: true }, database_gateway_validate_runtime_database: { enabled: true } } }对于只读助手或受控试用环境文档建议显式禁用不需要的写入类工具。验证接入成功文档把验证分成识别成功和调用成功两层识别成功先用一条最小请求确认mcp_servers与mcp_toolset已正确配对没有触发服务名不匹配或 toolset 悬空错误。调用成功在 Claude 会话中执行一条最小验证任务例如查看logic_db中有哪些表查看orders表的列和索引对已经配置的 runtime database 调用database_gateway_validate_runtime_database。如果 Claude 能返回来自 ShardingSphere-MCP 的工具结果说明接入已经生效。另外要区分平台侧接入和 MCP Server 侧就绪。仅有 MCP Server 进程启动并不代表目标运行时数据库已经可用连接失败、权限不足或逻辑库不可见仍会阻断后续任务。可以按部署说明的健康检查顺序确认服务进程与端点可达HTTP 模式下确认进程已启动、端口已监听且http://127.0.0.1:18088/mcp与网关转发目标一致MCP 协议已就绪确认 MCP Server 已被识别或按协议调试示例完成initialize和能力读取如果只能确认 HTTP 返回但读不到 capabilities、resources 或 tools说明端点可达但协议尚未接通运行时数据库已就绪读取shardingsphere://runtime确认 transport、runtime 数据库摘要和运行状态可见再执行上面的最小任务。接入失败时优先检查哪些项文档给出的排查顺序是否携带了anthropic-beta: mcp-client-2025-11-20请求头mcp_servers中的name和mcp_toolset中的mcp_server_name是否严格一致远程地址是否为 Anthropic 平台可访问且已受保护的 HTTPS MCP endpoint而不是本地127.0.0.1地址或直接暴露的未认证内置 HTTP Server。如果工具调用阶段才失败结合shardingsphere://runtime的运行时状态和logs/mcp.log日志定位错误分类和恢复建议见常见问题。限制与边界Anthropic MCP Connector 当前只支持远程 HTTP MCP Server不支持本地STDIO进程当前平台侧只支持 tool calls不提供完整 MCP 资源面接入该功能要求anthropic-beta: mcp-client-2025-11-20请求头beta 版本更新后需同步调整调用配置本页路径只适用于 Anthropic 平台 API。如果是在 Claude Code CLI 中接入走的是另一篇文档说明的方式见客户端集成。相关文档快速开始配置说明部署说明能力清单Anthropic MCP Connector 原文【免费下载链接】shardingsphereEmpowering Data Intelligence with Distributed SQL for Sharding, Scalability, and Security Across All Databases.项目地址: https://gitcode.com/GitHub_Trending/sh/shardingsphere创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表