MCP ArcKnowledge
Gerencie e consulte bases de conhecimento personalizadas usando endpoints de webhook.
Documentação
MCP ArcKnowledge
Como funciona?

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

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
- Clonar repositório
git clone https://github.com/dragonjump/mcp-arcknowledge
cd mcp-arcknowledge
-
Configurar endpoints Faça uma cópia ou altere
knowledge_document_sources.json. Consulte a pastasample_endpointpara 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. -
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
- 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:
- Instalar um compilador C
Recomendamos usar MSYS2 para instalar um compilador C para Windows. Após instalar o MSYS2, certifique-se de adicionar a pastaucrt64\binao seuPATH.
→ 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
- O cliente envia solicitações ao servidor MCP Python
- O servidor MCP consulta sua base de conhecimento de configuração em tempo de execução.
- 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
- 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
-
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.
-
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).
-
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
- Crie um arquivo
mcp.jsonna 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"
}
}
-
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
-
Verifique a Configuração:
# Check if MCP is properly configured
fastmcp check mcp.json
# List available tools
fastmcp list
Adicionando Novos Recursos
- Defina novos modelos em
main.py - Adicione novas ferramentas usando o decorador
@mcp.tool() - Atualize a documentação conforme necessário
Licença
MIT
Contribuindo
- Faça um fork do repositório
- Crie sua branch de recurso
- Faça commit das suas alterações
- Envie para a branch
- Crie um novo Pull Request
