Integrates ChromaDB vector database capabilities for efficient semantic document search, storage, and retrieval in natur...
Created byApr 22, 2025
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 in src/chroma/data directory
Supports semantic similarity search
Tools
The server implements CRUD operations and search functionality:
Document Management
create_document: Create a new document
read_document: Retrieve a document by ID
update_document: Update an existing document
delete_document: Remove a document
list_documents: List all documents
Search Operations
search_similar: Find semantically similar documents
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
Install dependencies:
Configuration
Claude Desktop
Add the server configuration to your Claude Desktop config:
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]
Development
Testing
Run the MCP Inspector for interactive testing:
Use the inspector's web interface to:
Building
Update dependencies:
Build package:
Contributing
Contributions are welcome! Please read our Contributing Guidelines for details on:
Code style
Testing requirements
Pull request process
License
This project is licensed under the MIT License - see the LICENSE file for details.
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 in src/chroma/data directory
Supports semantic similarity search
Tools
The server implements CRUD operations and search functionality:
Document Management
create_document: Create a new document
read_document: Retrieve a document by ID
update_document: Update an existing document
delete_document: Remove a document
list_documents: List all documents
Search Operations
search_similar: Find semantically similar documents
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
Install dependencies:
Configuration
Claude Desktop
Add the server configuration to your Claude Desktop config: