GraphJin MCP 服务端

使用说明(Markdown 格式):

  • 项目简介

    • 该仓库实现了一个 MCP(Model Context Protocol)服务器端能力,能够以标准化的 JSON-RPC 方式向 LLM 客户端提供资源、工具和提示模板等上下文相关能力,并支持会话管理与能力声明,便于在 AI 助手场景中与数据库后端进行安全、可扩展地上下文服务对接。
  • 主要功能点

    • MCP 协议支持:实现基于 MCP 的 JSON-RPC 请求/响应流程,支持通过 STDIO(命令行交互)以及 HTTP 代理模式与客户端通信。
    • 资源与工具管理:托管与管理 Resources(数据访问能力)以及 Tools(外部功能注册与执行)。
    • Prompt 与模板渲染:提供可定制的 Prompt 模板方案,方便 LLM 与后端的交互模式定制。
    • 会话与能力声明:服务器端负责会话管理、能力声明与安全策略,确保上下文服务的可控性。
    • 多传输模式支持:内置 STDIO 模式用于直接嵌入式 AI 客户端;HTTP 代理模式通过 Claude Desktop 等工具实现远程 MCP 通信。
  • 安装与运行步骤

    • 构建与启动
      • 根据仓库提供的命令行入口,构建 GraphJin 二进制后使用 MCP 子命令启动 MCP 服务。典型使用方式为在 GraphJin 服务就绪后,运行 MCP 模式以开启 STDIO 或 HTTP 服务。
    • 运行模式
      • STDIO 模式(默认/本地直接通信):graphjin mcp
        • 适用于直接在同一进程内与 LLM 客户端通过标准输入输出进行 MCP 通信。
      • HTTP 代理模式(对接 Claude Desktop 等外部客户端):graphjin mcp --server http://<host>:<port>
        • 将 MCP 请求转发到指定的远程 MCP 服务器端点,便于与 Claude Desktop 等工具在网络环境下对接。
    • Claude Desktop 配置示例(客户端配置,需在 Claude Desktop 侧使用)
      • 你需要在 Claude Desktop 的 MCP 配置中添加一个服务器条目,指向 GraphJin 提供的 MCP 服务器端点(命令行启动 GraphJin 的 MCP 服务后,本地/远端 HTTP 服务地址)。
      • 常见的配置格式如下(JSON,不是代码,便于理解): { "mcpServers": { "GraphJin Local": { "command": "/path/to/graphjin", "args": ["mcp", "--server", "http://localhost:8080"] } } }
      • 说明:command 为 GraphJin 执行文件的路径,args 为启动参数,其中 --server 指定要代理的 MCP 服务器地址;你也可以将 server 指向本地或远端的 MCP 服务端点,按实际环境配置。
  • 服务器配置与使用要点

    • MCP 服务器的配置文件(Claude Desktop 配置文件)应包含:
      • server 名称
      • 启动的可执行路径 (command)
      • 启动参数 (args),至少包含启动 MCP 的子命令与必要的服务地址信息
    • MCP 服务端点地址(HTTP 模式)通常为 http(s)://<host>/api/v1/mcp/message,Claude Desktop 客户端通过该地址发送 JSON-RPC 请求。
    • 如需本地测试,可以在 GraphJin 配置好数据库后,启动 GraphJin 的 MCP HTTP 服务并按上文 JSON 示例在 Claude Desktop 配置中指向该地址。
  • 基本使用方法

    • 步骤 1:启动 GraphJin 服务,并按照需要开启 MCP 相关能力(资源、工具、Prompts)及会话配置。
    • 步骤 2:如果使用 STDIO:直接在同一命令行执行 graphjin mcp,程序通过 STDIO 与 LLM 客户端对话。
    • 步骤 3:如果使用 HTTP 代理:在 Claude Desktop 或其他客户端中配置一个 MCP 服务器,指向 GraphJin 的 MCP HTTP 端点,并提供相应的启动参数。
    • 步骤 4:在 LLM 模型交互时,通过 MCP 请求来读取资源、注册工具、获取 Prompts,以及渲染并返回上下文信息。
  • 重要说明

    • 该仓库不仅包含服务器端实现,也包含 HTTP 代理与 STDIO 两种通信模式的实现逻辑,确保与 Claude Desktop 等工具的兼容性。
    • MCP 服务端需要正确的 GraphJin 配置(数据库、资源、工具、Prompts 等),以及对话会话的安全策略设置,以确保 LLM 调用外部功能的安全性和可控性。

服务器信息