Chroma MCP Server

Official
by chroma-core
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Supports building JavaScript LLM applications with vector database memory capabilities powered by Chroma, enabling embedding-based retrieval for context augmentation.

  • Supports building Python LLM applications with vector database memory capabilities powered by Chroma, enabling embedding-based retrieval for context augmentation.

Servidor 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ón
  • chroma_create_collection : crea una nueva colección con configuración HNSW opcional
  • chroma_peek_collection - Ver una muestra de documentos en una colección
  • chroma_get_collection_info - Obtener información detallada sobre una colección
  • chroma_get_collection_count - Obtener la cantidad de documentos en una colección
  • chroma_modify_collection - Actualizar el nombre o los metadatos de una colección
  • chroma_delete_collection - Eliminar una colección
  • chroma_add_documents : agrega documentos con metadatos opcionales e identificaciones personalizadas
  • chroma_query_documents - Consulta documentos mediante búsqueda semántica con filtrado avanzado
  • chroma_get_documents - Recuperar documentos por ID o filtros con paginación
  • chroma_update_documents : actualiza el contenido, los metadatos o las incrustaciones de los documentos existentes
  • chroma_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.

Uso con Claude Desktop

  1. Para agregar un cliente efímero, agregue lo siguiente a su archivo claude_desktop_config.json :
"chroma": { "command": "uvx", "args": [ "chroma-mcp" ] }
  1. 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.

  1. 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"] .

  1. 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.

-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor que proporciona capacidades de recuperación de datos impulsadas por la base de datos de incorporación de Chroma, lo que permite que los modelos de IA creen colecciones sobre los datos generados y las entradas del usuario, y recuperen esos datos mediante la búsqueda vectorial, la búsqueda de texto completo y el filtrado de metadatos.

  1. Features
    1. Supported Tools
    2. Embedding Functions
  2. Usage with Claude Desktop
    1. Demos
    2. Using Environment Variables
ID: utidzg09ay