MCP.so
Sign In
Servers

Chroma MCP Server

@privetin

A Model Context Protocol (MCP) server implementation that provides vector database capabilities through Chroma.

Overview

What is Chroma MCP Server?

An MCP server that provides vector database capabilities through Chroma, enabling semantic document search, metadata filtering, and document management with persistent storage. It is designed for developers integrating semantic search into AI applications.

How to use Chroma MCP Server?

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.

Key features of Chroma MCP Server

  • 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

Use cases of Chroma MCP Server

  • Store and retrieve documents with semantic similarity search
  • Filter search results by metadata fields like year or category
  • Manage a persistent document collection for AI assistants
  • Automate document CRUD operations in MCP-based tools

FAQ from Chroma MCP Server

What are the runtime requirements?

Python 3.8+, Chroma 0.4.0+, and MCP SDK 0.1.0+.

Where does the data persist?

Data is stored in src/chroma/data directory and persists between server restarts.

What tools does the server provide?

It provides CRUD tools for documents (create_document, read_document, update_document, delete_document, list_documents) and a search_similar tool for semantic search with optional filters.

How do I configure the server for Claude Desktop?

Add a chroma entry to your claude_desktop_config.json using uv with --directory pointing to the server’s path and run chroma as args.

What error messages can I expect?

Common errors include “Document already exists [id=X]”, “Document not found [id=X]”, “Invalid input: Missing document_id or content”, and “Invalid filter”.

Tags

More from Databases