MCP ArcKnowledge
Gestiona y consulta bases de conocimiento personalizadas mediante endpoints de webhook.
Documentación
MCP ArcKnowledge
¿Cómo funciona?

Este es un servidor de Protocolo de Contexto de Modelo (MCP) para tus endpoints de webhook personalizados (base de conocimiento).
Con esto puedes gestionar y consultar fácilmente tu lista de base de conocimiento (endpoints de webhook). Puedes añadir nuevas fuentes de documentos registrando sus URLs y, opcionalmente, proporcionar una descripción y una clave de API.
También puedes listar todas las fuentes de documentos registradas y ver sus detalles.
Cuando estés listo para preguntar/buscar, puedes consultar la base de conocimiento con una pregunta de texto, especificando qué fuentes buscar o dejándolo en blanco para buscar en todas.
La herramienta agregará los resultados de las fuentes consultadas y te los proporcionará.
Requisitos previos
- Go
- Python 3.6+
- Aplicación Anthropic Claude Desktop (o Cursor o Cline)
- UV (gestor de paquetes de Python), instalar con
curl -LsSf https://astral.sh/uv/install.sh | sh
Concepto
Imagina poder crear una configuración unificada donde puedas conectar todos tus endpoints webhook de base de conocimiento personalizados en una sola configuración, eliminando la necesidad de múltiples servidores MCP.
Demo

Instalación y configuración
Instalación mediante Smithery
Para instalar ArcKnowledge para Claude Desktop automáticamente mediante Smithery:
npx -y @smithery/cli install @dragonjump/mcp-ARCknowledge --client claude
- Clonar el repositorio
git clone https://github.com/dragonjump/mcp-arcknowledge
cd mcp-arcknowledge
-
Configurar endpoints Haz una copia o cambia
knowledge_document_sources.json. Consulta la carpetasample_endpointpara referencias sobre el esquema de API de endpoints de conocimiento actualmente soportado. Puedes cambiar el código como desees para adaptarlo a tus necesidades. -
Conectar al servidor MCP
Copia el siguiente json con los valores {{PATH}} apropiados:
{ "mcpServers": { "mcp-arcknowledge": { "command": "cmd /c uv", "args": [ "--directory", "C:/Users/Acer/OneDrive/GitHub/YourDrive", "run", "main.py" ], "env": { "DOCUMENT_SOURCES_PATH": "C:/Users/Acer/OneDrive/GitHub/YourDrive/testcustomother.json" } } } }
Para Claude, guarda esto como claude_desktop_config.json en tu directorio de configuración de Claude Desktop en:
~/Library/Application Support/Claude/claude_desktop_config.json
Para Cursor, guarda esto como mcp.json en tu directorio de configuración de Cursor en:
~/.cursor/mcp.json
Para cline, guarda esto como cline_mcp_settings.json en tu configuración
- Reiniciar el cliente: Claude Desktop / Cursor / Cline / Windsurf Abre y reinicia tu IDE de cliente para MCP. Por ejemplo, Claude/Cursor/Cline, etc.
Compatibilidad con Windows
Si estás ejecutando este proyecto en Windows, ten en cuenta que go-sqlite3 requiere que CGO esté habilitado para compilar y funcionar correctamente. Por defecto, CGO está deshabilitado en Windows, por lo que debes habilitarlo explícitamente y tener un compilador de C instalado.
Pasos para que funcione:
- Instalar un compilador de C
Recomendamos usar MSYS2 para instalar un compilador de C para Windows. Después de instalar MSYS2, asegúrate de añadir la carpetaucrt64\bina tuPATH.
→ Hay una guía paso a paso disponible aquí.
Descripción general de la arquitectura
Esta aplicación consta de un componente principal simple:
Servidor MCP de Python (main.py): Un servidor de Python que implementa el Protocolo de Contexto de Modelo (MCP), que proporciona herramientas estandarizadas para que el cliente interactúe con los datos e invoque llamadas a la API.
Almacenamiento de datos
- Todo el almacenamiento es local en tiempo de ejecución del servidor principal de Python.
Detalles técnicos
- El cliente envía solicitudes al servidor MCP de Python
- El servidor MCP consulta su base de conocimiento de configuración en tiempo de ejecución.
- Luego, según tus consultas, llama a la API de endpoint de tu base de conocimiento.
Solución de problemas
- Si encuentras problemas de permisos al ejecutar uv, es posible que necesites añadirlo a tu PATH o usar la ruta completa al ejecutable.
- Asegúrate de que tanto la aplicación Go como el servidor de Python estén ejecutándose para que la integración funcione correctamente.
Iniciar el servidor
- Configuración Ejecuta el servidor en modo de desarrollo:
fastmcp dev main.py
O instálalo para usarlo con Claude:
fastmcp install main.py
Herramientas disponibles
1. Carga por defecto la lista de conocimiento desde knowledge_document_sources.json
Carga por defecto las fuentes de conocimiento desde la configuración
knowledge_document_sources.json
Puedes cargar conocimiento personalizado desde la configuración de entorno mcp.json
"env": {
"DOCUMENT_SOURCES_PATH": "C:/Users/Acer/OneDrive/Somewhere/YourDrive/your-custom.json"
}
2. Listar todas las fuentes de conocimiento registradas actualmente
Muestra y explica la lista de todas las fuentes de conocimiento registradas.
eg. Show me my arcknowledge list
3. Añadir nueva fuente de documento de conocimiento
Añade nuevas fuentes de documentos con URL de endpoint de arcknowledge. Proporciona URL, descripción, propósito y clave de API (si la hay)
eg. Add new arcknowledge data source. Endpoint is http://something.com/api/123.
Purpose is to handle questions on 123 topic. Api key is 'sk-2123123'
4. Consultar una fuente de documento de conocimiento específica
Consulta la base de arcknowledge construida a partir de estas fuentes usando query_knowledge_base.
eg. Query for me my knowledge base for product. Question is : Which is most expensive product?
eg. Query for me my arcknowledge base for business. Question is :When is the business established?
eg. Query for me all my arcknowledge base . Question is :When is the business established? Which is most expensive product?
Funciones de las herramientas
-
add_new_knowledge_document_source(url: str, description:str = None, apikey:str = None) -> str- Registra una nueva URL de fuente de documento, opcionalmente con una descripción y clave de API.
- Devuelve: Mensaje de confirmación con el ID de la nueva fuente.
-
list_knowledge_document_sources() -> Dict[str, Dict[str, str]]- Lista todas las fuentes de documentos registradas.
- Devuelve: Diccionario que mapea los IDs de las fuentes a sus detalles (URL, descripción, clave de API).
-
query_knowledge_base(query: str, source_ids: List[str] = [], image: str = '') -> str- Consulta las fuentes de documentos especificadas (o todas si no se especifica ninguna) con una consulta de texto y datos de imagen opcionales.
- Devuelve: Resultados agregados de las fuentes consultadas.
Desarrollo
Archivos cruciales / Estructura del proyecto
mcp-arcknowledge/
├── main.py # Main server implementation
├── README.md # Documentation
├── requirements.txt # Project dependencies
Configuración de MCP en Cursor AI
- Crea un archivo
mcp.jsonen la raíz de tu proyecto:
{
"name": "mcp-webhook-ai-agent",
"version": "1.0.0",
"description": "Webhook AI agent with RAG capabilities",
"main": "main.py",
"tools": [
{
"name": "set_document_source",
"description": "Register a new document source URL for RAG operations"
},
{
"name": "list_document_sources",
"description": "List all registered document sources"
},
{
"name": "query_rag",
"description": "Query the specified document sources using RAG"
},
{
"name": "process_post_query",
"description": "Process a POST request with a query payload"
}
],
"dependencies": {
"fastmcp": ">=0.4.0",
"requests": ">=2.31.0",
"pydantic": ">=2.0.0"
}
}
-
Configura Cursor AI:
- Abre la configuración de Cursor AI
- Navega a la sección de MCP
- Añade la ruta a tu archivo
mcp.json - Reinicia Cursor AI para aplicar los cambios
-
Verificar la configuración:
# Check if MCP is properly configured
fastmcp check mcp.json
# List available tools
fastmcp list
Añadir nuevas funciones
- Define nuevos modelos en
main.py - Añade nuevas herramientas usando el decorador
@mcp.tool() - Actualiza la documentación según sea necesario
Licencia
MIT
Contribuciones
- Haz un fork del repositorio
- Crea tu rama de características
- Haz commit de tus cambios
- Haz push a la rama
- Crea un nuevo Pull Request
