返回 MCP 目录
public公开dns本地运行

chroma

基于Chroma的MCP向量数据库服务,提供文档存储与语义搜索功能

article

README

🚀 Chroma MCP 服务器

Chroma MCP 服务器是一个借助 Chroma 实现的 Model Context Protocol (MCP) 服务器,具备向量数据库功能。它支持语义文档搜索、元数据过滤和文档管理,还能进行持久化存储,为用户提供高效的文档处理体验。

🚀 快速开始

安装依赖

uv venv
uv sync --dev --all-extras

启动服务器

python -m mcp_server.main --host 0.0.0.0 --port 5000

✨ 主要特性

  • 语义搜索:借助 Chroma 的嵌入技术,依据文档意义进行查找。
  • 元数据过滤:可按照元数据字段对搜索结果进行过滤。
  • 内容过滤:能够基于文档内容进行额外过滤。
  • 持久化存储:在本地目录之间重启服务器时,数据可得以保留。
  • 错误处理:拥有全面的错误处理机制,提供清晰的错误消息。
  • 重试逻辑:可自动重试瞬时故障。

📦 安装指南

安装依赖

uv venv
uv sync --dev --all-extras

💻 使用示例

基础用法

文档管理

# 创建新文档
create_document(document_id="1", content="这是一个测试文档", metadata={"category": "测试"})

# 根据 ID 检索文档
read_document(document_id="1")

# 更新现有文档
update_document(document_id="1", content="这是更新后的测试文档", metadata={"category": "更新测试"})

# 删除文档
delete_document(document_id="1")

# 列出所有文档
list_documents()

搜索操作

# 找到语义相似的文档
search_similar(query="测试文档", num_results=5, metadata_filter={"category": "测试"})

📚 详细文档

组件

资源

该服务器借助 Chroma 的向量数据库提供文档存储和检索功能:

  • 可存储带内容和元数据的文档。
  • src/chroma/data 目录中进行持久化数据存储。
  • 支持语义相似性搜索。

工具

该服务器实现了 CRUD 操作和搜索功能:

文档管理
  • create_document:创建新文档

    • 必填:document_idcontent
    • 可选:metadata(键值对)
    • 返回:成功确认
    • 错误:已存在,无效输入
  • read_document:根据 ID 检索文档

    • 必填:document_id
    • 返回:文档内容和元数据
    • 错误:未找到
  • update_document:更新现有文档

    • 必填:document_idcontent
    • 可选:metadata
    • 返回:成功确认
    • 错误:未找到,无效输入
  • delete_document:删除文档

    • 必填:document_id
    • 返回:成功确认
    • 错误:未找到
  • list_documents:列出所有文档

    • 可选:limitoffset
    • 返回:包含内容和元数据的文档列表
搜索操作
  • search_similar:找到语义相似的文档
    • 必填:query
    • 可选:num_resultsmetadata_filtercontent_filter
    • 返回:带距离分数的相似文档 ranked 列表
    • 错误:无效过滤器

配置

Claude Desktop

将服务器配置添加到您的 Claude Desktop 配置中:

Windows: C:\Users\<username>\AppData\Local\Claude Labs\Claude 2\config.json

在文件末尾添加以下内容:

{
  "mcp-server": {
    "enabled": true,
    "host": "0.0.0.0",
    "port": 5000
  }
}

Windows 系统服务配置

  1. 创建一个新文件 mcp-service.json,内容如下:
{
  "name": "MCP Server",
  "description": "Chroma MCP Server",
  "start_command": "uvicorn mcp_server.main:app --host 0.0.0.0 --port 5000",
  "working_directory": "%USERPROFILE%",
  "autostart": true,
  "display": false
}
  1. 将文件保存在 C:\ProgramData\uvx 目录中。

错误处理

  • 常见错误:请检查端口是否被占用或配置是否正确。

开发测试

  1. 克隆仓库:
git clone https://github.com/your-repository.git
cd mcp_server
pip install -r requirements.txt
  1. 启动服务器进行开发:
uvicorn mcp_server.main:app --reload

贡献指南

  1. Fork 仓库。
  2. 创建功能分支。
  3. 提交更改。
  4. 创建 Pull Request。

📄 许可证

此项目受 LICENSE 文件中的许可证约束。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端