by privetin
Provides vector database capabilities through Chroma, enabling semantic document search, metadata filtering, and persistent storage for documents.
Chroma MCP Server implements a Model Context Protocol (MCP) service that leverages the Chroma vector store to persist documents, their metadata, and embeddings. It exposes CRUD operations and similarity‑search tools so clients can create, read, update, delete, list, and query documents based on semantic meaning.
uv venv
uv sync --dev --all-extras
uv run chroma
create_document, read_document, update_document, delete_document, list_documents, search_similar) either from a Python client or through the MCP Inspector web UI.claude_desktop_config.json as shown in the README to allow the desktop client to launch the server automatically.src/chroma/data and survives restarts.Q: What Python version is required? A: Python 3.8 or newer.
Q: Which Chroma version does it depend on? A: Chroma 0.4.0 or later.
Q: How are embeddings generated? A: Chroma handles embedding creation internally using the configured model; the server only stores the resulting vectors.
Q: Where is the data stored?
A: In the src/chroma/data directory on the host machine (same path for Windows, macOS, and Linux).
Q: Can I run the server inside a container?
A: Yes – ensure the container has Python 3.8+, uv, and the project files, then execute uv run chroma as the entrypoint.
Q: How do I view logs or debug errors? A: The server prints logs to stdout; the MCP Inspector UI also displays request/response details and error messages.
A Model Context Protocol (MCP) server implementation that provides vector database capabilities through Chroma. This server enables semantic document search, metadata filtering, and document management with persistent storage.
The server provides document storage and retrieval through Chroma's vector database:
src/chroma/data directoryThe server implements CRUD operations and search functionality:
create_document: Create a new document
document_id, contentmetadata (key-value pairs)read_document: Retrieve a document by ID
document_idupdate_document: Update an existing document
document_id, contentmetadatadelete_document: Remove a document
document_idlist_documents: List all documents
limit, offsetsearch_similar: Find semantically similar documents
querynum_results, metadata_filter, content_filteruv venv
uv sync --dev --all-extras
Add the server configuration to your Claude Desktop config:
Windows: C:\Users\<username>\AppData\Roaming\Claude\claude_desktop_config.json
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"chroma": {
"command": "uv",
"args": [
"--directory",
"C:/MCP/server/community/chroma",
"run",
"chroma"
]
}
}
}
The server stores data in:
src/chroma/datasrc/chroma/datauv run chroma
# Create a document
create_document({
"document_id": "ml_paper1",
"content": "Convolutional neural networks improve image recognition accuracy.",
"metadata": {
"year": 2020,
"field": "computer vision",
"complexity": "advanced"
}
})
# Search similar documents
search_similar({
"query": "machine learning models",
"num_results": 2,
"metadata_filter": {
"year": 2020,
"field": "computer vision"
}
})
The server provides clear error messages for common scenarios:
Document already exists [id=X]Document not found [id=X]Invalid input: Missing document_id or contentInvalid filterOperation failed: [details]npx @modelcontextprotocol/inspector uv --directory C:/MCP/server/community/chroma run chroma
uv compile pyproject.toml
uv build
Contributions are welcome! Please read our Contributing Guidelines for details on:
This project is licensed under the MIT License - see the LICENSE file for details.
Please log in to share your review and rating for this MCP.
Explore related MCPs that share similar capabilities and solve comparable challenges
by exa-labs
Provides real-time web search capabilities to AI assistants via a Model Context Protocol server, enabling safe and controlled access to the Exa AI Search API.
by perplexityai
Enables Claude and other MCP‑compatible applications to perform real‑time web searches through the Perplexity (Sonar) API without leaving the MCP ecosystem.
by MicrosoftDocs
Provides semantic search and fetch capabilities for Microsoft official documentation, returning content in markdown format via a lightweight streamable HTTP transport for AI agents and development tools.
by elastic
Enables natural‑language interaction with Elasticsearch indices via the Model Context Protocol, exposing tools for listing indices, fetching mappings, performing searches, running ES|QL queries, and retrieving shard information.
by graphlit
Enables integration between MCP clients and the Graphlit platform, providing ingestion, extraction, retrieval, and RAG capabilities across a wide range of data sources and connectors.
by mamertofabian
Fast cross‑platform file searching leveraging the Everything SDK on Windows, Spotlight on macOS, and locate/plocate on Linux.
by cr7258
Provides Elasticsearch and OpenSearch interaction via Model Context Protocol, enabling document search, index management, cluster monitoring, and alias operations.
by kagisearch
Provides web search and video summarization capabilities through the Model Context Protocol, enabling AI assistants like Claude to perform queries and summarizations.
by liuyoshio
Provides natural‑language search and recommendation for Model Context Protocol servers, delivering rich metadata and real‑time updates.