Knowledge Vault Search
Busca en un vault de conocimiento personal utilizando coincidencia híbrida semántica y por palabras clave.
Documentación
Herramienta de Búsqueda en Knowledge Vault MCP
Esta herramienta proporciona un servidor MCP (Model Context Protocol) que le permite buscar en su knowledge vault personal utilizando coincidencias híbridas semánticas y de palabras clave. El servidor se conecta a la API de Fondu Knowledge Vault para recuperar información relevante de su base de conocimiento personal.
Características
- Búsqueda Híbrida: Combina la búsqueda vectorial semántica con la coincidencia de palabras clave
- Reordenamiento: Utiliza modelos de reordenamiento para priorizar los resultados más relevantes
- Autenticación Flexible: Múltiples métodos de autenticación con resolución basada en prioridad
- Listo para Producción: Manejo integral de errores y registro de actividades
- Compatible con MCP: Funciona con Claude Desktop y otros clientes MCP
- Transporte SSE: Eventos enviados por el servidor para comunicación en tiempo real
Requisitos Previos
- Python 3.8+
- Acceso a la API de Fondu Knowledge Vault
- Token de autenticación válido
Instalación
- Clone este repositorio:
git clone <repository-url>
cd mcp_tools
- Configure el entorno virtual e instale las dependencias:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Configuración de Autenticación
El servidor admite múltiples métodos de autenticación con el siguiente orden de prioridad:
1. Parámetro Explícito (Mayor Prioridad)
Pase el token directamente al llamar a la herramienta.
2. Variables de Entorno
Establezca una de estas variables de entorno:
export FONDU_AUTH_TOKEN="your-token-here"
# or
export FONDU_API_TOKEN="your-token-here"
3. Archivos de Configuración
Cree un archivo de configuración en una de estas ubicaciones:
~/.fondu/config.yaml(recomendado)~/.config/fondu/config.yamlconfig.yaml(en el directorio del proyecto)
Ejemplo de archivo de configuración:
fondu:
auth_token: "your-token-here"
base_url: "https://api.youfondu.com"
server:
host: "127.0.0.1"
port: 8080
debug: true
4. Archivos de Token
Guarde su token en uno de estos archivos:
~/.fondu/token~/.config/fondu/token.fondu_token
Iniciando el Servidor MCP
Método 1: Python Directo (Recomendado)
source .venv/bin/activate
python mcp_fondu_search_user_context/server.py --host 127.0.0.1 --port 8080
Método 2: Usando el script de ejecución
./run.sh
El servidor se iniciará en http://127.0.0.1:8080 con los siguientes endpoints:
/- Página de inicio/health- Verificación de estado/sse- Endpoint de eventos enviados por el servidor para MCP/messages/- Endpoint de manejo de mensajes
Configuración de Claude Desktop
Para usar con Claude Desktop, agregue esto a su ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"knowledge_vault": {
"command": "python",
"args": ["/absolute/path/to/mcp_tools/mcp_fondu_search_user_context/server.py"],
"env": {
"FONDU_AUTH_TOKEN": "your-auth-token-here"
}
}
}
}
Alternativa usando el script de ejecución:
{
"mcpServers": {
"knowledge_vault": {
"command": "/absolute/path/to/mcp_tools/run.sh",
"env": {
"FONDU_AUTH_TOKEN": "your-auth-token-here"
}
}
}
}
Herramientas Disponibles
gather_relevant_user_knowledge
Busque en su knowledge vault utilizando coincidencias híbridas semánticas y de palabras clave.
Parámetros:
query(cadena, obligatorio): Consulta en lenguaje natural para búsqueda semántica y reordenamientoauth_token(cadena, opcional): Token de autenticación (si no se establece mediante entorno/configuración)keywords(cadena, opcional): Términos específicos para priorizar en la coincidencia de palabras clavetop_k(entero, opcional): Número de resultados a devolver (predeterminado: 10)
Devuelve: Una cadena formateada que contiene los resultados más relevantes de su knowledge vault, incluida información de origen y metadatos cuando estén disponibles.
Ejemplo de Respuesta:
Found 3 relevant results in your knowledge vault:
1. Quantum computing uses quantum mechanical phenomena like superposition and entanglement to perform calculations...
Source: quantum_computing_notes.md
Metadata: {'tags': ['physics', 'computing'], 'date': '2024-01-15'}
2. The fundamental principle behind quantum algorithms is the ability to exist in multiple states simultaneously...
Source: research_papers/quantum_algorithms.pdf
Metadata: {'author': 'Dr. Smith', 'year': 2023}
Pruebas
Prueba de Estado del Servidor
curl http://127.0.0.1:8080/health
Prueba de Funcionalidad de la Herramienta
Cree un script de prueba para verificar que la herramienta funciona:
import asyncio
import sys
sys.path.append('mcp_fondu_search_user_context')
from server import gather_relevant_user_knowledge
async def test_tool():
result = await gather_relevant_user_knowledge(
query="machine learning algorithms",
auth_token="your-token-here",
top_k=5
)
print(result)
asyncio.run(test_tool())
Ejemplos de Configuración
Se proporcionan archivos de configuración de ejemplo:
config.yaml.example- Plantilla de configuración del servidorclaude_desktop_config.json.example- Plantilla de configuración de Claude Desktop
Copie estos archivos y personalícelos con su configuración:
cp config.yaml.example ~/.fondu/config.yaml
# Edit with your auth token and preferences
Manejo de Errores y Registro de Actividades
El servidor proporciona un manejo integral de errores:
- Token de Autenticación Faltante: Mensaje de error claro con instrucciones de configuración
- Errores de API: Manejo adecuado de problemas de red y fallos de API
- Tokens Inválidos: Manejo adecuado de errores 403
- Registro de Depuración: Registros detallados para solución de problemas
Los registros se escriben en:
- Salida de error estándar (visible al ejecutar el servidor)
/tmp/error_log.txt(registro de errores de respaldo)
Configuración de API
El servidor se conecta a:
- API de Producción:
https://api.youfondu.com/v1/knowledge/search_knowledge_vault - Protocolo: HTTPS con autenticación de token Bearer
- Tiempo de espera: 30 segundos para solicitudes de API
- Formato: Solicitud/respuesta JSON
Solución de Problemas
Problemas Comunes
-
Errores de Autenticación
- Verifique que su token sea válido y no haya expirado
- Compruebe que el token esté configurado correctamente mediante variable de entorno o archivo de configuración
- Asegúrese de que no haya espacios en blanco adicionales en los archivos de token
-
Problemas de Conexión
- Verifique la conectividad a Internet
- Compruebe si el endpoint de API es accesible:
curl -I https://api.youfondu.com - Asegúrese de que no haya un firewall bloqueando HTTPS saliente
-
Problemas con el Cliente MCP
- Reinicie Claude Desktop después de los cambios de configuración
- Compruebe que se utilicen rutas absolutas en la configuración
- Verifique que el entorno virtual de Python esté activado correctamente
-
Problemas de Inicio del Servidor
- Asegúrese de que todas las dependencias estén instaladas:
pip install -r requirements.txt - Compruebe que el puerto 8080 no esté ya en uso
- Verifique que se esté utilizando Python 3.8+
- Asegúrese de que todas las dependencias estén instaladas:
Modo de Depuración
Para habilitar el registro de depuración, establezca la variable de entorno:
export PYTHONPATH=/path/to/mcp_tools
export DEBUG=1
python mcp_fondu_search_user_context/server.py
Prueba de Métodos de Autenticación
Puede probar diferentes métodos de autenticación:
# Test with environment variable
export FONDU_AUTH_TOKEN="your-token"
python test_auth.py
# Test with config file
echo "fondu:\n auth_token: your-token" > ~/.fondu/config.yaml
python test_auth.py
# Test with token file
echo "your-token" > ~/.fondu/token
python test_auth.py
Desarrollo
Para contribuir o modificar el servidor:
-
Configurar el Entorno de Desarrollo
python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt -
Ejecutar Pruebas
python test_mcp_server.py python test_tool_functionality.py -
Estructura del Código
mcp_fondu_search_user_context/server.py- Implementación principal del servidorrequirements.txt- Dependencias de Pythonrun.sh- Script de conveniencia para iniciar el servidorconfig.yaml.example- Plantilla de configuraciónclaude_desktop_config.json.example- Plantilla de configuración de Claude Desktop
Dependencias
Dependencias principales:
fastapi>=0.109.2- Marco webuvicorn>=0.27.1- Servidor ASGIhttpx>=0.26.0- Cliente HTTPmcp>=1.3.0- Model Context ProtocolPyYAML>=6.0- Soporte de configuración YAML
Consulte requirements.txt para obtener la lista completa de dependencias.
Implementación
AWS App Runner
Este servidor está listo para implementarse en AWS App Runner. Consulte DEPLOYMENT.md para obtener instrucciones detalladas de implementación.
Implementación Rápida:
- Envíe el código a su repositorio de Git
- Cree un servicio de App Runner que apunte a su repositorio
- Establezca la variable de entorno
FONDU_AUTH_TOKEN - ¡Implemente!
El servidor incluye:
- ✅ Configuración de App Runner (
apprunner.yaml) - ✅ Soporte de Docker (
Dockerfile) - ✅ Endpoint de verificación de estado (
/health) - ✅ Configuración de variables de entorno
- ✅ Registro de actividades listo para producción
- ✅ Soporte de escalado automático
Otras Plataformas en la Nube
El servidor se puede implementar en cualquier plataforma que admita:
- Python 3.8+
- Variables de entorno
- Tráfico HTTP/HTTPS en el puerto 8080
Plataformas probadas:
- AWS App Runner ✅
- Contenedores Docker ✅
- Alojamiento VPS tradicional ✅
Licencia
[Agregue aquí su información de licencia]