MCP 数据平台服务器

使用说明

  • 项目简介
    • mcp-data-platform 是一个完整的 MCP 服务器实现,能够管理 Resources(数据资源、对象存储等)、Tools(外部功能入口,如 Trino、DataHub、S3 等工具的注册与执行),并渲染 Prompts(提示模板)。服务器通过 JSON-RPC 风格的 MCP 协议与客户端通信,支持多种传输通道,具备会话管理、能力声明、审计日志等企业级特性,适合将数据资产的语义上下文注入到 AI 助手中,提升数据可发现性与安全性。
  • 主要功能点
    • MCP 协议核心处理:对 MCP 客户端发来的请求(读取资源、调用工具、获取 Prompts 等)进行解析并返回标准化的 JSON-RPC 响应。
    • 资源管理与数据访问:托管资源(如数据表、对象存储等)的元数据与实际内容读取,支持 DataHub、Trino 等工具的上下文注入。
    • 工具注册与执行:注册并执行外部工具(如 Trino 查询、DataHub 搜索、S3 列举等),支持跨服务的上下文注入与结果富化。
    • Prompts 模板:定义并渲染提示模板,提供统一的交互模式给 LLM。
    • 安全与审计:内置认证/授权中间件、审计日志、只读访问等企业安全特性;支持日志审计和作业追踪。
    • 多传输协议:stdio(本地执行)、SSE(服务端事件流)等传输方式,便于在不同的客户端场景下使用。
    • 插件化与中间件:丰富的中间件链(认证、授权、数据注入、药丸化等),便于扩展自定义业务规则。
  • 安装步骤
    • 通过 Go 安装或从源码构建并运行可执行文件:
      • go install github.com/txn2/mcp-data-platform/cmd/mcp-data-platform@latest
      • 或从源码构建并生成可执行文件 mcp-data-platform
  • 服务器配置(MCP 客户端配置示例)
    • MCP 客户端要与服务器建立连接,需提供服务器启动指令及参数(command 和 args)。
    • 下面给出一个准确的配置示例(仅为客户端使用说明,不包含敏感信息):
    • 配置示例(JSON 结构,说明字段含义): { "server": { "name": "mcp-data-platform", "command": "mcp-data-platform", "args": ["--config", "/path/to/platform.yaml"] } // 说明: // - name: MCP 服务器的唯一名称,便于客户端在多服务器场景中识别 // - command: 启动 MCP 服务器的命令(本地或容器中执行的二进制名) // - args: 启动命令的参数列表,通常包含路径到平台配置文件 // 注意:客户端不需要实现服务端逻辑,仅需要具备启动/连接服务器的能力 }
  • 基本使用方法
    • 启动服务器
      • 使用上面的命令示例启动服务:mcp-data-platform --config /path/to/platform.yaml
    • 连接客户端
      • 向 MCP 客户端提供服务器名称、启动命令及参数,客户端即可通过 MCP 协议向服务器发送诸如读取资源、调用工具、获取 Prompts 等请求,获取 JSON-RPC 风格的响应。
    • 运行与调试
      • 结合日志、审计和安全中间件,确保在生产环境中以 TLS、鉴权及审计等方式运行。

服务器信息