如何把 ShardingSphere-MCP 接入 ChatGPT Developer Mode 的远程 MCP App

如何把 ShardingSphere-MCP 接入 ChatGPT Developer Mode 的远程 MCP App 如何把 ShardingSphere-MCP 接入 ChatGPT Developer Mode 的远程 MCP App【免费下载链接】shardingsphereEmpowering Data Intelligence with Distributed SQL for Sharding, Scalability, and Security Across All Databases.项目地址: https://gitcode.com/GitHub_Trending/sh/shardingsphere目标是在 ChatGPT Web 产品里创建一个远程 MCP App指向一个已经在运行的 ShardingSphere-MCP HTTP Server让 ChatGPT 会话能直接调用它暴露的元数据查询、受控 SQL 查询和database_gateway_validate_runtime_database接入前校验等工具而不经过自定义后端代码。这条路径的前提均来自项目文档ShardingSphere-MCP 已通过快速开始流程以HTTP 模式启动且runtimeDatabases已指向可用的 ShardingSphere-Proxy 逻辑库或数据库直连目标暴露给 ChatGPT 的是一个可被 ChatGPT 访问且已受保护的远程 endpoint。ShardingSphere-MCP 内置 HTTP Server 不提供认证或授权不支持直接裸露到公网必须放在受信网关或反向代理后面由外层组件提供 TLS 终止、身份认证、授权策略、网络访问控制和审计日志该 endpoint 需要支持SSE或streaming HTTP已准备可用的 ChatGPT Web 账号。当前 Developer Mode 在 Web 端 Beta 提供给 Pro、Plus、Business、Enterprise 和 Education 账号提前确定受保护 endpoint 使用OAuth、No Authentication或Mixed Authentication中的哪一种。No Authentication仅适用于受控私有测试或外层网络边界已经限制访问的 endpoint。第一步构建并以 HTTP 模式启动 MCP Server在仓库根目录执行构建命令要求JAVA_HOME或PATH中可用的 JDK 21./mvnw -pl distribution/mcp -am -DskipTests package进入发行包目录。${version}需要替换为实际构建出的版本例如5.5.4-SNAPSHOTcd distribution/mcp/target/apache-shardingsphere-mcp-${version}预期结果当前目录包含bin/、conf/、lib/。编辑默认配置文件conf/mcp-http.yaml把runtimeDatabases指向已有的 ShardingSphere-Proxy 逻辑库。下面的logic_db、127.0.0.1:3307、root和空密码都是文档示例值需按实际连接信息调整MCP Server 会从jdbcUrl解析数据库类型transport: type: HTTP http: bindHost: 127.0.0.1 port: 18088 endpointPath: /mcp runtimeDatabases: logic_db: jdbcUrl: jdbc:mysql://127.0.0.1:3307/logic_db username: root password: driverClassName: com.mysql.cj.jdbc.Driverusername和driverClassName是必填项password可选项无密码账号可以省略或写。如果目标 JDBC 驱动没有随发行包提供默认发行包包含 MySQL、PostgreSQL、Oracle、SQL Server 和 openGauss 数据库类型连接器以及 MySQL、PostgreSQL 和 openGauss JDBC 驱动先把驱动 jar 放入发行包根目录下的plugins/再启动。启动 HTTP MCP ServerUnix-like 系统bin/start.sh logs/mcp-http.log 21 默认端点是http://127.0.0.1:18088/mcp。注意这个本地地址只用于本机确认服务已启动接入 ChatGPT 时填写的必须是受保护的远程地址不能是127.0.0.1。启动后按部署说明的健康检查顺序确认服务真正可用而不是只确认端口可达进程已启动、端口已监听http://127.0.0.1:18088/mcp与客户端将要使用的路径一致MCP 协议已就绪能读取到 capabilities 和 tools——如果只有 HTTP 返回但读不到工具列表说明端点可达但协议尚未接通运行时数据库已就绪读取shardingsphere://runtime确认 transport 和 runtime 数据库摘要可见调用database_gateway_validate_runtime_database或执行“查看logic_db中有哪些表”这类最小任务。仅有 MCP Server 进程启动并不表示目标运行时数据库可用连接失败、权限不足或逻辑库不可见都会阻断后续任务。可选分支用官方 OCI 镜像运行部署说明同时提供了官方 OCI 镜像方式示例引用是ghcr.io/apache/shardingsphere-mcp:5.5.4公开 server name 为io.github.apache/shardingsphere-mcp元数据位于 mcp/server.json。以 HTTP 模式运行时配置文件中的transport.http.bindHost应绑定到容器可暴露的网络接口例如0.0.0.0容器内通过SHARDINGSPHERE_MCP_CONFIG环境变量指定配置文件路径。运行命令${latest.release.version}需替换为实际版本号/path/to/...需替换为你本机配置文件与插件目录的实际路径docker run --rm -p 18088:18088 \ -e SHARDINGSPHERE_MCP_CONFIG/opt/shardingsphere-mcp/conf/custom-mcp-http.yaml \ -v /path/to/mcp-http.yaml:/opt/shardingsphere-mcp/conf/custom-mcp-http.yaml:ro \ -v /path/to/plugins:/opt/shardingsphere-mcp/plugins:ro \ ghcr.io/apache/shardingsphere-mcp:${latest.release.version}注意镜像内置的conf/mcp-http-docker.yaml可以配合空的runtimeDatabases启动但使用元数据、SQL 或规则能力前需要先准备自定义配置文件。第二步把 endpoint 放在受信网关后面接入 ChatGPT 的前提是 endpoint 已受保护且支持SSE或streaming HTTP。部署说明给出的最小布局是“外层入口负责 HTTPSShardingSphere-MCP 继续在受控网络中提供 HTTP”。以 Nginx 为例其他反向代理、Ingress、ALB 或 API Gateway 满足同样边界即可采用相同思路ShardingSphere-MCP 侧保持绑定回环地址transport: type: HTTP http: bindHost: 127.0.0.1 port: 18088 endpointPath: /mcpNginx 侧转发并终止 TLS证书路径按你的部署环境替换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 进程不直接管理公网证书认证、授权、限流和网络访问控制由外层网关处理而不是内置 HTTP Server 处理。可选配置如果外层网关已能识别调用方身份可以启用transport.http.sessionAttributionSourcesubjectHeader、sourceHeader、attributeHeaderPrefix让网关注入会话归属请求头用于把 MCP 会话和外部用户或调用来源关联。该配置不提供认证或授权且只有确认客户端不能直接伪造这些请求头时才应启用不需要时直接省略。配置含义与请求头接线原则见配置说明和部署说明。第三步在 ChatGPT Developer Mode 中创建 App 并填写远程地址在 ChatGPT Web 中进入Settings - Apps - Advanced settings - Developer mode启用 Developer Mode。打开 App 设置页使用Create app为 ShardingSphere-MCP 创建一个新的 app。在 app 配置中填写 ShardingSphere-MCP 的受保护远程地址并选择与 endpoint 实际配置匹配的认证方式OAuthNo Authentication仅适用于受控私有测试或已经由外层边界限制访问的 endpointMixed Authentication保存 app 配置并在 app 详情页刷新工具列表使 ChatGPT 从 ShardingSphere-MCP 拉取最新工具和描述。验证接入是否生效识别成功在 app 设置页中确认新建的 ShardingSphere-MCP app 已经出现并能看到导入的工具列表在 ChatGPT 会话中切换到 Developer Mode并选中该 app。调用成功先执行一条最小验证任务任选其一查看logic_db中有哪些表查看orders表的列和索引对已经配置的 runtime database 调用database_gateway_validate_runtime_database。如果 ChatGPT 能识别到对应 app并能按预期调用导入工具说明接入已经生效。接入失败时先检查哪些项远程 MCP 地址是否为 ChatGPT 可访问且已受保护的远程地址而不是本地127.0.0.1地址或直接暴露的未认证内置 HTTP Serverapp 保存后是否已刷新工具列表并成功拉取到 ShardingSphere-MCP 暴露的工具app 中选择的认证模式是否与 MCP Server 及其外层网关的实际配置一致工具调用能连上但数据库任务失败时按常见问题中的连接错误分类如authentication_failed、authorization_failed、database_not_visible定位并注意区分是网关转发问题、数据库权限问题还是runtimeDatabases配置问题。边界与注意事项该入口只适用于远程 MCP Server不适用于本地STDIO进程。ChatGPT Developer Mode 支持读写工具。涉及 SQL 执行或规则变更时应仔细审查模型发起的写操作和审批提示副作用操作修改数据、结构、规则、权限或事务状态需要先预览再确认执行。如果一个会话中同时启用了多个 app建议在提示中显式指定应优先使用 ShardingSphere-MCP。本页路径只覆盖 ChatGPT 产品界面接入不覆盖通过 OpenAI API 的代码集成后者走 OpenAI Responses API 文档。下一步接入后能用哪些任务、各连接目标Proxy 逻辑库或数据库直连的能力边界见能力清单。部署拓扑、会话归属接线与最小排障信息见部署说明配置项细节见配置说明。【免费下载链接】shardingsphereEmpowering Data Intelligence with Distributed SQL for Sharding, Scalability, and Security Across All Databases.项目地址: https://gitcode.com/GitHub_Trending/sh/shardingsphere创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考