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
, content
metadata
(key-value pairs)read_document
: Retrieve a document by ID
document_id
update_document
: Update an existing document
document_id
, content
metadata
delete_document
: Remove a document
document_id
list_documents
: List all documents
limit
, offset
search_similar
: Find semantically similar documents
query
num_results
, metadata_filter
, content_filter
uv 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/data
src/chroma/data
uv 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 content
Invalid filter
Operation 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 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 liuyoshio
Provides natural‑language search and recommendation for Model Context Protocol servers, delivering rich metadata and real‑time updates.
by ihor-sokoliuk
Provides web search capabilities via the SearXNG API, exposing them through an MCP server for seamless integration with AI agents and tools.
by fatwang2
Provides web and news search, URL crawling, sitemap extraction, deep‑reasoning, and trending topic retrieval via Search1API, exposed as an MCP server for integration with AI clients.
by cnych
Provides SEO data retrieval via Ahrefs, exposing MCP tools for backlink analysis, keyword generation, traffic estimation, and keyword difficulty, with automated CAPTCHA solving and response caching.