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
    • 若遇到依赖或浏览器相关错误,请按照服务器输出的提示安装/配置依赖

服务器信息