ChromaDB 知识图谱 MCP 服务器
使用说明内容(Markdown格式)
项目简介
- 该仓库实现了一个基于 MCP 的服务端,围绕一个知识图谱构建,使用 ChromaDB 作为后端存储与向量化检索,向 MCP 客户端提供对实体、关系、以及语义查询的接口。
主要功能点
- 实体管理:创建实体、添加观测、删除观测、删除实体
- 关系管理:创建关系、删除关系
- 查询能力:按语义查询实体、按实体名打开并获取相关信息、读取整张图谱
- 数据存储与检索:使用 ChromaDB 的持久化存储和向量检索能力进行语义匹配
- MCP 接口实现:通过 @mcp.tool() 装饰的函数暴露工具,符合 MCP 的工具执行语义
安装步骤
- 环境准备:需要 Python 3.x、Chromadb 及 MCP 库及其依赖
- 获取代码并进入项目目录
- 安装依赖(示例,实际请按仓库中的依赖说明执行)
- pip install chromadb
- pip install mcp
- 启动服务器
- 直接运行脚本:scripts/chromadb-mcp/server.py
- 该脚本中默认使用 stdio 传输,与 MCP 客户端的 JSON-RPC over stdin/stdout 方式通信
服务器配置 MCP 客户端连接该 MCP 服务器的配置示例(JSON 结构,字段含义): { "serverName": "chromadb-knowledge", "command": "python3", "args": ["scripts/chromadb-mcp/server.py"] } 说明:
- serverName:在你的 MCP 客户端配置中的服务器名称,建议与服务器实现的用途保持一致
- command:启动服务器的命令,一般为 Python 解释器
- args:启动命令所需的参数,这里指向服务器实现脚本的位置 备注:MCP 客户端不需要该仓库内的代码,以上信息仅用于描述如何在客户端侧配置与启动对接的服务器进程
基本使用方法
- 客户端与服务器的通信方式:通过 JSON-RPC 机制,客户端向服务器请求调用工具、读取数据、执行操作等,服务器返回相应的 JSON-RPC 响应。
- 常用操作示例(来自实现的工具集合):
- 创建实体、添加观测、查询图谱信息等,通过 MCP 客户端以工具调用的方式发起请求
- 通过 read_graph、search_nodes、open_nodes、read_graph 等工具获取图谱数据
- 运行与调试要点:
- 确保 ChromaDB 持久化路径可写
- 启动服务器后,客户端应通过 MCP 的标准接口与之通信,确保传输通道为 stdio
- 若遇到依赖或浏览器相关错误,请按照服务器输出的提示安装/配置依赖