MCP ArcKnowledge

Gerencie e consulte bases de conhecimento personalizadas usando endpoints de webhook.

Documentação

MCP ArcKnowledge

smithery badge arc knowledge MCP

Como funciona?

arc knowledge diagram

Este é um servidor Model Context Protocol (MCP) para seus endpoints de webhook personalizados (base de conhecimento).

Com ele, você pode facilmente gerenciar e consultar sua lista de base de conhecimento (endpoints de webhook). Você pode adicionar novas fontes de documentos registrando suas URLs e, opcionalmente, fornecer uma descrição e chave de API.

Você também pode listar todas as fontes de documentos registradas e visualizar seus detalhes.

Quando estiver pronto para perguntar/pesquisar, você pode consultar a base de conhecimento com uma pergunta de texto, especificando quais fontes pesquisar ou deixando em branco para pesquisar todas elas.

A ferramenta então agregará os resultados das fontes consultadas e os fornecerá a você.

Pré-requisitos

  • Go
  • Python 3.6+
  • Aplicativo Anthropic Claude Desktop (ou Cursor ou Cline)
  • UV (gerenciador de pacotes Python), instale com curl -LsSf https://astral.sh/uv/install.sh | sh

Conceito

Imagine poder unificar uma configuração única onde você conecta todos os endpoints de webhook da sua base de conhecimento personalizada em uma única configuração, eliminando a necessidade de múltiplos servidores MCP.

Demonstração

arcknowledge demo cursor arcknowledge demo cursor arcknowledge demo cline

Veja o vídeo do mcp cursor

Instalação e Configuração

Instalando via Smithery

Para instalar o ArcKnowledge para Claude Desktop automaticamente via Smithery:

npx -y @smithery/cli install @dragonjump/mcp-ARCknowledge --client claude
  1. Clonar repositório
git clone https://github.com/dragonjump/mcp-arcknowledge
cd mcp-arcknowledge
  1. Configurar endpoints Faça uma cópia ou altere knowledge_document_sources.json. Consulte a pasta sample_endpoint para referências sobre o esquema de API dos endpoints de conhecimento atualmente suportados. Você pode alterar o código como desejar para atender às suas necessidades.

  2. Conectar ao servidor MCP

    Copie o json abaixo com os valores {{PATH}} apropriados:

     {
         "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, salve isso como claude_desktop_config.json no diretório de configuração do Claude Desktop em:

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

Para Cursor, salve isso como mcp.json no diretório de configuração do Cursor em:

~/.cursor/mcp.json

Para cline, salve isso como cline_mcp_settings.json na sua configuração

  1. Reiniciar o Cliente: Claude Desktop / Cursor / Cline / Windsurf Abra e reinicie seu IDE cliente para o mcp. Ex: Claude/Cursor/Cline/etc

Compatibilidade com Windows

Se você estiver executando este projeto no Windows, esteja ciente de que go-sqlite3 requer CGO habilitado para compilar e funcionar corretamente. Por padrão, CGO está desabilitado no Windows, então você precisa habilitá-lo explicitamente e ter um compilador C instalado.

Passos para fazer funcionar:

  1. Instalar um compilador C
    Recomendamos usar MSYS2 para instalar um compilador C para Windows. Após instalar o MSYS2, certifique-se de adicionar a pasta ucrt64\bin ao seu PATH.
    → Um guia passo a passo está disponível aqui.

Visão Geral da Arquitetura

Este aplicativo consiste em um componente principal simples:

Servidor MCP Python (main.py): Um servidor Python que implementa o Model Context Protocol (MCP), que fornece ferramentas padronizadas para o cliente interagir com dados e invocar chamadas de API.

Armazenamento de Dados

  • Todo o armazenamento é local em tempo de execução no servidor Python principal.

Detalhes Técnicos

  1. O cliente envia solicitações ao servidor MCP Python
  2. O servidor MCP consulta sua base de conhecimento de configuração em tempo de execução.
  3. Então, com base nas suas consultas, ele chama a API do endpoint da sua base de conhecimento,

Solução de Problemas

  • Se você encontrar problemas de permissão ao executar o uv, pode ser necessário adicioná-lo ao seu PATH ou usar o caminho completo para o executável.
  • Certifique-se de que tanto o aplicativo Go quanto o servidor Python estejam em execução para que a integração funcione corretamente.

Iniciando o Servidor

  1. Configuração Execute o servidor em modo de desenvolvimento:
fastmcp dev main.py

Ou instale-o para uso com Claude:

fastmcp install main.py

Ferramentas Disponíveis

1. Carrega por padrão a lista de conhecimento de knowledge_document_sources.json

Carrega por padrão as fontes de conhecimento da configuração

knowledge_document_sources.json
 

Você pode carregar conhecimento personalizado da configuração de ambiente do mcp.json


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

2. Listar todas as fontes de conhecimento atualmente registradas

Mostra e explica a lista de todas as fontes de conhecimento registradas.

eg. Show me my arcknowledge list 
 

3. Adicionar Nova Fonte de Documento de Conhecimento

Adicione novas fontes de documentos de endpoint de URL do arcknowledge. Forneça url, descrição, propósito e apikey (se houver)

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 Fonte Específica de Documento de Conhecimento

Consulte a base de conhecimento do arcknowledge construída a partir dessas fontes 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?

Funções das Ferramentas

  1. add_new_knowledge_document_source(url: str, description:str = None, apikey:str = None) -> str

    • Registra uma nova URL de fonte de documento, opcionalmente com uma descrição e chave de API.
    • Retorna: Mensagem de confirmação com o ID da nova fonte.
  2. list_knowledge_document_sources() -> Dict[str, Dict[str, str]]

    • Lista todas as fontes de documentos registradas.
    • Retorna: Dicionário mapeando IDs de fontes para seus detalhes (URL, descrição, chave de API).
  3. query_knowledge_base(query: str, source_ids: List[str] = [], image: str = '') -> str

    • Consulta fontes de documentos especificadas (ou todas se nenhuma for especificada) com uma consulta de texto e dados de imagem opcionais.
    • Retorna: Resultados agregados das fontes consultadas.

Desenvolvimento

Arquivos Cruciais - Estrutura do Projeto

mcp-arcknowledge/
├── main.py          # Main server implementation
├── README.md           # Documentation
├── requirements.txt    # Project dependencies

Configuração MCP do Cursor AI

  1. Crie um arquivo mcp.json na raiz do seu projeto:
{
    "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. Configure o Cursor AI:

    • Abra as configurações do Cursor AI
    • Navegue até a seção MCP
    • Adicione o caminho para o seu arquivo mcp.json
    • Reinicie o Cursor AI para aplicar as alterações
  2. Verifique a Configuração:

# Check if MCP is properly configured
fastmcp check mcp.json

# List available tools
fastmcp list

Adicionando Novos Recursos

  1. Defina novos modelos em main.py
  2. Adicione novas ferramentas usando o decorador @mcp.tool()
  3. Atualize a documentação conforme necessário

Licença

MIT

Contribuindo

  1. Faça um fork do repositório
  2. Crie sua branch de recurso
  3. Faça commit das suas alterações
  4. Envie para a branch
  5. Crie um novo Pull Request