Chroma MCP Server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

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+

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.

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

Un servidor de protocolo de contexto de modelo que proporciona capacidades de base de datos vectorial a través de Chroma, lo que permite la búsqueda semántica de documentos, el filtrado de metadatos y la gestión de documentos con almacenamiento persistente.

  1. Requirements
    1. Components
      1. Resources
      2. Tools
    2. Features
      1. Installation
        1. Configuration
          1. Claude Desktop
          2. Data Storage
        2. Usage
          1. Error Handling
            1. Development
              1. Testing
              2. Building
            2. Contributing
              1. License
                ID: 43djartgsh