mrkeyoor.com_
Tue 01 Sept 16:16 UTC

This page is what happened when we ran it. The project itself — code, maintenance, community — has its own review: full repo review →

DatabasesMCP servermeasured 19 Aug 2026

Chroma

Chroma's MCP server puts the Chroma vector database behind an assistant: create collections, add documents, run similarity and metadata queries over stdio. It ships as the Python package chroma-mcp, maintained by Chroma itself, and is meant to be launched with uvx. We started it that way on 2026-08-19 in a clean environment and it exited before initialize, so this page is about the crash.

BootDID NOT BOOTWe started it and it never completed initialize: exited with code 1 before initialize completed
Tools0tools/list payload 0 bytes
Context tax~0estimated tokens for the whole tools/list, chars/4 estimate
Resources / prompts / counts returned by resources/list and prompts/list
Measured19 Aug 2026one run of the harness, clean environment, no credentials · how we test

How we started it

uvx chroma-mcp
Verdict

Skip it until you can control the working directory it starts in, then it is worth another look. Our probe never reached the tool list because pydantic-settings went looking for a .env file in the current directory and hit a permission error opening one it was not allowed to read. That is a launcher problem, not a bug in the vector search, but it is the kind of problem that will bite anyone running the server as a different user than the one who owns the project folder. Chroma the database is good; this wrapper's config loading assumes a friendlier filesystem than it deserves.

Use it if

You already run Chroma and want an assistant to query collections instead of you writing another throwaway query script
You can launch the server from a directory whose .env file the server's user can read, or from one with no .env at all
You want local vector search with no hosted retrieval vendor in the path, and you are fine debugging a Python launcher to get there
You are comfortable pinning the chroma-mcp version yourself, because the failure we hit lives in its settings dependency rather than in Chroma

Skip it if

Your MCP client spawns servers as a sandboxed or system user with no read access to the project directory, which is exactly the case that killed our run
You want a server that boots with zero flags and zero cwd assumptions, the way the filesystem and fetch reference servers do
You need a measured tool count and token cost before you commit, because we cannot give you either for this one
Your data already lives in Postgres with pgvector or in a hosted index, and adding a second store just for the assistant is not worth a second daemon
You are on a machine without uv, since the documented path here is uvx and installing a Python toolchain to try one server is a poor trade

The bill for your context window

There is no Context Tax to report, and that absence is the finding. tools/list never ran, so the chars/4 estimate we print on every other page has nothing to work with here: zero tools, zero bytes of schema, zero tokens, not because the server is lean but because it was never asked. That matters when you are budgeting a client's tool window, since an unmeasurable server is a hole in the plan rather than a cheap slot. A vector-store surface is normally small, since add, query, list and delete cover most of it, so the honest guess is that chroma-mcp lands under this batch's median once it boots. Guess is the operative word. We did not measure it.

Setup reality

It is a uvx launch of chroma-mcp over stdio, and the harness scraped no env-var names out of the failure, so there is no secret list to hand you. What there is instead is a working-directory contract nobody documents: chroma-mcp reads settings through pydantic-settings, which unconditionally tries to open a .env file in the process's current directory. Ours existed and was not readable by the probe user, and the traceback ends in a plain PermissionError on '.env' with an exit code of one. Fixes, in order of how much you will hate them: start the server from a directory with no .env, grant the running user read access to the one that is there, or set the client's cwd explicitly instead of inheriting whatever your editor happened to be in. The README also describes client, persistent, HTTP and Chroma Cloud modes selected by flags, which you will need to pick once the process survives long enough to read them.

Questions people ask

Why did the Chroma MCP server fail to start?

Not for a missing API key. The traceback ends in a PermissionError opening '.env' in the working directory, raised by pydantic-settings while loading configuration, and the process exited with code 1 before it answered initialize.

Can I fix it without changing the code?

Usually yes. Launch it from a directory with no .env file, or make the existing .env readable by whichever user your MCP client spawns the server as. Setting an explicit cwd in your client config is the cleanest of the three.

Does this mean Chroma itself is broken?

No. The database never got a chance to run. What failed is the settings load in the MCP wrapper's startup path, before any collection is opened or any query is served.

Did any other servers in the batch fail the same way?

Yes. Config loading during startup, before initialize, was one of the recurring failure shapes we saw, and a working directory the spawning user cannot fully read is a common trigger. Chroma is the clearest example of it.

Other databases servers we started

ServerVendorBootsContext tax
ElasticsearchElastic~0 tokens
MongoDBMongoDB~9,462 tokens
MySQLcommunity (benborla29)~100 tokens
PineconePinecone~6,165 tokens
PostgreSQL (archived)Anthropic (archived)~33 tokens
QdrantQdrant~0 tokens
SupabaseSupabase~0 tokens

How this page is made: the server is spawned as an unprivileged user with a clean environment and no credentials, then asked for its tools, resources and prompts over stdio. Token figures are estimates at four characters per token, not a tokenizer count. One run, one machine. Corrections: contact the desk.

← All measured MCP servers