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/dataAdmite 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 documentoObligatorio:
document_id,contentOpcional:
metadata(pares clave-valor)Devoluciones: Confirmación de éxito
Error: Ya existe, entrada no válida
read_document: Recuperar un documento por IDObligatorio:
document_idDevuelve: Contenido del documento y metadatos
Error: No encontrado
update_document: Actualizar un documento existenteObligatorio:
document_id,contentOpcional:
metadataDevoluciones: Confirmación de éxito
Error: No encontrado, entrada no válida
delete_document: Eliminar un documentoObligatorio:
document_idDevoluciones: Confirmación de éxito
Error: No encontrado
list_documents: Lista todos los documentosOpcional:
limit,offsetDevuelve: Lista de documentos con contenido y metadatos
Operaciones de búsqueda
search_similar: Encuentra documentos semánticamente similaresRequerido:
queryOpcional:
num_results,metadata_filter,content_filterDevoluciones: 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
Instalar dependencias:
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
Almacenamiento de datos
El servidor almacena datos en:
Ventanas:
src/chroma/dataMacOS/Linux:
src/chroma/data
Uso
Iniciar el servidor:
Utilice herramientas MCP para interactuar con el servidor:
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 contentInvalid filterOperation failed: [details]
Desarrollo
Pruebas
Ejecute el Inspector MCP para realizar pruebas interactivas:
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
Actualizar dependencias:
Paquete de compilación:
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.