Skip to main content
Glama

Servidor Chroma MCP

Una implementación de servidor del Protocolo de Contexto de Modelo (MCP) que proporciona capacidades de base de datos vectorial a través de Chroma. Este servidor permite la búsqueda semántica de documentos, el filtrado de metadatos y la gestión de documentos con almacenamiento persistente.

Requisitos

  • Python 3.8+

  • Croma 0.4.0+

  • SDK de MCP 0.1.0+

Related MCP server: doc-lib-mcp

Componentes

Recursos

El servidor proporciona almacenamiento y recuperación de documentos a través de la base de datos vectorial de Chroma:

  • Almacena documentos con contenido y metadatos.

  • Conserva los datos en el directorio src/chroma/data

  • Admite búsqueda de similitud semántica

Herramientas

El servidor implementa operaciones CRUD y funcionalidad de búsqueda:

Gestión de documentos

  • create_document : Crea un nuevo documento

    • Obligatorio: document_id , content

    • Opcional: metadata (pares clave-valor)

    • Devoluciones: Confirmación de éxito

    • Error: Ya existe, entrada no válida

  • read_document : Recuperar un documento por ID

    • Obligatorio: document_id

    • Devuelve: Contenido del documento y metadatos

    • Error: No encontrado

  • update_document : Actualizar un documento existente

    • Obligatorio: document_id , content

    • Opcional: metadata

    • Devoluciones: Confirmación de éxito

    • Error: No encontrado, entrada no válida

  • delete_document : Eliminar un documento

    • Obligatorio: document_id

    • Devoluciones: Confirmación de éxito

    • Error: No encontrado

  • list_documents : Lista todos los documentos

    • Opcional: limit , offset

    • Devuelve: Lista de documentos con contenido y metadatos

Operaciones de búsqueda

  • search_similar : Encuentra documentos semánticamente similares

    • Requerido: query

    • Opcional: num_results , metadata_filter , content_filter

    • Devoluciones: Lista clasificada de documentos similares con puntuaciones de distancia

    • Error: Filtro no válido

Características

  • Búsqueda semántica : encuentre documentos según su significado utilizando las incrustaciones de Chroma

  • Filtrado de metadatos : Filtrar los resultados de búsqueda por campos de metadatos

  • Filtrado de contenido : filtrado adicional basado en el contenido del documento

  • Almacenamiento persistente : los datos persisten en el directorio local entre reinicios del servidor

  • Manejo de errores : Manejo de errores integral con mensajes claros

  • Lógica de reintento : reintentos automáticos para fallas transitorias

Instalación

  1. Instalar dependencias:

uv venv uv sync --dev --all-extras

Configuración

Escritorio de Claude

Agregue la configuración del servidor a su configuración de Claude Desktop:

Windows: C:\Users\<username>\AppData\Roaming\Claude\claude_desktop_config.json

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{ "mcpServers": { "chroma": { "command": "uv", "args": [ "--directory", "C:/MCP/server/community/chroma", "run", "chroma" ] } } }

Almacenamiento de datos

El servidor almacena datos en:

  • Ventanas: src/chroma/data

  • MacOS/Linux: src/chroma/data

Uso

  1. Iniciar el servidor:

uv run chroma
  1. Utilice herramientas MCP para interactuar con el servidor:

# Create a document create_document({ "document_id": "ml_paper1", "content": "Convolutional neural networks improve image recognition accuracy.", "metadata": { "year": 2020, "field": "computer vision", "complexity": "advanced" } }) # Search similar documents search_similar({ "query": "machine learning models", "num_results": 2, "metadata_filter": { "year": 2020, "field": "computer vision" } })

Manejo de errores

El servidor proporciona mensajes de error claros para escenarios comunes:

  • Document already exists [id=X]

  • Document not found [id=X]

  • Invalid input: Missing document_id or content

  • Invalid filter

  • Operation failed: [details]

Desarrollo

Pruebas

  1. Ejecute el Inspector MCP para realizar pruebas interactivas:

npx @modelcontextprotocol/inspector uv --directory C:/MCP/server/community/chroma run chroma
  1. Utilice la interfaz web del inspector para:

    • Prueba de operaciones CRUD

    • Verificar la funcionalidad de búsqueda

    • Comprobar el manejo de errores

    • Supervisar los registros del servidor

Edificio

  1. Actualizar dependencias:

uv compile pyproject.toml
  1. Paquete de compilación:

uv build

Contribuyendo

¡Agradecemos sus contribuciones! Lea nuestras Pautas de Contribución para obtener más información sobre:

  • Estilo de código

  • Requisitos de prueba

  • Proceso de solicitud de extracción

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

Latest Blog Posts

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/privetin/chroma'

If you have feedback or need assistance with the MCP directory API, please join our Discord server