PyChroma MCP connects a local ChromaDB collection to an assistant for document ingestion, embedding configuration and semantic retrieval.
PyChroma MCP connects a local ChromaDB collection to an assistant for document ingestion, embedding configuration and semantic retrieval.
This Python FastMCP project exposes collection management, document ingestion and similarity queries. It also provides embedding configuration and text chunking tools, with particular attention to Vietnamese text. The author describes it as an experimental, AI-generated prototype. Treat it as a project to evaluate rather than an independently tested production database service.
The repository's VS Code configuration launches uv run src/server.py from the project root over stdio. That file exists and starts the FastMCP tools. A separate Claude configuration refers to a different launcher; use the implemented source entry point when adapting the setup to another client.
The collection client uses a persistent ./chroma_db directory in the tool implementation. Keep the working directory consistent so later sessions open the same store. The startup routine can load an available embedding model or fall back to ChromaDB defaults. Inspect the model information before adding documents, and keep the embedding choice consistent with the collection you query.
Create a test collection containing three short, non-sensitive passages with stable document IDs. Query for a clear match and a deliberately vague request, then compare the returned text and IDs with the originals. Collection deletion changes the local store; try it only on the test collection after checking its name.
The source imports FastMCP from MCP SDK 1. Keep a <2 dependency bound for this source or migrate the import when adopting SDK 2.
Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.
| Tool | What it does |
|---|---|
| echo | Return a supplied message for a connection check. |
| list_collections | List collections in the local ChromaDB store. |
| create_collection | Create a named ChromaDB collection. |
| delete_collection | Delete a named collection from the local store. |
| add_documents | Add text, identifiers and optional metadata to a collection. |
| query_collection | Query a collection with text and optional metadata filters. |
| get_embedding_model_info | Inspect the embedding model used by the project. |
| configure_embedding_model | Select or reload an embedding model. |
| chunk_text_intelligent | Split supplied text into overlapping chunks. |
{
"servers": {
"chroma": {
"type": "stdio",
"command": "uv",
"args": [
"run",
"src/server.py"
],
"cwd": "${workspaceFolder}"
}
}
}Open the checked-out repository as the workspace and install its dependencies before launching. This is an experimental prototype.
Python 3.10 or later, uv, the repository dependencies and storage for the local ChromaDB collection and embedding model. Source uses the SDK 1 FastMCP import; use compatible SDK 1 dependencies or migrate the import before deployment.
Inspect PostgreSQL schemas and run read-only queries with the archived MCP reference server. Review its maintenance status before choosing it.
Connect the Notion MCP server to search workspace content and work with pages and databases through Notion’s hosted OAuth service.
Use the Supabase MCP server to inspect database schemas, query project data and retrieve docs through a project-scoped connection.
Query, modify and analyse local SQLite databases in conversation — the fastest way to chat with a data file.
Metabase ships its own MCP endpoint — search your BI content, build and run queries, and save questions and dashboards without leaving the chat.
Official MongoDB server covering data, schemas and Atlas management — from find queries to spinning up clusters.