MCP-ArcKnowledge

by dragonjump
Verified

local-only server

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

Integrations

  • Provides tools for managing and querying custom knowledge base webhook endpoints, allowing users to register sources, list available knowledge bases, and perform searches across one or multiple sources.

ArcKnowledge de MCP

¿Cómo funciona?

Este es un servidor de Protocolo de contexto de modelo (MCP) para sus puntos finales de webhook personalizados (base de conocimiento).

Con esto, puede administrar y consultar fácilmente su base de conocimiento (puntos finales de webhook). Puede agregar nuevas fuentes de documentos registrando sus URL y, opcionalmente, proporcionar una descripción y una clave API.

También puede enumerar todas las fuentes de documentos registradas y ver sus detalles.

Cuando esté listo para preguntar o buscar, puede consultar la base de conocimiento con una pregunta de texto, especificando qué fuentes buscar o dejándola en blanco para buscar en todas.

Luego, la herramienta agregará los resultados de las fuentes consultadas y se los proporcionará.

Prerrequisitos

  • Ir
  • Python 3.6+
  • Aplicación de escritorio Anthropic Claude (o Cursor o Cline)
  • UV (administrador de paquetes de Python), instalar con curl -LsSf https://astral.sh/uv/install.sh | sh

Concepto

Imagine poder unir una configuración unificada donde pueda conectar todos sus puntos finales de base de conocimiento personalizados en una sola configuración, eliminando la necesidad de múltiples servidores MCP.

Manifestación

Ver vídeo del cursor mcp

Configuración de la instalación

  1. Clonar repositorio
git clone https://github.com/dragonjump/mcp-arcknowledge cd mcp-arcknowledge
  1. Configurar puntos finales . Copiar o modificar knowledge_document_sources.json . Consultar la carpeta sample_endpoint para obtener referencias sobre el esquema de API de puntos finales de conocimiento compatible. Puedes modificar el código según tus necesidades.
  2. Conectarse al servidor MCPCopie 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 , guarde esto como claude_desktop_config.json en su directorio de configuración de Claude Desktop en:

~/Library/Application Support/Claude/claude_desktop_config.json

Para Cursor , guarde esto como mcp.json en su directorio de configuración de Cursor en:

~/.cursor/mcp.json

Para cline , guarde esto como cline_mcp_settings.json en su configuración

  1. Reiniciar cliente: Claude Desktop / Cursor / Cline / Windsurf Abra y reinicie su ide de cliente para mcp, por ejemplo Claude/Cursor/Cline/etc.

Compatibilidad con Windows

Si ejecuta este proyecto en Windows, tenga en cuenta que go-sqlite3 requiere que CGO esté habilitado para compilar y funcionar correctamente. De forma predeterminada, CGO está deshabilitado en Windows , por lo que debe habilitarlo explícitamente y tener instalado un compilador de C.

Pasos para que funcione:

  1. Instalar un compilador de C
    Recomendamos utilizar MSYS2 para instalar un compilador de C para Windows. Después de instalar MSYS2, asegúrese de agregar la carpeta ucrt64\bin a su PATH .
    → Una guía paso a paso está 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 Python que implementa el Protocolo de contexto de modelo (MCP), que proporciona herramientas estandarizadas al cliente para interactuar con datos e invocar llamadas API.

Almacenamiento de datos

  • Todo el almacenamiento se ejecuta en el servidor Python principal local.

Detalles técnicos

  1. El cliente envía solicitudes al servidor MCP de Python
  2. El servidor MCP busca en su base de conocimientos de configuración de tiempo de ejecución.
  3. Luego, en función de sus consultas, llama a la API del punto final de su base de conocimientos.

Solución de problemas

  • Si encuentra problemas de permisos al ejecutar uv, es posible que deba agregarlo a su PATH o usar la ruta completa al ejecutable.
  • Asegúrese de que tanto la aplicación Go como el servidor Python estén ejecutándose para que la integración funcione correctamente.

Iniciando el servidor

  1. Configuración Ejecute 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 predeterminada la lista de conocimientos desde knowledge_document_sources.json

Las fuentes de conocimiento se cargan de forma predeterminada desde la configuración

knowledge_document_sources.json

Puede cargar conocimiento personalizado desde la configuración del entorno mcp.json

"env": { "DOCUMENT_SOURCES_PATH": "C:/Users/Acer/OneDrive/Somewhere/YourDrive/your-custom.json" }

2. Enumere 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. Agregar nueva fuente de documentos de conocimiento

Añadir nuevas fuentes de documentos de URL de punto final de arcknowledge. Proporcionar la URL, el propósito de la descripción y la clave de API (si corresponde).

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. Consulta de fuentes de documentos de conocimiento específico

Consulte la base de conocimiento creada a partir de estas fuentes utilizando 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 la herramienta

  1. add_new_knowledge_document_source(url: str, description:str = None, apikey:str = None) -> str
    • Registra una nueva URL de origen del documento, opcionalmente con una descripción y una clave API.
    • Devuelve: Mensaje de confirmación con el nuevo ID de fuente.
  2. list_knowledge_document_sources() -> Dict[str, Dict[str, str]]
    • Enumera todas las fuentes de documentos registradas.
    • Devoluciones: Diccionario que asigna los ID de origen a sus detalles (URL, descripción, clave API).
  3. query_knowledge_base(query: str, source_ids: List[str] = [], image: str = '') -> str
    • Consulta 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 del MCP de Cursor AI

  1. Crea un archivo mcp.json en 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" } }
  1. Configurar Cursor AI:
    • Abrir la configuración de Cursor AI
    • Navegar a la sección MCP
    • Añade la ruta a tu archivo mcp.json
    • Reinicie Cursor AI para aplicar los cambios
  2. Verificar configuración:
# Check if MCP is properly configured fastmcp check mcp.json # List available tools fastmcp list

Añadiendo nuevas funciones

  1. Definir nuevos modelos en main.py
  2. Agregue nuevas herramientas usando el decorador @mcp.tool()
  3. Actualice la documentación según sea necesario

Licencia

Instituto Tecnológico de Massachusetts (MIT)

Contribuyendo

  1. Bifurcar el repositorio
  2. Crea tu rama de funciones
  3. Confirme sus cambios
  4. Empujar hacia la rama
  5. Crear una nueva solicitud de extracción
-
security - not tested
A
license - permissive license
-
quality - not tested

Con esto, puede administrar y consultar fácilmente su base de conocimiento (puntos finales de webhook). Puede agregar nuevas fuentes de documentos registrando sus URL y, opcionalmente, proporcionar una descripción y una clave API.

También puede enumerar todas las fuentes de documentos registradas y ver sus detalles.

Cuando estas

  1. How it works?
    1. Prerequisites
  2. Concept
    1. Demo
      1. Setup Installation
        1. Windows Compatibility
      2. Architecture Overview
        1. Data Storage
      3. Technical Details
        1. Troubleshooting
          1. Starting the Server
          2. Available Tools
        2. Development
          1. Crucial filesProject Structure
          2. Cursor AI MCP Configuration
          3. Adding New Features
        3. License
          1. Contributing
            ID: jayu8rcbpk