Chroma MCP vs Mongodb MCP Server

A side-by-side look at the Chroma MCP and Mongodb MCP Server MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Chroma MCP logoChroma MCPDatabases · Local subprocess (stdio)Chroma MCP server to access local and cloud Chroma instances for retrieval capabilities61GoodAuth: api key requiredMongodb MCP Server logoMongodb MCP ServerDatabases · Local subprocess (stdio)A Model Context Protocol server to connect to MongoDB databases and MongoDB Atlas Clusters.67GreatAuth: other

Verdict: choose Chroma MCP for databases work as a local process; choose Mongodb MCP Server for databases as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Chroma MCP logoChoose Chroma MCP when

  • You need dedicated capabilities in the Databases domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: API key required.
  • You have the keys it needs: CHROMA_CLIENT_TYPE, CHROMA_DATA_DIR, CHROMA_TENANT, CHROMA_DATABASE, CHROMA_API_KEY, CHROMA_HOST, CHROMA_PORT, CHROMA_CUSTOM_AUTH_CREDENTIALS.
  • You want tools like chroma_list_collections, chroma_create_collection, chroma_peek_collection.
Explore Chroma MCP

Mongodb MCP Server logoChoose Mongodb MCP Server when

  • You need dedicated capabilities in the Databases domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: other.
  • You have the keys it needs: MDB_MCP_CONNECTION_STRING.
  • You want tools like aggregate, aggregate-db, collection-indexes.
Explore Mongodb MCP Server

Feature & specification comparison

Rows where the two servers differ are marked.

SpecChroma MCP logoChroma MCPMongodb MCP Server logoMongodb MCP Server
CategoryDatabasesDatabases
Quality signal61/100 · Good67/100 · Great
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthAPI key requiredother
PricingFreeFree
Required env varsCHROMA_CLIENT_TYPECHROMA_DATA_DIRCHROMA_TENANTCHROMA_DATABASECHROMA_API_KEYCHROMA_HOSTCHROMA_PORTCHROMA_CUSTOM_AUTH_CREDENTIALSMDB_MCP_CONNECTION_STRING
Verified ownerCommunity listingCommunity listing
GitHub stars6001,150
Directory activity 4 views 0 installs 0 upvotes 1 views 0 installs 0 upvotes
Tools1353

Tools & capabilities

Chroma MCP tools 13

  • chroma_list_collectionsList all collection names in the Chroma database with pagination support. Args: limit: Optional maximum number of collections to return offset: Optional number of collections to skip before returning results Returns: List of collection names or ["__NO_COLLECTIONS_FOUND__"] if database is empty
  • chroma_create_collectionCreate a new Chroma collection with configurable HNSW parameters. Args: collection_name: Name of the collection to create embedding_function_name: Name of the embedding function to use. Options: 'default', 'cohere', 'openai', 'jina', 'voyageai', 'ollama', 'roboflow' metadata: Optional metadata dict to add to the collection
  • chroma_peek_collectionPeek at documents in a Chroma collection. Args: collection_name: Name of the collection to peek into limit: Number of documents to peek at
  • chroma_get_collection_infoGet information about a Chroma collection. Args: collection_name: Name of the collection to get info about
  • chroma_get_collection_countGet the number of documents in a Chroma collection. Args: collection_name: Name of the collection to count
  • chroma_modify_collectionModify a Chroma collection's name or metadata. Args: collection_name: Name of the collection to modify new_name: Optional new name for the collection new_metadata: Optional new metadata for the collection
  • chroma_fork_collectionFork a Chroma collection. Args: collection_name: Name of the collection to fork new_collection_name: Name of the new collection to create metadata: Optional metadata dict to add to the new collection
  • chroma_delete_collectionDelete a Chroma collection. Args: collection_name: Name of the collection to delete
  • chroma_add_documentsAdd documents to a Chroma collection. Args: collection_name: Name of the collection to add documents to documents: List of text documents to add ids: List of IDs for the documents (required) metadatas: Optional list of metadata dictionaries for each document
  • chroma_query_documentsQuery documents from a Chroma collection with advanced filtering. Args: collection_name: Name of the collection to query query_texts: List of query texts to search for n_results: Number of results to return per query where: Optional metadata filters using Chroma's query operators Examples: - Simple equality: {"metadata_field": "value"} - Comparison: {"metadata_field": {"$gt": 5}} - Logical AND: {"$and": [{"field1": {"$eq": "value1"}}, {"field2": {"$gt": 5}}]} - Logical OR: {"$or": [{"field1": {"$eq": "value1"}}, {"field1": {"$eq": "value2"}}]} where_document: Optional document content filters Examples: - Contains: {"$contains": "value"} - Not contains: {"$not_contains": "value"} - Regex: {"$regex": "[a-z]+"} - Not regex: {"$not_regex": "[a-z]+"} - Logical AND: {"$and": [{"$contains": "value1"}, {"$not_regex": "[a-z]+"}]} - Logical OR: {"$or": [{"$regex": "[a-z]+"}, {"$not_contains": "value2"}]} include: List of what to include in response. By default, this will include documents, metadatas, and distances.
  • chroma_get_documentsGet documents from a Chroma collection with optional filtering. Args: collection_name: Name of the collection to get documents from ids: Optional list of document IDs to retrieve where: Optional metadata filters using Chroma's query operators Examples: - Simple equality: {"metadata_field": "value"} - Comparison: {"metadata_field": {"$gt": 5}} - Logical AND: {"$and": [{"field1": {"$eq": "value1"}}, {"field2": {"$gt": 5}}]} - Logical OR: {"$or": [{"field1": {"$eq": "value1"}}, {"field1": {"$eq": "value2"}}]} where_document: Optional document content filters Examples: - Contains: {"$contains": "value"} - Not contains: {"$not_contains": "value"} - Regex: {"$regex": "[a-z]+"} - Not regex: {"$not_regex": "[a-z]+"} - Logical AND: {"$and": [{"$contains": "value1"}, {"$not_regex": "[a-z]+"}]} - Logical OR: {"$or": [{"$regex": "[a-z]+"}, {"$not_contains": "value2"}]} include: List of what to include in response. By default, this will include documents, and metadatas. limit: Optional maximum number of documents to return offset: Optional number of documents to skip before returning results Returns: Dictionary containing the matching documents, their IDs, and requested includes
  • chroma_update_documentsUpdate documents in a Chroma collection. Args: collection_name: Name of the collection to update documents in ids: List of document IDs to update (required) embeddings: Optional list of new embeddings for the documents. Must match length of ids if provided. metadatas: Optional list of new metadata dictionaries for the documents. Must match length of ids if provided. documents: Optional list of new text documents. Must match length of ids if provided. Returns: A confirmation message indicating the number of documents updated. Raises: ValueError: If 'ids' is empty or if none of 'embeddings', 'metadatas', or 'documents' are provided, or if the length of provided update lists does not match the length of 'ids'. Exception: If the collection does not exist or if the update operation fails.
  • +1 more on the listing page

Mongodb MCP Server tools 53

  • aggregateRun an aggregation against a MongoDB collection
  • aggregate-dbRun an aggregation against a MongoDB database
  • collection-indexesDescribe the indexes for a collection
  • collection-schemaDescribe the schema for a collection
  • collection-storage-sizeGets the size of the collection
  • connectConnect to a MongoDB instance
  • countGets the number of documents in a MongoDB collection using db.collection.count() and query as an optional filter parameter
  • create-collectionCreates a new collection in a database. If the database doesn't exist, it will be created automatically.
  • create-indexCreate an index for a collection
  • db-statsReturns statistics that reflect the use state of a single database
  • delete-manyRemoves all documents that match the filter from a MongoDB collection
  • disconnectClose a MongoDB connection and revoke its connectionId.
  • +41 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Chroma MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "chroma-core-chroma-mcp": {
      "command": "uvx",
      "args": [
        "chroma-mcp"
      ],
      "env": {
        "CHROMA_CLIENT_TYPE": "YOUR_CHROMA_CLIENT_TYPE_HERE",
        "CHROMA_DATA_DIR": "YOUR_CHROMA_DATA_DIR_HERE",
        "CHROMA_TENANT": "YOUR_CHROMA_TENANT_HERE",
        "CHROMA_DATABASE": "YOUR_CHROMA_DATABASE_HERE",
        "CHROMA_API_KEY": "YOUR_CHROMA_API_KEY_HERE",
        "CHROMA_HOST": "YOUR_CHROMA_HOST_HERE",
        "CHROMA_PORT": "YOUR_CHROMA_PORT_HERE",
        "CHROMA_CUSTOM_AUTH_CREDENTIALS": "YOUR_CHROMA_CUSTOM_AUTH_CREDENTIALS_HERE"
      }
    }
  }
}

Mongodb MCP Server

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "mongodb-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "mongodb-mcp-server@latest"
      ],
      "env": {
        "MDB_MCP_CONNECTION_STRING": "YOUR_MDB_MCP_CONNECTION_STRING_HERE"
      }
    }
  }
}

Frequently asked questions

Chroma MCP is categorized under Databases and uses a local stdio subprocess. Mongodb MCP Server belongs to Databases and uses a local stdio subprocess. Pick Chroma MCP for databases work and Mongodb MCP Server for databases.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Chroma MCP is listed as free. Auth: api key required. Mongodb MCP Server is listed as free. Auth: other. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add chroma-core-chroma-mcp and mongodb-mcp-server as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Chroma MCP has a quality signal of 61/100 (Good) with 4 views, 0 installs and 600 GitHub stars. Mongodb MCP Server has 67/100 (Great) with 1 views, 0 installs and 1,150 GitHub stars.