Contextual MCP Server
Un servidor para generación aumentada por recuperación (RAG) que utiliza la plataforma Contextual AI.
Documentación
Contextual MCP Server
Un servidor de Model Context Protocol (MCP) que proporciona capacidades de RAG (Generación Aumentada por Recuperación) utilizando Contextual AI. Este servidor se integra con una variedad de clientes MCP. Ofrece flexibilidad para que puedas decidir qué funcionalidad ofrecer en el servidor. En este readme, mostraremos la integración con tanto Cursor IDE como Claude Desktop.
Contextual AI ahora ofrece un servidor alojado dentro de la plataforma disponible en: https://mcp.app.contextual.ai/mcp/
Después de conectarte al servidor, puedes usar las herramientas, como query, proporcionadas por el servidor MCP de la plataforma.
Para un tutorial completo, consulta la guía de usuario de MCP.
Resumen
Un servidor MCP actúa como puente entre interfaces de IA (Cursor IDE o Claude Desktop) y un agente especializado de Contextual AI. Permite:
- Procesamiento de consultas: Dirige tus preguntas específicas de dominio a un agente dedicado de Contextual AI.
- Recuperación inteligente: Busca a través de información completa en tu base de conocimiento.
- Respuestas conscientes del contexto: Genera respuestas que:
- Se basan en la documentación fuente
- Incluyen citas y atribuciones
- Mantienen el contexto de la conversación
Flujo de integración
Cursor/Claude Desktop → MCP Server → Contextual AI RAG Agent
↑ ↓ ↓
└──────────────────┴─────────────┴─────────────── Response with citations
Requisitos previos
- Python 3.10 o superior
- Cursor IDE y/o Claude Desktop
- Clave de API de Contextual AI
- Entorno compatible con MCP
Instalación
- Clona el repositorio:
git clone https://github.com/ContextualAI/contextual-mcp-server.git
cd contextual-mcp-server
- Crea y activa un entorno virtual:
python -m venv .venv
source .venv/bin/activate # On Windows, use `.venv\Scripts\activate`
- Instala las dependencias:
pip install -e .
Configuración
Configurar el servidor MCP
El servidor requiere modificaciones de configuración o uso. Por ejemplo, el servidor single_agent debe personalizarse con un docstring apropiado para tu agente RAG.
El docstring de tu herramienta de consulta es crítico, ya que ayuda al cliente MCP a entender cuándo enrutar preguntas a tu agente RAG. Hazlo específico para tu dominio de conocimiento. Aquí hay un ejemplo:
A research tool focused on financial data on the largest US firms
o
A research tool focused on technical documents for Omaha semiconductors
El servidor también requiere las siguientes configuraciones de tu agente RAG:
API_KEY: Tu clave de API de Contextual AIAGENT_ID: Tu ID de agente de Contextual AI
Si deseas almacenar estos archivos en el archivo .env, puedes especificarlos de la siguiente manera:
cat > .env << EOF
API_KEY=key...
AGENT_ID=...
EOF
El repositorio también contiene servidores MPC más avanzados para sistemas multi-agente o un agente de documentos.
Integración con interfaces de IA
Este servidor MCP se puede integrar con una variedad de clientes. Para usarlo con Cursor IDE o Claude Desktop, crea o modifica el archivo de configuración MCP en la ubicación adecuada:
- Primero, encuentra la ruta a tu instalación de
uv:
UV_PATH=$(which uv)
echo $UV_PATH
# Example output: /Users/username/miniconda3/bin/uv
- Crea el archivo de configuración usando la ruta completa del paso 1:
cat > mcp.json << EOF
{
"mcpServers": {
"ContextualAI-TechDocs": {
"command": "$UV_PATH", # make sure this is set properly
"args": [
"--directory",
"\${workspaceFolder}", # Will be replaced with your project path
"run",
"multi-agent/server.py"
]
}
}
}
EOF
- Muévete a la ubicación de carpeta correcta, consulta las opciones a continuación:
mkdir -p .cursor/
mv mcp.json .cursor/
Ubicaciones de configuración:
- Para Cursor:
- Específico del proyecto:
.cursor/mcp.jsonen tu directorio de proyecto - Global:
~/.cursor/mcp.jsonpara acceso a nivel de sistema - Para Claude Desktop:
- Usa el mismo formato de archivo de configuración en el directorio de configuración apropiado de Claude Desktop
Configuración del entorno
Este proyecto utiliza uv para la gestión de dependencias, lo que proporciona una instalación de paquetes de Python más rápida y confiable.
Uso
El servidor proporciona capacidades RAG de Contextual AI utilizando el SDK de Python, que puede ofrecer una variedad de comandos accesibles desde clientes MCP, como Cursor IDE y Claude Desktop. El servidor actual se centra en usar el comando query del SDK de Python de Contextual AI, sin embargo, podrías extenderlo para admitir otras funciones como listar todos los agentes, actualizar configuraciones de recuperación, actualizar prompts, extraer recuperaciones o descargar métricas.
Ejemplo de uso
# In Cursor, you might ask:
"Show me the code for initiating the RF345 microchip?"
# The MCP client will:
1. Determine if this should be routed to the MCP Server
# Then the MCP server will:
1. Route the query to the Contextual AI agent
2. Retrieve relevant documentation
3. Generate a response with specific citations
4. Return the formatted answer to Cursor
Beneficios clave
- Respuestas precisas: Todas las respuestas se basan en tu documentación
- Atribución de fuentes: Cada respuesta incluye referencias a los documentos fuente
- Conciencia del contexto: El sistema mantiene el contexto de la conversación para preguntas de seguimiento
- Actualizaciones en tiempo real: Las respuestas reflejan la documentación más reciente en tu almacén de datos
Desarrollo
Modificación del servidor
Para agregar nuevas capacidades:
- Agrega nuevas herramientas creando funciones adicionales decoradas con
@mcp.tool() - Define los parámetros de la herramienta usando sugerencias de tipo de Python
- Proporciona un docstring claro que describa la funcionalidad de la herramienta
Ejemplo:
@mcp.tool()
def new_tool(param: str) -> str:
"""Description of what the tool does"""
# Implementation
return result
Limitaciones
- El servidor se ejecuta localmente y puede no funcionar en entornos de desarrollo remotos
- Las respuestas de las herramientas están sujetas a los límites y cuotas de la API de Contextual AI
- Actualmente solo admite el modo de transporte stdio
Para todas las capacidades de Contextual AI, consulta la documentación oficial.