hdbconnect-mcp MCP 服务器

  • 使用说明

  • 项目简介 该仓库实现了面向模型上下文协议(MCP, 作为概念性背景,这里指 MCP 服务器端标准)的后端服务器,旨在向大型语言模型(LLM)提供对 SAP HANA 数据的上下文信息与访问能力。核心能力包括资源管理(数据访问)、工具注册与执行、以及 Prompt 模板渲染等。服务器通过 JSON-RPC 与客户端通信,处理读取资源、调用工具、获取 Prompts 等请求,并返回相应的 JSON-RPC 响应或通知。底层实现具备会话管理、能力声明,并支持多种传输协议(如 HTTP/JSON、STDIO、SSE、WebSocket),为 LLM 应用提供安全、可扩展的上下文服务。

  • 主要功能点

    • MCP 风格的命令与工具支持:Ping、List Tables、Describe Table、Execute SQL、Execute DML、Describe Procedures 等,方便 AI 助手在对话中直接探索与操作 HANA 数据库。
    • 安全与治理:只读默认、按用户缓存隔离、多租户隔离、对鉴权和进入点的安全校验。
    • 扩展能力:如缓存、鉴权、Prompts 与 资源的扩展路径,方便接入 Claude/Cline 等 MCP 客户端。
    • 多传输通道(协议层)设计:服务器端实现具备对接 MCP 客户端的能力,能通过标准化的 JSON-RPC 进行请求/响应。
  • 安装与运行

    • 该 MCP 服务器实现位于 hdbconnect-mcp crate,包含完整的服务器逻辑、错误处理、工具路由、以及与 SAP HANA 的交互封装。要运行它,需在具备 Rust 构建环境的机器上安装并编译该 crate(通常通过 cargo install hdbconnect-mcp 来安装命令行服务器)。随后可以通过 Claude Desktop 或其他 MCP 客户端指向该服务器。
  • 服务器配置(给 MCP 客户端的配置信息)

    • 服务器名称(server name):hana
    • 启动命令(command):hdbconnect-mcp
    • 启动参数(args)示例:["--url", "hdbsql://user:pass@hana:30015"]
    • 说明:该配置是 MCP 客户端在集成阶段需要的最低信息,客户端通过该 JSON 配置了解如何启动并连接到 MCP 服务器。注意,该处信息仅用于配置描述,实际客户端不需要包含在实现细节中的代码块。
  • 基本使用方法

    • 启动服务器后,MCP 客户端(如 Claude Desktop 等)通过配置中的命令与参数启动对应服务器进程,随后通过 MCP 的 JSON-RPC 调用访问 Ping、查询表结构、执行 SQL、执行 DML、获取表/过程描述等。
    • 客户端发送请求时,服务器将基于请求类型执行相应的数据库交互,并返回结构化的 JSON-RPC 响应。
    • 如需要扩展功能,可在服务器端增加新的 Tools 并通过 MCP 路由器对接到客户端的调用。

服务器信息