Chroma MCP Server
About
A vector database server powered by Chroma, enabling semantic document search, metadata filtering, and document management.
Details
- Author
- privetin
- Downloads
- 404
- Categories
- Database, Other, Knowledge Base
Jump to
- Semantic search using Chroma embeddings
- Metadata filtering on search results
- Content filtering for additional precision
- Persistent storage in a local directory
- Comprehensive error handling with clear messages
- Automatic retries for transient failures
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Chroma MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install dependencies with uv venv and uv sync --dev --all-extras, then start the server with uv run chroma. Add the configuration to your Claude Desktop config file to enable the server, then interact via MCP tools like create_document and search_similar.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"chroma mcp server": {
"chroma": {
"command": "uv",
"args": [
"venv"
]
}
}
}
}
McpServers
{
"chroma": {
"command": "uv",
"args": [
"venv"
]
}
}
Chroma MCP Server
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.
Requirements
- Python 3.8+
- Chroma 0.4.0+
- MCP SDK 0.1.0+
Components
Resources
The server provides document storage and retrieval through Chroma's vector database: - Stores documents with content and metadata - Persists data insrc/chroma/data directory
- Supports semantic similarity search
Tools
The server implements CRUD operations and search functionality:
Document Management
-create_document: Create a new document
- Required: document_id, content
- Optional: metadata (key-value pairs)
- Returns: Success confirmation
- Error: Already exists, Invalid input
- read_document: Retrieve a document by ID
- Required: document_id
- Returns: Document content and metadata
- Error: Not found
- update_document: Update an existing document
- Required: document_id, content
- Optional: metadata
- Returns: Success confirmation
- Error: Not found, Invalid input
- delete_document: Remove a document
- Required: document_id
- Returns: Success confirmation
- Error: Not found
- list_documents: List all documents
- Optional: limit, offset
- Returns: List of documents with content and metadata
Search Operations
-search_similar: Find semantically similar documents
- Required: query
- Optional: num_results, metadata_filter, content_filter
- Returns: Ranked list of similar documents with distance scores
- Error: Invalid filter
Features
- Semantic Search: Find documents based on meaning using Chroma's embeddings
- Metadata Filtering: Filter search results by metadata fields
- Content Filtering: Additional filtering based on document content
- Persistent Storage: Data persists in local directory between server restarts
- Error Handling: Comprehensive error handling with clear messages
- Retry Logic: Automatic retries for transient failures
Installation
1. Install dependencies:
uv venv
uv sync --dev --all-extras
Configuration
Claude Desktop
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"
]
}
}
}
Data Storage
The server stores data in:
- Windows: src/chroma/data
- MacOS/Linux: src/chroma/data
Usage
1. Start the server:
uv run chroma
2. Use MCP tools to interact with the server:
```python
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





