项目简介
'ChromaDB Remote MCP Server' 是一个实现 Model Context Protocol (MCP) 的服务器,旨在让大型语言模型(LLM)客户端(如 Claude、Gemini)能够远程访问和操作自托管的 ChromaDB 向量数据库。它将 ChromaDB 的功能通过标准化的 MCP 协议和 REST API 代理暴露出来,实现跨设备、跨平台的 AI 记忆和知识库共享。
主要功能点
- 跨平台 AI 记忆共享: 允许所有兼容 MCP 的 AI 客户端(如 Claude 桌面版、移动版、代码版、Gemini 等)连接到同一个 ChromaDB 实例,实现统一的记忆和上下文。
- 自托管与隐私: 您的数据完全由您自己控制和托管,保证数据隐私和安全性。
- 远程访问: 支持通过 Tailscale VPN、Cloudflare Tunnel 或公共网络进行连接,实现从任何地点安全访问您的 ChromaDB。
- 完整 ChromaDB 支持: 通过 MCP 工具集提供 ChromaDB 的所有核心 CRUD 操作,包括集合管理、文档添加、语义搜索、文档检索和更新等。
- REST API 代理: 除了 MCP 协议,还为 Python/JavaScript 客户端提供 ChromaDB REST API 的直接代理访问。
- 统一认证: 支持通过单个认证令牌保护 MCP 和 REST API 端点,提供多种认证方式(Bearer Token、X-Chroma-Token、URL 参数)。
- 易于部署: 提供 Docker 一键安装脚本,简化部署流程。
安装步骤
本服务器推荐使用 Docker 进行部署,提供两种安装方式:
方式一:一键安装 (推荐)
运行以下命令即可自动下载配置、生成令牌并启动服务:
curl -fsSL https://raw.githubusercontent.com/meloncafe/chromadb-remote-mcp/release/scripts/install.sh | bash
安装完成后,脚本将显示您的认证令牌和连接 URL。
方式二:手动 Docker 安装
- 创建目录并下载配置文件:
mkdir chromadb-remote-mcp && cd chromadb-remote-mcp curl -O https://raw.githubusercontent.com/meloncafe/chromadb-remote-mcp/release/docker-compose.yml curl -O https://raw.githubusercontent.com/meloncafe/chromadb-remote-mcp/release/.env.example - 配置环境变量:
复制 '.env.example' 为 '.env' 文件,并编辑其中的 'MCP_AUTH_TOKEN'。出于安全考虑,强烈建议为 'MCP_AUTH_TOKEN' 生成一个强密码。
cp .env.example .env # 编辑 .env 文件,设置 MCP_AUTH_TOKEN (例如: MCP_AUTH_TOKEN=你的安全令牌) # 可以使用以下命令生成安全令牌: # node -e "console.log(require('crypto').randomBytes(32).toString('base64url'))" # 或者 openssl rand -base64 32 | tr '+/' '-_' | tr -d '=' - 启动服务:
docker compose up -d - 检查服务状态:
预期返回 '{"status":"ok", ...}' 表示服务器正常运行。curl http://localhost:8080/health
MCP 客户端连接配置
对于 Claude Desktop/Mobile 客户端(需通过 'mcp-remote' 包装器连接):
您需要编辑 Claude 桌面版的配置文件(例如 macOS: '~/Library/Application Support/Claude/claude_desktop_config.json'),在 'mcpServers' 部分添加如下 JSON 配置。请替换 'https://<你的服务器地址或域名>/mcp?apiKey=YOUR_TOKEN' 中的占位符。
{ "mcpServers": { "chromadb": { "command": "npx", "args": [ "-y", "mcp-remote", "https://<你的服务器地址或域名>/mcp?apiKey=YOUR_TOKEN" ] } } }
- server name: 'chromadb' (客户端显示的服务器名称,可自定义)
- command: 'npx' (用于执行本地 'mcp-remote' 包装器的命令)
- args:
- '-y': 'npx' 参数,表示自动安装缺失的包。
- 'mcp-remote': 'mcp-remote' 包装器包的名称。
- 'https://<你的服务器地址或域名>/mcp?apiKey=YOUR_TOKEN': 你的 ChromaDB 远程 MCP 服务器的完整连接 URL。
- '<你的服务器地址或域名>': 替换为你的服务器的实际 IP 地址或域名。
- 'YOUR_TOKEN': 替换为你在服务器配置中 '.env' 文件里设置的 'MCP_AUTH_TOKEN'。这是客户端用于连接服务器的认证令牌,请确保填写正确。
对于 Claude Code 客户端(使用 CLI 命令直接连接):
在命令行中运行以下命令,替换连接 URL 和认证令牌:
# 使用查询参数认证 (推荐,但会显示在 URL 中) claude mcp add --transport http chromadb https://<你的服务器地址或域名>/mcp?apiKey=YOUR_TOKEN # 或者使用 Header 认证 (更安全) claude mcp add --transport http chromadb https://<你的服务器地址或域名>/mcp \ --header "Authorization: Bearer YOUR_TOKEN"
基本使用方法
连接成功后,您的 AI 助手即可通过调用 ChromaDB 提供的工具来执行以下操作:
- 创建/删除集合: 'chroma_create_collection', 'chroma_delete_collection'
- 管理文档: 'chroma_add_documents', 'chroma_update_documents', 'chroma_delete_documents'
- 语义搜索: 'chroma_query_documents'
- 获取信息: 'chroma_list_collections', 'chroma_get_collection_info', 'chroma_get_collection_count', 'chroma_get_documents'
- 浏览集合: 'chroma_peek_collection'
AI 助手将根据您的指令自动选择并调用这些工具来与 ChromaDB 进行交互。
信息
分类
AI与计算