MIE-MCP 服务器

使用说明

  • 项目简介

    • 该仓库实现了一个完整的 MCP 服务器,能够通过 JSON-RPC 2.0 的格式接收来自 LLM 客户端的请求,向内存图(MIE 图)提供上下文、资源、工具等能力,并返回结构化的 JSON-RPC 响应。它还包含一个守护进程(Daemon)实现,支持多客户端对同一数据库的并发访问和锁管理。
  • 主要功能点

    • MCP 服务器核心:实现 initialize、tools/list、tools/call、resources/list、resources/read、以及通用的错误处理和方法未找到等用例,符合 MCP 协议核心流程。
    • 工具(Tools)注册与执行:mie_analyze、mie_store、mie_bulk_store、mie_query、mie_get、mie_update、mie_list、mie_conflicts、mie_export、mie_status、mie_delete、mie_repair 等,提供对内存图的增删改查、图遍历和导出导入能力。
    • 资源与模板:可通过 resources/read、resources/list 提供资源信息与上下文内容。
    • 会话与能力:支持会话上下文、嵌入式向量检索等能力,提供多种传输和可扩展的后端实现。
    • Daemon 机制:MCP 服务器在后台有 daemon 管理,支持多实例共用同一个数据库,确保并发安全与锁管理。
    • 测试覆盖:包含大量与 MCP 协议相关的单元测试,验证 initialize、工具调用、错误处理、图遍历等场景。
  • 安装步骤

    • 使用 cozodb 标签来编译,确保 CGO 与 CozoDB 依赖已就绪。
    • 构建命令示例(需在包含 cozodb 标记的环境下执行):
      • 将项目编译为可执行文件(示例,不提供具体代码块,便于理解):在包含 COZODB 的构建标志下构建 mie,可生成用于 MCP 的二进制。
    • 运行 MCP 服务器
      • 直接使用命令行启动并开启 MCP 服务:mie --mcp
      • 或守护进程模式:mie daemon start
    • 服务端端口或套接字
      • MCP 服务器通过标准输入输出进行 JSON-RPC 通信(在 STDIO 模式下),亦可通过 Daemon 提供的 Unix 域套接字进行多客户端访问(Daemon 机制实现了跨进程复用)。
    • 配置依赖
      • 需要具备 CozoDB 静态编译依赖(CGO/C 库),并在运行环境中确保 RocksDB/SQLite 等后端可用,嵌入向量模型可选。
    • 本地测试
      • 仓库内提供了 E2E/单元测试覆盖 MCP 服务器行为,可直接运行相关测试验证。
  • 服务器配置(JSON,供 MCP 客户端接入时在本地作对接配置参考)

    • 服务器名称(name): mie
    • 启动命令(command): mie
    • 启动参数(args): ["--mcp"]
    • 说明:该配置用于在客户端横向扩展时指定一个名为 mie 的 MCP 服务器实例,客户端通过该条配置连接到 MCP 服务端。实际客户端无需该仓库的代码即可使用该服务器,但需要在客户端配置中引用本 MCP 服务器名称与对应命令及参数,以便连接建立。

    JSON 示例(解释性描述,非代码块呈现)

    • { "name": "mie", "command": "mie", "args": ["--mcp"] } 说明:name 为 MCP 服务器在客户端配置中的标识,command 为启动服务器的命令,args 为传给命令的参数列表(此处为开启 MCP 模式的参数)。
  • 基本使用方法

    • 启动方式
      • 在前台直接启动 MCP 服务器:mie --mcp
      • 以守护进程方式启动,daemon 模式管理多实例访问:mie daemon start
    • 客户端接入
      • 在 MCP 客户端(Claude/Cursor/ChatGPT 等)配置中,指向上述 bie/server 的命令与参数,以建立 JSON-RPC 通道。
    • 常用操作
      • 初始化图谱、导出/导入、查询、分析、存储、图遍历等工具均通过 MCP 提供的工具集合来实现。
    • 运行环境要点
      • 需要 Go 1.XX+(编译时开启 cozodb 标签),CGO 环境、CozoDB 及依赖库正确安装并可访问。
      • 嵌入式向量模型可选,若开启则需要嵌入提供者(如 Ollama、OpenAI、Nomic)的相关配置生效。
  • 备注

    • 该实现包含完整的 MCP 协议支持、工具与资源操作、Prompts/模板渲染、以及 Daemon 支持,具备可运行的 MCP 服务器特性,而非仅示例代码。

服务器信息