Chroma MCP Server
OfficialServidor Chroma MCP
El Protocolo de Contexto de Modelo (MCP) es un protocolo abierto diseñado para una integración sin esfuerzo entre aplicaciones LLM y herramientas o fuentes de datos externas, y ofrece un marco estandarizado para proporcionar sin problemas a las aplicaciones LLM el contexto que necesitan.
Este servidor proporciona capacidades de recuperación de datos impulsadas por Chroma, lo que permite que los modelos de IA creen colecciones sobre datos generados y entradas del usuario, y recuperen esos datos mediante búsqueda vectorial, búsqueda de texto completo, filtrado de metadatos y más.
Características
Tipos de clientes flexibles
Efímero (en memoria) para pruebas y desarrollo
Persistente para almacenamiento basado en archivos
Cliente HTTP para instancias de Chroma autoalojadas
Cliente en la nube para la integración de Chroma Cloud (se conecta automáticamente a api.trychroma.com)
Gestión de cobros
Crear, modificar y eliminar colecciones
Listar todas las colecciones con soporte de paginación
Obtenga información y estadísticas de colecciones
Configurar los parámetros HNSW para una búsqueda vectorial optimizada
Seleccionar funciones de incrustación al crear colecciones
Operaciones de documentos
Agregar documentos con metadatos opcionales e identificaciones personalizadas
Consultar documentos mediante búsqueda semántica
Filtrado avanzado mediante metadatos y contenido del documento
Recuperar documentos por ID o filtros
Capacidades de búsqueda de texto completo
Herramientas compatibles
chroma_list_collections- Lista todas las colecciones con soporte de paginaciónchroma_create_collection: crea una nueva colección con configuración HNSW opcionalchroma_peek_collection- Ver una muestra de documentos en una colecciónchroma_get_collection_info- Obtener información detallada sobre una colecciónchroma_get_collection_count- Obtener la cantidad de documentos en una colecciónchroma_modify_collection- Actualizar el nombre o los metadatos de una colecciónchroma_delete_collection- Eliminar una colecciónchroma_add_documents: agrega documentos con metadatos opcionales e identificaciones personalizadaschroma_query_documents- Consulta documentos mediante búsqueda semántica con filtrado avanzadochroma_get_documents- Recuperar documentos por ID o filtros con paginaciónchroma_update_documents: actualiza el contenido, los metadatos o las incrustaciones de los documentos existenteschroma_delete_documents- Eliminar documentos específicos de una colección
Funciones de incrustación
Chroma MCP admite varias funciones de incrustación: default , cohere , openai , jina , voyageai y roboflow .
Las funciones de incrustación utilizan la configuración de colección de Chroma, que conserva la función de incrustación seleccionada para su recuperación. Una vez creada una colección con esta configuración, al recuperarla para futuras consultas e inserciones, se utilizará la misma función de incrustación, sin necesidad de volver a especificarla. La persistencia de la función de incrustación se añadió en la versión 1.0.0 de Chroma, por lo que si creó una colección con una versión anterior a la 0.6.3, esta función no es compatible.
Al acceder a funciones de incrustación que utilizan API externas, asegúrese de agregar la variable de entorno para la clave API con el formato correcto, que se encuentra en Variables de entorno de funciones de incrustación.
Related MCP server: PDF Knowledgebase MCP Server
Uso con Claude Desktop
Para agregar un cliente efímero, agregue lo siguiente a su archivo
claude_desktop_config.json:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp"
]
}Para agregar un cliente persistente, agregue lo siguiente a su archivo
claude_desktop_config.json:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type",
"persistent",
"--data-dir",
"/full/path/to/your/data/directory"
]
}Esto creará un cliente persistente que utilizará el directorio de datos especificado.
Para conectarse a Chroma Cloud, agregue lo siguiente a su archivo
claude_desktop_config.json:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type",
"cloud",
"--tenant",
"your-tenant-id",
"--database",
"your-database-name",
"--api-key",
"your-api-key"
]
}Esto creará un cliente en la nube que se conectará automáticamente a api.trychroma.com mediante SSL.
Nota: Agregar claves API en los argumentos está bien en dispositivos locales, pero por seguridad, también puede especificar una ruta personalizada para el archivo de configuración de su entorno usando el argumento --dotenv-path dentro de la lista args , por ejemplo: "args": ["chroma-mcp", "--dotenv-path", "/custom/path/.env"] .
Para conectarse a una [instancia de Chroma autohospedada en su propio proveedor de nube]( https://docs.trychroma.com/production/deployment ), agregue lo siguiente a su archivo
claude_desktop_config.json:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type",
"http",
"--host",
"your-host",
"--port",
"your-port",
"--custom-auth-credentials",
"your-custom-auth-credentials",
"--ssl",
"true"
]
}Esto creará un cliente HTTP que se conectará a su instancia de Chroma autohospedada.
Población
Encuentre usos de referencia, como bases de conocimiento compartidas y cómo agregar memoria a las ventanas de contexto en losdocumentos de Chroma MCP
Uso de variables de entorno
También puede usar variables de entorno para configurar el cliente. El servidor cargará automáticamente las variables desde un archivo .env ubicado en la ruta especificada por --dotenv-path (el valor predeterminado es .chroma_env en el directorio de trabajo) o desde las variables de entorno del sistema. Los argumentos de la línea de comandos tienen prioridad sobre las variables de entorno.
# Common variables
export CHROMA_CLIENT_TYPE="http" # or "cloud", "persistent", "ephemeral"
# For persistent client
export CHROMA_DATA_DIR="/full/path/to/your/data/directory"
# For cloud client (Chroma Cloud)
export CHROMA_TENANT="your-tenant-id"
export CHROMA_DATABASE="your-database-name"
export CHROMA_API_KEY="your-api-key"
# For HTTP client (self-hosted)
export CHROMA_HOST="your-host"
export CHROMA_PORT="your-port"
export CHROMA_CUSTOM_AUTH_CREDENTIALS="your-custom-auth-credentials"
export CHROMA_SSL="true"
# Optional: Specify path to .env file (defaults to .chroma_env)
export CHROMA_DOTENV_PATH="/path/to/your/.env" Variables de entorno de funciones de incrustación
Al usar funciones de incrustación externas que acceden a una clave de API, siga la convención de nomenclatura CHROMA_<>_API_KEY="<key>" . Para configurar una clave de API de Cohere, configure la variable de entorno CHROMA_COHERE_API_KEY="" . Recomendamos agregarla a un archivo .env y usar la variable de entorno CHROMA_DOTENV_PATH o el indicador --dotenv-path para configurar esa ubicación de almacenamiento.
Available Tools
13 toolschroma_add_documentsC
Add 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
| Name | Required | Description | Default |
|---|---|---|---|
| collection_name | Yes | ||
| documents | Yes | ||
| ids | Yes | ||
| metadatas | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral disclosure. It states the action ('Add documents') but doesn't describe what happens on success/failure, whether IDs must be unique, if documents are indexed immediately, rate limits, or authentication needs. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the core purpose in the first sentence. The parameter list is organized but could be more integrated with the main description. No wasted sentences, though the structure is somewhat basic.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters with 0% schema coverage, no annotations, no output schema, and being a mutation tool in a complex sibling set, the description is incomplete. It covers basic parameter semantics but lacks behavioral context, usage guidance, error handling, and output expectations. For a document addition tool in a vector database context, more completeness is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It lists all 4 parameters with brief explanations, adding meaning beyond the bare schema (e.g., 'List of text documents', 'Optional list of metadata dictionaries'). However, it doesn't explain relationships between parameters (e.g., arrays must have same length), constraints (e.g., ID uniqueness), or provide examples, leaving some semantic gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Add') and resource ('documents to a Chroma collection'), making the purpose immediately understandable. It distinguishes from siblings like chroma_delete_documents and chroma_update_documents by specifying addition rather than removal or modification. However, it doesn't explicitly contrast with chroma_create_collection or chroma_fork_collection in terms of collection-level vs document-level operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., collection must exist), when not to use it, or suggest alternatives like chroma_update_documents for modifying existing documents. The agent must infer usage from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chroma_create_collectionB
Create 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
| Name | Required | Description | Default |
|---|---|---|---|
| collection_name | Yes | ||
| embedding_function_name | No | default | |
| metadata | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'configurable HNSW parameters' but doesn't explain what these are, their defaults, or behavioral traits like error handling, permissions needed, or what happens on duplicate collection names. This leaves significant gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the main purpose, followed by a structured Args section. Each sentence adds value, though the HNSW reference is vague and could be more precise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 3 parameters with 0% schema coverage, the description is incomplete. It explains parameters well but lacks behavioral context (e.g., mutation effects, error cases) and doesn't address the HNSW configuration mentioned, leaving gaps for a creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning by explaining each parameter's purpose: collection_name for naming, embedding_function_name with specific options, and metadata as an optional dict. This covers all 3 parameters adequately, though it doesn't detail HNSW parameters mentioned in the opening.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create a new Chroma collection') and resource ('Chroma collection'), distinguishing it from siblings like chroma_delete_collection or chroma_modify_collection. However, it doesn't fully specify what 'configurable HNSW parameters' means, which slightly reduces specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating collections, but provides no explicit guidance on when to use this tool versus alternatives like chroma_fork_collection or chroma_modify_collection. It lists embedding function options, which hints at context, but lacks clear when/when-not instructions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chroma_delete_collectionB
Delete a Chroma collection.
Args:
collection_name: Name of the collection to delete
| Name | Required | Description | Default |
|---|---|---|---|
| collection_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a deletion operation (implying destructive action) but doesn't specify whether deletion is permanent, requires specific permissions, affects related data, or provides confirmation feedback. For a destructive tool with zero annotation coverage, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately brief with two sentences: a clear purpose statement followed by parameter documentation. It's front-loaded with the main action and wastes no words, though the parameter documentation could be slightly more integrated rather than separate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive deletion tool with no annotations and no output schema, the description is insufficiently complete. It doesn't address critical context like what happens after deletion (confirmation? error handling?), whether deletion cascades to documents, or what permissions are required. The description should provide more operational context for such a high-impact operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage and only one parameter, the description fully documents the parameter's purpose ('Name of the collection to delete'), adding essential meaning beyond the bare schema. It clearly explains what the collection_name parameter represents in the context of this deletion operation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Delete') and target resource ('a Chroma collection'), distinguishing it from siblings like chroma_modify_collection or chroma_fork_collection. It uses precise language that immediately communicates the tool's function without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like chroma_modify_collection or chroma_delete_documents. The description lacks context about prerequisites (e.g., whether the collection must be empty) or consequences of deletion, offering only basic functional information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chroma_delete_documentsA
Delete documents from a Chroma collection.
Args:
collection_name: Name of the collection to delete documents from
ids: List of document IDs to delete
Returns:
A confirmation message indicating the number of documents deleted.
Raises:
ValueError: If 'ids' is empty
Exception: If the collection does not exist or if the delete operation fails.
| Name | Required | Description | Default |
|---|---|---|---|
| collection_name | Yes | ||
| ids | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the destructive nature ('Delete'), error conditions (ValueError for empty ids, Exception for missing collection or operation failure), and return value (confirmation message with count). However, it lacks details on permissions, rate limits, or side effects beyond deletion.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with the core purpose, followed by organized sections for Args, Returns, and Raises. Every sentence adds value, with no redundant or extraneous information, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with 2 parameters, 0% schema coverage, and no output schema, the description is largely complete: it covers purpose, parameters, errors, and return value. However, it could improve by mentioning sibling tools for context or detailing the confirmation message format, slightly reducing completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must fully compensate. It clearly explains both parameters: 'collection_name' as the target collection and 'ids' as the list of document IDs to delete, including validation (ids cannot be empty). This adds essential meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Delete documents') and target resource ('from a Chroma collection'), distinguishing it from sibling tools like chroma_delete_collection (which deletes entire collections) and chroma_update_documents (which modifies rather than removes documents). The verb+resource combination is precise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through its parameter explanations and error conditions (e.g., 'If the collection does not exist'), but it does not explicitly state when to use this tool versus alternatives like chroma_delete_collection or chroma_update_documents. The context is clear but lacks direct comparative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chroma_fork_collectionC
Fork 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
| Name | Required | Description | Default |
|---|---|---|---|
| collection_name | Yes | ||
| new_collection_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It states the tool creates a new collection but doesn't disclose whether it copies documents/metadata from the source, requires specific permissions, has side effects on the original collection, or what happens if the new name already exists. This leaves critical behavioral traits undocumented for a mutation operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose in the first sentence, followed by a structured parameter list. It avoids unnecessary elaboration, though the parameter section could be more integrated with the main description. Every sentence adds value, but the formatting as a code-like block slightly disrupts flow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a mutation with 2+ parameters), lack of annotations, and no output schema, the description is incomplete. It misses behavioral details like what 'fork' entails (e.g., copying data), error conditions, and return values. For a tool that modifies system state, this leaves significant gaps for an AI agent to operate safely and effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema provides only basic typing. The description adds meaningful context by explaining that 'collection_name' is the source and 'new_collection_name' is the target, and mentions an optional 'metadata' parameter not in the schema. However, it doesn't fully compensate for the coverage gap—e.g., no details on metadata structure or name constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Fork') and resource ('a Chroma collection'), making the purpose immediately understandable. It distinguishes from siblings like 'chroma_create_collection' by specifying it creates a copy from an existing collection rather than a new empty one. However, it doesn't explicitly contrast with all siblings like 'chroma_modify_collection'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., the source collection must exist), when not to use it, or compare it to similar tools like 'chroma_create_collection' for creating new collections from scratch or 'chroma_modify_collection' for altering existing ones.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chroma_get_collection_countB
Get the number of documents in a Chroma collection.
Args:
collection_name: Name of the collection to count
| Name | Required | Description | Default |
|---|---|---|---|
| collection_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool is a read operation ('Get'), but doesn't cover error handling (e.g., if collection doesn't exist), performance aspects, or return format. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded: the first sentence states the purpose clearly, followed by a brief parameter explanation. There's no wasted text, but the structure could be slightly improved by integrating parameter details more seamlessly rather than a separate 'Args:' section.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (single parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and parameter meaning, but lacks details on usage context, behavioral traits, or output expectations. For a simple read tool, this is acceptable but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful context for the single parameter: 'collection_name: Name of the collection to count.' Since schema description coverage is 0%, this compensates by explaining what the parameter represents. However, it doesn't provide additional details like format constraints or examples, keeping it from a perfect score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get the number of documents in a Chroma collection.' It specifies the verb ('Get') and resource ('number of documents'), making it easy to understand. However, it doesn't explicitly differentiate from sibling tools like 'chroma_get_collection_info' or 'chroma_peek_collection', which might also provide collection metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., collection must exist), exclusions, or compare it to siblings like 'chroma_get_collection_info' that might offer similar or overlapping functionality. Usage is implied but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chroma_get_collection_infoB
Get information about a Chroma collection.
Args:
collection_name: Name of the collection to get info about
| Name | Required | Description | Default |
|---|---|---|---|
| collection_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action but doesn't cover important traits like whether this is a read-only operation, what specific information is returned (e.g., metadata, count, settings), error conditions, or performance implications. This leaves significant gaps for an agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the main purpose in the first sentence, followed by parameter details. There's no wasted text, though it could be slightly more structured (e.g., using bullet points).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of interacting with a database collection and the lack of annotations and output schema, the description is incomplete. It doesn't explain what information is returned (e.g., metadata, statistics) or how errors are handled, which is critical for an agent to use this tool effectively in context with its siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful context for the single parameter by specifying 'Name of the collection to get info about', which clarifies its role beyond the schema's basic title 'Collection Name'. Since schema description coverage is 0%, this compensates well, though it doesn't detail format constraints or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get information about' and the resource 'a Chroma collection', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'chroma_peek_collection' or 'chroma_list_collections', which might provide overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'chroma_peek_collection' or 'chroma_list_collections'. It lacks context about prerequisites, such as whether the collection must exist, or any exclusions for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chroma_get_documentsA
Get 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
| Name | Required | Description | Default |
|---|---|---|---|
| collection_name | Yes | ||
| ids | No | ||
| include | No | ||
| limit | No | ||
| offset | No | ||
| where | No | ||
| where_document | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the tool's read-only nature through the verb 'Get' and details filtering capabilities, but it doesn't cover aspects like error handling, performance implications of complex filters, or pagination behavior beyond limit/offset parameters. The return format is mentioned but not elaborated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose statement, organized parameter explanations, and a returns section. While comprehensive, it's slightly verbose due to extensive examples for 'where' and 'where_document', but every sentence earns its place by clarifying complex filtering syntax that isn't obvious from parameter names alone.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 parameters, 0% schema coverage, no annotations, and no output schema, the description does an excellent job of explaining parameter semantics and the return format. It covers the core functionality thoroughly, though it could be more complete by addressing behavioral aspects like error cases or performance limits, which are important given the complexity of filtering options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Given 0% schema description coverage, the description compensates fully by providing detailed semantics for all 7 parameters. It explains each parameter's purpose (e.g., 'where: Optional metadata filters'), includes syntax examples for complex parameters like 'where' and 'where_document', and clarifies defaults (e.g., 'include' defaults to documents and metadatas). This adds significant value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get documents') and resource ('from a Chroma collection'), distinguishing it from siblings like chroma_query_documents (which likely searches semantically) and chroma_peek_collection (which might preview without filtering). The phrase 'with optional filtering' further clarifies its retrieval nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the mention of 'optional filtering' and the detailed parameter examples, suggesting it's for retrieving documents with specific criteria. However, it lacks explicit guidance on when to use this tool versus alternatives like chroma_query_documents or chroma_peek_collection, leaving the agent to infer based on parameter names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chroma_list_collectionsA
List 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
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses key behavioral traits: pagination support, handling of empty databases (returns ['__NO_COLLECTIONS_FOUND__']), and that it lists names only. However, it does not mention rate limits, authentication needs, or error conditions, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded: the first sentence states the core purpose, followed by structured sections for Args and Returns. Every sentence earns its place by providing essential information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 2 parameters with 0% schema coverage, the description is largely complete: it explains purpose, parameters, and return behavior. However, it lacks details on error handling or performance characteristics, which could be relevant for a database tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It fully explains both parameters (limit and offset) with clear semantics beyond the schema, including their optional nature and purpose (maximum number to return, number to skip). This adds significant value over the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('List all collection names') and resource ('in the Chroma database'), distinguishing it from siblings like chroma_get_collection_info or chroma_peek_collection. It explicitly mentions pagination support, which adds precision beyond just listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving collection names with pagination, but does not explicitly state when to use this tool versus alternatives like chroma_get_collection_count or chroma_get_collection_info. It provides clear context but lacks explicit exclusions or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chroma_modify_collectionC
Modify 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
| Name | Required | Description | Default |
|---|---|---|---|
| collection_name | Yes | ||
| new_metadata | No | ||
| new_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool modifies collection attributes, implying mutation, but lacks critical behavioral details: whether changes are reversible, required permissions, error conditions (e.g., if collection doesn't exist), or side effects. This is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded: the first sentence states the purpose clearly, followed by a concise parameter list. There's no wasted text, and the structure is logical. However, the parameter explanations are minimal and could be more informative without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (mutation tool with 3 parameters), lack of annotations, and no output schema, the description is incomplete. It covers basic purpose and parameters but misses behavioral context (e.g., effects, errors), usage guidelines, and output details. For a tool that modifies data, this leaves significant gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It lists all three parameters with brief explanations ('Name of the collection to modify', 'Optional new name', 'Optional new metadata'), adding basic meaning beyond the schema's titles. However, it doesn't elaborate on metadata format, name constraints, or interaction between parameters, leaving gaps in understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Modify a Chroma collection's name or metadata.' It specifies the verb ('modify') and resource ('Chroma collection'), and indicates what can be modified. However, it doesn't explicitly differentiate from sibling tools like 'chroma_update_documents' or 'chroma_fork_collection', which might also involve modifications.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., collection must exist), exclusions (e.g., cannot modify certain attributes), or comparisons to siblings like 'chroma_fork_collection' or 'chroma_update_documents'. Usage is implied only by the tool name and purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chroma_peek_collectionB
Peek at documents in a Chroma collection.
Args:
collection_name: Name of the collection to peek into
limit: Number of documents to peek at
| Name | Required | Description | Default |
|---|---|---|---|
| collection_name | Yes | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It mentions 'peek' which suggests a read-only, non-destructive operation, but doesn't clarify permissions, rate limits, or what 'peek' entails (e.g., returns metadata, snippets, or full documents). For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the core purpose in the first sentence, followed by parameter explanations. It avoids unnecessary details, but the parameter section could be integrated more seamlessly. Overall, it's efficient with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 2 parameters, no annotations, and no output schema, the description is moderately complete. It covers the basic purpose and parameters but lacks details on behavior, output format, or error handling. For a read operation in a context with multiple sibling tools, more guidance on use cases and results would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful context beyond the input schema, which has 0% description coverage. It explains that 'collection_name' is for the collection to peek into and 'limit' controls the number of documents, clarifying their roles. With 2 parameters and low schema coverage, this compensates well, though it doesn't detail format constraints or default behavior for 'limit'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with the verb 'peek at' and resource 'documents in a Chroma collection'. It distinguishes from siblings like chroma_get_documents or chroma_query_documents by implying a lightweight, non-querying inspection, though not explicitly named. However, it doesn't fully differentiate from chroma_get_collection_info which might also provide collection insights.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives is provided. The description implies a quick look at documents, but it doesn't specify scenarios like previewing content, checking data quality, or comparing to chroma_get_documents for full retrieval. Without context on use cases or exclusions, the agent must infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chroma_query_documentsA
Query 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.
| Name | Required | Description | Default |
|---|---|---|---|
| collection_name | Yes | ||
| include | No | ||
| n_results | No | ||
| query_texts | Yes | ||
| where | No | ||
| where_document | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well by explaining the tool's filtering behavior, return format (documents, metadatas, distances), and default values. However, it doesn't mention performance characteristics, rate limits, or authentication requirements that would be helpful for a query tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose statement followed by organized parameter explanations. While comprehensive, some examples could be more concise. Every sentence adds value, and the information is front-loaded with the core purpose first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a query tool with 6 parameters, 0% schema coverage, and no output schema, the description provides excellent parameter documentation and behavioral context. The main gap is the lack of output format details beyond the 'include' parameter explanation, which would be helpful given no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Given 0% schema description coverage, the description compensates excellently by providing detailed explanations for all 6 parameters, including comprehensive examples for complex parameters (where and where_document), default values, and clear explanations of what each parameter controls.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verb ('Query documents') and resource ('from a Chroma collection'), distinguishing it from siblings like chroma_get_documents or chroma_peek_collection by emphasizing 'advanced filtering' capabilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the mention of 'advanced filtering' and parameter explanations, but doesn't explicitly state when to use this tool versus alternatives like chroma_get_documents or chroma_peek_collection. No explicit when-not-to-use guidance or sibling tool comparisons are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chroma_update_documentsA
Update 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.
| Name | Required | Description | Default |
|---|---|---|---|
| collection_name | Yes | ||
| documents | No | ||
| embeddings | No | ||
| ids | Yes | ||
| metadatas | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well by disclosing key behaviors: it's a mutation tool (implied by 'Update'), specifies error conditions (raises ValueError for invalid inputs, Exception for failures), and describes the return value (confirmation message). It could improve by mentioning side effects like overwriting existing data or performance implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (Args, Returns, Raises) and front-loaded purpose. It's appropriately sized for a 5-parameter tool, though some sentences could be more concise (e.g., the Raises section is verbose). Overall, it efficiently conveys necessary information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 parameters, no annotations, no output schema), the description is mostly complete: it covers parameters, errors, and returns. However, it lacks details on the update mechanism (e.g., partial vs. full updates) and doesn't reference sibling tools for context, leaving minor gaps in full agent guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant meaning beyond the input schema, which has 0% description coverage. It explains each parameter's purpose (e.g., 'ids: List of document IDs to update'), constraints (e.g., 'Must match length of ids if provided'), and relationships between parameters. This fully compensates for the schema's lack of descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Update documents') and resource ('in a Chroma collection'), making the purpose immediately understandable. It distinguishes from siblings like 'chroma_add_documents' (adds new) and 'chroma_delete_documents' (removes), though not explicitly named. However, it doesn't fully differentiate from 'chroma_modify_collection' which might overlap in functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the parameter documentation (e.g., 'ids' are required, update lists must match length), suggesting when to use it for updating existing documents. However, it lacks explicit guidance on when to choose this tool over alternatives like 'chroma_modify_collection' or 'chroma_add_documents', and doesn't mention prerequisites such as collection existence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
13 tool updates
v1.0.0- First observed
chroma_add_documents - First observed
chroma_create_collection - First observed
chroma_delete_collection - First observed
chroma_delete_documents - First observed
chroma_fork_collection - First observed
chroma_get_collection_count - First observed
chroma_get_collection_info - First observed
chroma_get_documents - First observed
chroma_list_collections - First observed
chroma_modify_collection - First observed
chroma_peek_collection - First observed
chroma_query_documents - First observed
chroma_update_documents
TDQS
Each tool has a clearly distinct purpose targeting specific Chroma operations. For example, chroma_get_documents retrieves documents with filtering, while chroma_query_documents performs semantic search; chroma_peek_collection provides a quick preview, and chroma_get_collection_info returns metadata. No tools appear to overlap in functionality.
All tools follow a consistent 'chroma_verb_noun' pattern with snake_case throughout. The naming convention is perfectly uniform, making it easy to predict tool names and understand their functions at a glance.
With 13 tools, this server provides comprehensive coverage for Chroma vector database operations without being overwhelming. The count aligns well with the domain scope, offering complete collection management and document CRUD operations.
The toolset provides complete coverage for Chroma operations: collection lifecycle (create, list, get info, modify, fork, delete), document lifecycle (add, get, update, delete, query), and utility functions (count, peek). No obvious gaps exist for typical vector database workflows.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The Needle MCP server enables semantic search on documents stored in files like PDFs, DOCX, and XLSX by connecting AI applications to external data sources. It provides capabilities to create and manage document collections, perform natural language searches on stored content, and retrieve relevant information without requiring exact keyword matches.
Ingest, manage, and retrieve documents for RAG-powered AI applications
The CustomGPT.ai MCP server is a fully managed, RAG-powered endpoint that connects large language models with private knowledge bases and external data sources. It provides tools for retrieval-augmented generation queries (send_message), data ingestion (upload_file), and source listing, enabling AI agents to query private documents like PDFs with high accuracy and real-time citations.
Remote ChromaDB vector database MCP server with streamable HTTP transport
Related MCP Servers
- AlicenseAqualityCmaintenanceA Model Context Protocol server providing vector database capabilities through Chroma, enabling semantic document search, metadata filtering, and document management with persistent storage.641MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables intelligent document search and retrieval from PDF collections, providing semantic search capabilities powered by OpenAI embeddings and ChromaDB vector storage.13MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that exposes ChromaDB vector database operations, enabling AI assistants to perform collection management and semantic document searches. It supports HTTP, persistent, and in-memory connection modes along with various embedding providers including OpenAI and HuggingFace.MIT
- FlicenseNot gradedqualityDmaintenanceA fully offline local RAG server that utilizes ChromaDB and Ollama to index and query PDF, text, and Markdown documents. It allows users to manage local knowledge bases and perform semantic searches with AI-generated responses.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/chroma-core/chroma-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server