向量数据库管理服务

一个基于ChromaDB的MCP服务器,提供向量嵌入、集合和文档管理功能。

  • by undervolting
  • Rust
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 volteditor/mcp.chroma

使用说明

🧠 mcp.色度

用于矢量嵌入、集合和文档管理的ChromaDB MCP服务器。

📋 概述

此MCP服务器提供了一个接口,用于 ChromaDB,一个用于嵌入的矢量数据库。它通过一组可通过MCP(模型控制器协议)接口访问的工具对集合和文档进行操作。

✨ 特性

  • 📊 收藏管理(创建、列出、修改、删除)
  • 📄 文档操作(添加、查询、获取、更新、删除)
  • 🧠 会话管理的思维处理
  • 🔌 多种客户端类型(HTTP、云、持久、临时)

🚀 安装

克隆存储库并使用Cargo构建:

git clone https://github.com/yourusername/mcp-chroma.git
cd mcp-chroma
cargo build --release

🛠️ 用法

设置环境

创建一个 .chroma_env 项目目录中包含配置参数的文件:

CHROMA_CLIENT_TYPE=ephemeral
CHROMA_HOST=localhost
CHROMA_PORT=8000

运行服务器

# Run with default configuration
./mcp-chroma

# Run with specific client type
./mcp-chroma --client-type http --host localhost --port 8000

# Run with persistent storage
./mcp-chroma --client-type persistent --data-dir ./chroma_data

可用客户端类型

  1. 短暂的:内存客户端(默认)
  2. 持久:具有持久性的本地存储客户端
  3. 超文本传输协议:通过HTTP远程客户端
  4. 云:托管云客户端

⚙️ 配置选项

选项 环境变量 描述 默认值
--client-type CHROMA_CLIENT_TYPE 客户端类型(临时、持久、http、云) 临时
--data-dir CHROMA_DATA_DIR 持久存储目录 无
--host CHROMA_HOST HTTP客户端主机 无
--port CHROMA_PORT HTTP客户端端口 无
--ssl CHROMA_SSL 对HTTP客户端使用SSL true
--tenant CHROMA_TENANT 云客户端租户 无
--database CHROMA_DATABASE 云客户端数据库 无
--api-key CHROMA_API_KEY 云客户端的API密钥 无
--dotenv-path CHROMA_DOTENV_PATH .env文件的路径 .chroma_env

🧰 工具

收藏工具

  • chroma_list_collections:列出所有收藏
  • chroma_create_collection:创建新收藏
  • chroma_peek_collection:预览集合中的文档
  • chroma_get_collection_info:获取集合的元数据
  • chroma_get_collection_count:统计收藏中的文档
  • chroma_modify_collection:更新集合属性
  • chroma_delete_collection:删除收藏

文档工具

  • chroma_add_documents:将文档添加到集合中
  • chroma_query_documents:搜索类似文档
  • chroma_get_documents:从集合中检索文档
  • chroma_update_documents:更新现有文件
  • chroma_delete_documents:从集合中删除文档

思维处理

  • process_thought:在正在进行的会议中处理想法

📝 例子

创建收藏

{
  "collection_name": "my_documents",
  "metadata": {
    "description": "A collection of example documents"
  }
}

查询文档

{
  "collection_name": "my_documents",
  "query_texts": ["What are the benefits of vector databases?"],
  "n_results": 3
}

🔧 与Claude整合

您可以通过设置以下配置将MCP Chroma与Claude一起使用:

{
  "mcpServers": {
    "chroma": {
      "command": "mcp-chroma",
      "args": [
        "--client-type",
        "http",
        "--host",
        "localhost",
        "--port",
        "8000"
      ],
      "env": {
        "CHROMA_API_KEY": "<YOUR_API_KEY>"
      }
    }
  }
}

🖥️ 与Cursor集成

要将MCP Chroma与Cursor一起使用,请将以下内容添加到您的 .vscode/mcp.json 文件:

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "chroma_api_key",
        "description": "ChromaDB API Key",
        "password": true
      }
    ],
    "servers": {
      "chroma": {
        "command": "mcp-chroma",
        "args": [
          "--client-type",
          "http",
          "--host",
          "localhost",
          "--port",
          "8000"
        ],
        "env": {
          "CHROMA_API_KEY": "${input:chroma_api_key}"
        }
      }
    }
  }
}

📄 许可证

MIT许可证