SDMX MCP Gateway
使用说明(Markdown格式)
-
项目简介
- 该仓库实现了一个 MCP 服务器,用于对 SDMX 数据源进行渐进式发现、结构查询、代码表浏览、数据可用性检查等操作,并通过 JSON-RPC 的 MCP 协议与客户端进行交互。它支持 STDIO(开发阶段)和 Streamable HTTP(生产阶段)两种传输方式,具备多用户会话管理能力,能够为 LLM 客户端提供可控、可审计的上下文服务。
-
主要功能点
- 渐进式发现工具:列出数据流、获取数据结构、获取维度代码等,避免一次性传输大量元数据。
- 数据资源与工具:提供对 SDMX 数据流、数据结构、数据代码表等资源的读取与查询;具备数据可用性、数据URL构建等工具。
- Prompts 与指引:提供引导性提示与对话式查询构建的模版。
- MCP 客户端支持:通过 MCP 的工具、资源、提示接口暴露能力,支持多种传输协议(STDIO、HTTP、Streamable HTTP)。
- 会话与端点管理:支持多用户会话,上下文感知的端点切换,末端对等交互。
- Mermaid 图谱渲染:为结构关系生成 Mermaid 代码,便于理解数据之间的关系与依赖。
-
安装步骤
-
- 准备环境
- Python 3.12 及以上
-
- 安装依赖
- 使用 README 中的推荐方法,安装 uv、依赖库等
-
- 运行服务器(开发/STDIO)
- uv run python main_server.py
-
- 生产模式(Streamable HTTP)
- uv run python main_server.py --transport http --port 8000 --stateless --json-response
-
- MCP Inspector 调试与开发模式
- 参考 README 的命令,如 uv run mcp dev ./main_server.py
-
-
服务器配置(MCP 客户端需要的配置示例) 说明:以下为 JSON 形式的配置示例,描述服务器名称、启动命令及参数,供 MCP 客户端在连接时使用。实际使用时请将路径和参数替换为你的部署环境中的实际值。 { "server_name": "SDMX Data Gateway", "command": "uv", "args": [ "run", "--directory", "/path/to/sdmx-mcp-gateway", "python", "main_server.py", "--transport", "http", "--port", "8000", "--stateless", "--json-response" ], "description": "MCP 服务器,提供 SDMX 渐进式发现与查询服务。" }
-
基本使用方法
- 启动服务器后,客户端通过 MCP JSON-RPC 调用工具、资源和提示来交互,获得结构信息、构造查询 URL、检查数据可用性等。
- 支持多用户会话,客户端应在请求中提供会话标识以实现端点分离与并发访问的安全性。
-
备注
- 本实现包含服务器核心组件、会话管理、工具实现、资源与 Prompts,并提供对 SDMX REST API 的渐进式访问模式,适合嵌入到包含大语言模型的自动化工作流中。