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 服务器特性,而非仅示例代码。