概览
What is mcp.chroma?
A Rust-based MCP server that provides a model‑context–protocol interface to ChromaDB, a vector database for embeddings. It enables collection and document management through a set of tools, supporting multiple client types (HTTP, Cloud, Persistent, Ephemeral).
How to use mcp.chroma?
Clone the repository, build with Cargo (cargo build --release), create a .chroma_env file or use command‑line options (e.g., --client-type, --host, --port), then run the binary. Configure the client type, host, port, SSL, tenant, database, and API key either via environment variables or CLI flags.
Key features of mcp.chroma
- Collection management: create, list, modify, delete
- Document operations: add, query, get, update, delete
- Multiple client types: ephemeral, persistent, HTTP, cloud
- Thought processing for session management
Use cases of mcp.chroma
- Create and manage vector document collections for semantic search
- Query collections to find documents similar to a given text
- Integrate vector database operations into AI assistants like Claude or Cursor
- Store and retrieve embeddings for RAG (retrieval‑augmented generation) pipelines
FAQ from mcp.chroma
What client types are available?
Ephemeral (in‑memory), Persistent (local storage), HTTP (remote), and Cloud (managed). The default is ephemeral.
How do I configure the server?
Use a .chroma_env file with environment variables such as CHROMA_CLIENT_TYPE, CHROMA_HOST, CHROMA_PORT, CHROMA_API_KEY, etc., or pass the corresponding CLI flags (e.g., --client-type, --host, --port).
Can I use mcp.chroma with Claude or Cursor?
Yes. The README includes example configuration blocks for both Claude (via mcpServers in a JSON config) and Cursor (via .vscode/mcp.json), specifying the command, args, and environment variables.
What transport does the server use?
The README does not explicitly mention the transport protocol beyond stating it follows the MCP protocol. The examples show an HTTP‑based client type, implying support for HTTP transport.
Are there any runtime dependencies?
The server is built in Rust and requires Cargo to compile. At runtime it depends on a running ChromaDB instance when using the HTTP or Cloud client types; the ephemeral and persistent clients do not require an external database.