{"id":9580,"library":"chroma-mcp","title":"Chroma MCP Server","description":"Chroma MCP (Multi-Modal Controller for Persistance) Server acts as a vector database integration layer for LLM applications. It provides a set of tools that allow LLM agents to interact with ChromaDB, handling complex operations like document creation, updates, and deletions. The current version is 0.2.6, and it sees somewhat frequent updates, often tied to new releases of the underlying `chromadb` library.","status":"active","version":"0.2.6","language":"en","source_language":"en","source_url":"https://github.com/chroma-core/chroma-mcp","tags":["vector database","LLM","chroma","server","FastAPI","AI agent","tooling"],"install":[{"cmd":"pip install chroma-mcp","lang":"bash","label":"Install stable version"}],"dependencies":[{"reason":"Core vector database dependency, version pinned internally within ranges (e.g., >=0.4.14,<2.0.0).","package":"chromadb","optional":false},{"reason":"Framework used to build the server application.","package":"fastapi","optional":false},{"reason":"ASGI server to run the FastAPI application.","package":"uvicorn","optional":false}],"imports":[],"quickstart":{"code":"import os\nimport uvicorn\nimport tempfile\nimport shutil\n\n# This library is a server application designed to be run, not typically imported\n# for client-side functionality. The quickstart demonstrates how to run the server locally.\n\n# Create a temporary directory for ChromaDB to store its data\ntemp_dir = tempfile.mkdtemp()\nprint(f\"ChromaDB data will be stored in: {temp_dir}\")\n\n# Configure the Chroma MCP server via environment variables.\n# These are crucial for the server to operate correctly.\nos.environ[\"CHROMA_DB_PATH\"] = temp_dir # Use a local persistent ChromaDB path\nos.environ[\"CHROMA_SERVER_HOST\"] = os.environ.get('CHROMA_SERVER_HOST', '127.0.0.1')\nos.environ[\"CHROMA_SERVER_PORT\"] = os.environ.get('CHROMA_SERVER_PORT', '8000')\nos.environ[\"CHROMA_SERVER_ROOT_PATH\"] = os.environ.get('CHROMA_SERVER_ROOT_PATH', '')\nos.environ[\"LOG_LEVEL\"] = os.environ.get('LOG_LEVEL', 'info') # Optional: set log level\n\nprint(f\"Starting Chroma MCP Server on http://{os.environ['CHROMA_SERVER_HOST']}:{os.environ['CHROMA_SERVER_PORT']}\")\nprint(\"Press Ctrl+C to stop the server.\")\n\ntry:\n    # Run the Chroma MCP FastAPI application using uvicorn.\n    # The application instance is found at 'chroma_mcp.app:app'.\n    uvicorn.run(\n        \"chroma_mcp.app:app\",\n        host=os.environ[\"CHROMA_SERVER_HOST\"],\n        port=int(os.environ[\"CHROMA_SERVER_PORT\"]),\n        log_level=os.environ[\"LOG_LEVEL\"],\n        reload=False # Set to True for development, False for production\n    )\nexcept KeyboardInterrupt:\n    print(\"\\nServer stopped.\")\nfinally:\n    # Clean up the temporary directory used by ChromaDB\n    print(f\"Cleaning up temporary ChromaDB data directory: {temp_dir}\")\n    shutil.rmtree(temp_dir)\n","lang":"python","description":"The Chroma MCP Server is a FastAPI application. This quickstart demonstrates how to run it locally using `uvicorn`, configuring the ChromaDB backend via environment variables to use a temporary directory for data storage. The server will start and be accessible at `http://127.0.0.1:8000` (or configured host/port)."},"warnings":[{"fix":"Refer to the `chroma-mcp` release notes and `chromadb` documentation for specific version compatibility and migration guides. Test agent interactions thoroughly after updating `chroma-mcp`.","message":"The `chroma-mcp` library frequently updates its internal `chromadb` dependency. Major `chromadb` version bumps (e.g., to 1.0.0 in `chroma-mcp` v0.2.1, then 1.0.3, 1.0.10, 1.0.16 in later versions) can introduce breaking changes or behavioral shifts that might affect how LLM agents interact with the exposed tools if not designed robustly.","severity":"breaking","affected_versions":">=0.2.1"},{"fix":"Ensure all necessary environment variables are set correctly before starting the server. Use `.env` files with tools like `python-dotenv` or explicitly set them in your deployment environment.","message":"The Chroma MCP Server relies heavily on environment variables for configuration (e.g., `CHROMA_DB_PATH`, `CHROMA_DB_URI`, `CHROMA_SERVER_HOST`, `CHROMA_SERVER_PORT`). Incorrect or missing environment variables will prevent the server from starting or connecting to ChromaDB.","severity":"gotcha","affected_versions":"all"},{"fix":"Update `chroma-mcp` to v0.2.2 or later. Review agent logic that processes query/get results to ensure compatibility with the corrected `include` behavior.","message":"The behavior of `include` parameters on query and get operations was fixed in v0.2.2 to correctly match the `chromadb` Python client's expectations. This might change the data format or content returned by agent tools if your agents were relying on the previous, possibly incorrect, behavior.","severity":"breaking","affected_versions":"<0.2.2"},{"fix":"Carefully follow the documentation for SSL/TLS setup. For testing, consider starting without SSL first to ensure basic connectivity, then introduce SSL gradually. Ensure correct certificate paths and permissions.","message":"SSL/TLS configuration (e.g., `CHROMA_SERVER_SSL_KEYFILE`, `CHROMA_SERVER_SSL_CERTFILE`) was enhanced in v0.2.0. Misconfigurations can lead to connection failures or security vulnerabilities. Setting up self-signed certificates for testing can also be complex.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-17T00:00:00.000Z","next_check":"2026-07-16T00:00:00.000Z","problems":[{"fix":"Install uvicorn: `pip install uvicorn`","cause":"The `uvicorn` package, which is necessary to run the FastAPI server, is not installed in the current environment.","error":"ModuleNotFoundError: No module named 'uvicorn'"},{"fix":"Set either `CHROMA_DB_PATH` to a local directory or `CHROMA_DB_URI` to a remote ChromaDB instance. Example: `export CHROMA_DB_PATH='./chroma_data'` or `os.environ['CHROMA_DB_PATH'] = './chroma_data'`.","cause":"The Chroma MCP Server requires configuration for where its underlying ChromaDB instance should store data or connect. Neither `CHROMA_DB_PATH` nor `CHROMA_DB_URI` environment variables are set.","error":"RuntimeError: No ChromaDB connection configured. Please set CHROMA_DB_PATH or CHROMA_DB_URI."},{"fix":"Ensure `chroma-mcp` is correctly installed (`pip install chroma-mcp`). Verify that your Python environment is active and that the command `uvicorn chroma_mcp.app:app` is run from a location where `chroma_mcp` is importable.","cause":"Uvicorn failed to locate or load the FastAPI application. This can happen if `chroma-mcp` is not installed, the Python path is incorrect, or there's a syntax error within the application itself.","error":"uvicorn.workers.UvicornWorker: Application 'chroma_mcp.app:app' could not be loaded."}]}