Home
Login
chroma-core/chroma-mcp

Implementación del servidor del Protocolo de Contexto del Modelo (MCP) que proporciona capacidades de base de datos para Chroma, compatible con búsqueda vectorial, búsqueda de texto completo y filtrado de metadatos para la recuperación de datos de IA.

Apache-2.0Python 188chroma-core Last Updated: 2025-06-11
https://github.com/chroma-core/chroma-mcp

Chroma MCP - Servidor del Protocolo de Contexto del Modelo

Resumen del Proyecto

Chroma MCP es una implementación de servidor basada en el Protocolo de Contexto del Modelo (Model Context Protocol, MCP), diseñado específicamente para proporcionar potentes funcionalidades de base de datos a la base de datos de vectores Chroma. Como una extensión de la base de datos de incrustaciones de código abierto Chroma, ofrece capacidades estandarizadas de recuperación y gestión de datos para aplicaciones LLM.

El Protocolo de Contexto del Modelo es un protocolo abierto destinado a permitir una integración perfecta entre las aplicaciones LLM y las fuentes de datos o herramientas externas, proporcionando a los modelos de IA la información contextual necesaria. Chroma MCP se basa en este protocolo, permitiendo que los modelos de IA creen fácilmente colecciones de datos, almacenen entradas de usuario y datos generados, y recuperen estos datos a través de múltiples métodos de búsqueda.

Funciones y Características Principales

🔧 Tipos de Cliente Flexibles

Chroma MCP admite múltiples configuraciones de cliente, satisfaciendo las necesidades de diferentes escenarios:

  • Cliente en Memoria (Ephemeral): Adecuado para entornos de prueba y desarrollo, los datos se almacenan en la memoria.
  • Cliente Persistente (Persistent): Basado en el almacenamiento de archivos, los datos se persisten localmente.
  • Cliente HTTP: Se conecta a una instancia de Chroma auto-hospedada.
  • Cliente en la Nube (Cloud): Integra el servicio Chroma Cloud, conectándose automáticamente a api.trychroma.com.

📁 Funciones de Gestión de Colecciones

Proporciona una gestión completa del ciclo de vida de las colecciones:

  • Creación y Configuración: Crea nuevas colecciones y configura los parámetros HNSW para una búsqueda de vectores optimizada.
  • Modificación y Eliminación: Admite la modificación del nombre y los metadatos de la colección, así como la eliminación completa.
  • Consulta de Información: Obtiene información detallada de la colección, estadísticas y número de documentos.
  • Lista Paginada: Admite la función de lista paginada de colecciones.
  • Selección de Función de Incrustación: Permite seleccionar diferentes funciones de incrustación al crear una colección.

📄 Capacidades de Operación de Documentos

Funciones integrales de gestión y operación de documentos:

  • Adición de Documentos: Admite la adición de documentos con metadatos opcionales e ID personalizados.
  • Consulta Semántica: Utiliza la búsqueda semántica para consultar documentos, admitiendo filtrado avanzado.
  • Recuperación de Documentos: Recupera documentos por ID o filtro, admitiendo paginación.
  • Actualización de Documentos: Actualiza el contenido, los metadatos o la incrustación de los documentos existentes.
  • Eliminación de Documentos: Elimina documentos específicos de la colección.
  • Búsqueda de Texto Completo: Proporciona una potente capacidad de búsqueda de texto completo.
  • Filtrado Avanzado: Admite filtrado avanzado basado en metadatos y contenido del documento.

🤖 Soporte para Diversas Funciones de Incrustación

Chroma MCP admite múltiples funciones de incrustación, ofreciendo opciones para diferentes escenarios de aplicación:

  • default: Función de incrustación predeterminada.
  • cohere: Servicio de incrustación Cohere.
  • openai: Servicio de incrustación OpenAI.
  • jina: Servicio de incrustación Jina AI.
  • voyageai: Servicio de incrustación Voyage AI.
  • roboflow: Servicio de incrustación Roboflow.

🔍 Ricas Herramientas de API

Proporciona un conjunto completo de herramientas de API:

  • chroma_list_collections: Lista de colecciones con soporte de paginación.
  • chroma_create_collection: Crea una nueva colección con configuración HNSW opcional.
  • chroma_peek_collection: Visualiza una muestra de documentos en la colección.
  • chroma_get_collection_info: Obtiene información detallada de la colección.
  • chroma_get_collection_count: Obtiene el número de documentos en la colección.
  • chroma_modify_collection: Actualiza el nombre o los metadatos de la colección.
  • chroma_delete_collection: Elimina la colección.
  • chroma_add_documents: Agrega documentos con metadatos e ID personalizados.
  • chroma_query_documents: Consulta documentos utilizando búsqueda semántica y filtrado avanzado.
  • chroma_get_documents: Recupera documentos por ID o filtro.
  • chroma_update_documents: Actualiza el contenido, los metadatos o la incrustación de los documentos.
  • chroma_delete_documents: Elimina documentos específicos.

Configuración y Despliegue

Configuración de Integración con Claude Desktop

Configuración del Cliente en Memoria:

"chroma": {
  "command": "uvx",
  "args": ["chroma-mcp"]
}

Configuración del Cliente Persistente:

"chroma": {
  "command": "uvx",
  "args": [
    "chroma-mcp",
    "--client-type", "persistent",
    "--data-dir", "/full/path/to/your/data/directory"
  ]
}

Configuración del Cliente en la Nube:

"chroma": {
  "command": "uvx",
  "args": [
    "chroma-mcp",
    "--client-type", "cloud",
    "--tenant", "your-tenant-id",
    "--database", "your-database-name",
    "--api-key", "your-api-key"
  ]
}

Configuración del Cliente HTTP:

"chroma": {
  "command": "uvx",
  "args": [
    "chroma-mcp",
    "--client-type", "http",
    "--host", "your-host",
    "--port", "your-port",
    "--custom-auth-credentials", "your-custom-auth-credentials",
    "--ssl", "true"
  ]
}

Configuración de Variables de Entorno

Admite la configuración a través de variables de entorno, proporcionando opciones de despliegue más flexibles:

# Variables generales
export CHROMA_CLIENT_TYPE="http"
export CHROMA_DATA_DIR="/full/path/to/your/data/directory"

# Configuración del Cliente en la Nube
export CHROMA_TENANT="your-tenant-id"
export CHROMA_DATABASE="your-database-name"
export CHROMA_API_KEY="your-api-key"

# Configuración del Cliente HTTP
export CHROMA_HOST="your-host"
export CHROMA_PORT="your-port"
export CHROMA_SSL="true"

# Claves API de la función de incrustación
export CHROMA_COHERE_API_KEY="your-cohere-key"
export CHROMA_OPENAI_API_KEY="your-openai-key"

Características Técnicas

Persistencia de la Función de Incrustación

A partir de Chroma v1.0.0, se admite la función de persistencia de la función de incrustación. Una vez que se crea una colección utilizando una función de incrustación específica, esta configuración se persistirá, y las consultas e inserciones posteriores utilizarán automáticamente la misma función de incrustación, sin necesidad de especificarla repetidamente.

Consideraciones de Seguridad

Por razones de seguridad, se recomienda utilizar el parámetro --dotenv-path para especificar la ruta del archivo de configuración del entorno, evitando exponer directamente las claves API en los parámetros de la línea de comandos.

Capacidades de Búsqueda Avanzada

  • Búsqueda de Vectores: Búsqueda de vectores basada en la similitud semántica.
  • Búsqueda de Texto Completo: Búsqueda tradicional de coincidencia de texto.
  • Filtrado de Metadatos: Filtrado preciso basado en los metadatos del documento.
  • Búsqueda Híbrida: Consulta compuesta que combina múltiples métodos de búsqueda.

Escenarios de Aplicación

Base de Conocimiento Compartida

Construye una base de conocimiento compartida para equipos u organizaciones, que admita la recuperación inteligente y el descubrimiento de conocimiento.

Memoria de Ventana de Contexto

Agrega capacidad de memoria a largo plazo a las aplicaciones LLM, extendiendo las limitaciones de la ventana de contexto.

Sistema de Preguntas y Respuestas sobre Documentos

Construye un sistema inteligente de preguntas y respuestas basado en una biblioteca de documentos, que admita la búsqueda semántica y la recuperación precisa.

Gestión Personal del Conocimiento

Crea un sistema de gestión personal del conocimiento, que admita el almacenamiento de datos multimodales y la recuperación inteligente.

Resumen del Proyecto

Chroma MCP es una implementación de servidor de base de datos de vectores potente y flexible, que combina la potente capacidad de Chroma con las ventajas de estandarización del Protocolo de Contexto del Modelo. Al proporcionar múltiples tipos de cliente, ricas funciones de operación de documentos y opciones de configuración flexibles, proporciona a los desarrolladores una sólida infraestructura de datos para construir aplicaciones de IA inteligentes.

Ya sea para un cliente en memoria para el desarrollo de prototipos o para la integración de servicios en la nube en un entorno de producción, Chroma MCP puede proporcionar una experiencia de API consistente y una capacidad de recuperación de datos de alto rendimiento. Su soporte para múltiples funciones de incrustación y funciones de búsqueda avanzada lo convierten en una opción ideal para construir aplicaciones de IA modernas.

La naturaleza de código abierto del proyecto y el soporte activo de la comunidad garantizan su desarrollo y mejora continuos. Para los desarrolladores que desean integrar una potente capacidad de recuperación de datos en aplicaciones LLM, Chroma MCP es sin duda una excelente solución a considerar.