Chroma MCP Server - Vector Database Integration for LLM Applications
Project description
Chroma - the open-source embedding database.
The fastest way to build Python or JavaScript LLM apps with memory!
Chroma MCP Server
The Model Context Protocol (MCP) is an open protocol designed for effortless integration between LLM applications and external data sources or tools, offering a standardized framework to seamlessly provide LLMs with the context they require.
This server provides data retrieval capabilities powered by Chroma, enabling AI models to create collections over generated data and user inputs, and retrieve that data using vector search, full text search, metadata filtering, and more.
Features
-
Flexible Client Types
- Ephemeral (in-memory) for testing and development
- Persistent for file-based storage
- HTTP client for self-hosted Chroma instances
- Cloud client for Chroma Cloud integration (automatically connects to api.trychroma.com)
-
Collection Management
- Create, modify, and delete collections
- List all collections with pagination support
- Get collection information and statistics
- Configure HNSW parameters for optimized vector search
-
Document Operations
- Add documents with optional metadata and custom IDs
- Query documents using semantic search
- Advanced filtering using metadata and document content
- Retrieve documents by IDs or filters
- Full text search capabilities
Supported Tools
chroma_list_collections- List all collections with pagination supportchroma_create_collection- Create a new collection with optional HNSW configurationchroma_peek_collection- View a sample of documents in a collectionchroma_get_collection_info- Get detailed information about a collectionchroma_get_collection_count- Get the number of documents in a collectionchroma_modify_collection- Update a collection's name or metadatachroma_delete_collection- Delete a collectionchroma_add_documents- Add documents with optional metadata and custom IDschroma_query_documents- Query documents using semantic search with advanced filteringchroma_get_documents- Retrieve documents by IDs or filters with paginationchroma_update_documents- Update existing documents' content, metadata, or embeddingschroma_delete_documents- Delete specific documents from a collection
Usage with Claude Desktop
- To add an ephemeral client, add the following to your
claude_desktop_config.jsonfile:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp"
]
}
- To add a persistent client, add the following to your
claude_desktop_config.jsonfile:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type",
"persistent",
"--data-dir",
"/full/path/to/your/data/directory"
]
}
This will create a persistent client that will use the data directory specified.
- To connect to Chroma Cloud, add the following to your
claude_desktop_config.jsonfile:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type",
"cloud",
"--tenant",
"your-tenant-id",
"--database",
"your-database-name",
"--api-key",
"your-api-key"
]
}
This will create a cloud client that automatically connects to api.trychroma.com using SSL.
- To connect to a [self-hosted Chroma instance on your own cloud provider](https://docs.trychroma.com/
production/deployment), add the following to your
claude_desktop_config.jsonfile:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type",
"http",
"--host",
"your-host",
"--port",
"your-port",
"--custom-auth-credentials",
"your-custom-auth-credentials",
"--ssl",
"true"
]
}
This will create an HTTP client that connects to your self-hosted Chroma instance.
Demos
Find reference usages, such as shared knowledge bases & adding memory to context windows in the Chroma MCP Docs
Using Environment Variables
You can also use environment variables to configure the client:
# Common variables
export CHROMA_CLIENT_TYPE="http" # or "cloud", "persistent", "ephemeral"
# For persistent client
export CHROMA_DATA_DIR="/full/path/to/your/data/directory"
# For cloud client (Chroma Cloud)
export CHROMA_TENANT="your-tenant-id"
export CHROMA_DATABASE="your-database-name"
export CHROMA_API_KEY="your-api-key"
# For HTTP client (self-hosted)
export CHROMA_HOST="your-host"
export CHROMA_PORT="your-port"
export CHROMA_CUSTOM_AUTH_CREDENTIALS="your-custom-auth-credentials"
export CHROMA_SSL="true"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chroma_mcp-0.2.0.tar.gz.
File metadata
- Download URL: chroma_mcp-0.2.0.tar.gz
- Upload date:
- Size: 103.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f11dee2c86feaa02bf833cd9c015cdc7ce4e044c1bae710a87325c8984951f33
|
|
| MD5 |
019e145fc79e5491cb7de94501d91be9
|
|
| BLAKE2b-256 |
26837c2cd6e7f87d41eebc02c649f6b66db7a88891790bb9d4cd82b771ba2f4a
|
File details
Details for the file chroma_mcp-0.2.0-py3-none-any.whl.
File metadata
- Download URL: chroma_mcp-0.2.0-py3-none-any.whl
- Upload date:
- Size: 12.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5d6899579453b816d3e1d617a64b04a56c9698001b8b94ba222a0953ce39b97
|
|
| MD5 |
47f61301f5089f24a2e80d076fc38972
|
|
| BLAKE2b-256 |
65400646e17052f65b1f99a1e7d3d7bb7cb2102afc4aaacef25385307ab3df2e
|