Knowledge Vault Search
Pesquise em um cofre de conhecimento pessoal usando correspondência híbrida semântica e por palavras-chave.
Documentação
Ferramenta de Busca no Knowledge Vault MCP
Esta ferramenta fornece um servidor MCP (Model Context Protocol) que permite buscar em seu knowledge vault pessoal usando correspondência híbrida semântica e por palavras-chave. O servidor se conecta à API do Fondu Knowledge Vault para recuperar informações relevantes de sua base de conhecimento pessoal.
Recursos
- Busca Híbrida: Combina busca vetorial semântica com correspondência por palavras-chave
- Reordenamento: Usa modelos de reordenamento para priorizar os resultados mais relevantes
- Autenticação Flexível: Múltiplos métodos de autenticação com resolução baseada em prioridade
- Pronto para Produção: Tratamento abrangente de erros e registro de logs
- Compatível com MCP: Funciona com Claude Desktop e outros clientes MCP
- Transporte SSE: Server-Sent Events para comunicação em tempo real
Pré-requisitos
- Python 3.8+
- Acesso à API do Fondu Knowledge Vault
- Token de autenticação válido
Instalação
- Clone este repositório:
git clone <repository-url>
cd mcp_tools
- Configure o ambiente virtual e instale as dependências:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Configuração de Autenticação
O servidor suporta múltiplos métodos de autenticação com a seguinte ordem de prioridade:
1. Parâmetro Explícito (Maior Prioridade)
Passe o token diretamente ao chamar a ferramenta.
2. Variáveis de Ambiente
Defina uma destas variáveis de ambiente:
export FONDU_AUTH_TOKEN="your-token-here"
# or
export FONDU_API_TOKEN="your-token-here"
3. Arquivos de Configuração
Crie um arquivo de configuração em um destes locais:
~/.fondu/config.yaml(recomendado)~/.config/fondu/config.yamlconfig.yaml(no diretório do projeto)
Exemplo de arquivo de configuração:
fondu:
auth_token: "your-token-here"
base_url: "https://api.youfondu.com"
server:
host: "127.0.0.1"
port: 8080
debug: true
4. Arquivos de Token
Salve seu token em um destes arquivos:
~/.fondu/token~/.config/fondu/token.fondu_token
Iniciando o Servidor MCP
Método 1: Python Direto (Recomendado)
source .venv/bin/activate
python mcp_fondu_search_user_context/server.py --host 127.0.0.1 --port 8080
Método 2: Usando o script de execução
./run.sh
O servidor iniciará em http://127.0.0.1:8080 com os seguintes endpoints:
/- Página inicial/health- Verificação de saúde/sse- Endpoint Server-Sent Events para MCP/messages/- Endpoint de manipulação de mensagens
Configuração do Claude Desktop
Para usar com o Claude Desktop, adicione isto ao seu ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"knowledge_vault": {
"command": "python",
"args": ["/absolute/path/to/mcp_tools/mcp_fondu_search_user_context/server.py"],
"env": {
"FONDU_AUTH_TOKEN": "your-auth-token-here"
}
}
}
}
Alternativa usando o script de execução:
{
"mcpServers": {
"knowledge_vault": {
"command": "/absolute/path/to/mcp_tools/run.sh",
"env": {
"FONDU_AUTH_TOKEN": "your-auth-token-here"
}
}
}
}
Ferramentas Disponíveis
gather_relevant_user_knowledge
Busque em seu knowledge vault usando correspondência híbrida semântica e por palavras-chave.
Parâmetros:
query(string, obrigatório): Consulta em linguagem natural para busca semântica e reordenamentoauth_token(string, opcional): Token de autenticação (se não definido via env/config)keywords(string, opcional): Termos específicos para priorizar na correspondência por palavras-chavetop_k(inteiro, opcional): Número de resultados a retornar (padrão: 10)
Retornos: Uma string formatada contendo os resultados mais relevantes do seu knowledge vault, incluindo informações de origem e metadados quando disponíveis.
Exemplo de Resposta:
Found 3 relevant results in your knowledge vault:
1. Quantum computing uses quantum mechanical phenomena like superposition and entanglement to perform calculations...
Source: quantum_computing_notes.md
Metadata: {'tags': ['physics', 'computing'], 'date': '2024-01-15'}
2. The fundamental principle behind quantum algorithms is the ability to exist in multiple states simultaneously...
Source: research_papers/quantum_algorithms.pdf
Metadata: {'author': 'Dr. Smith', 'year': 2023}
Testes
Teste de Saúde do Servidor
curl http://127.0.0.1:8080/health
Teste de Funcionalidade da Ferramenta
Crie um script de teste para verificar se a ferramenta funciona:
import asyncio
import sys
sys.path.append('mcp_fondu_search_user_context')
from server import gather_relevant_user_knowledge
async def test_tool():
result = await gather_relevant_user_knowledge(
query="machine learning algorithms",
auth_token="your-token-here",
top_k=5
)
print(result)
asyncio.run(test_tool())
Exemplos de Configuração
Arquivos de configuração de exemplo são fornecidos:
config.yaml.example- Modelo de configuração do servidorclaude_desktop_config.json.example- Modelo de configuração do Claude Desktop
Copie estes arquivos e personalize com suas configurações:
cp config.yaml.example ~/.fondu/config.yaml
# Edit with your auth token and preferences
Tratamento de Erros e Registro de Logs
O servidor fornece tratamento abrangente de erros:
- Token de Autenticação Ausente: Mensagem de erro clara com instruções de configuração
- Erros de API: Tratamento adequado de problemas de rede e falhas de API
- Tokens Inválidos: Tratamento adequado de erro 403
- Registro de Depuração: Logs detalhados para solução de problemas
Os logs são gravados em:
- Saída de erro padrão (visível ao executar o servidor)
/tmp/error_log.txt(registro de erro de fallback)
Configuração da API
O servidor se conecta a:
- API de Produção:
https://api.youfondu.com/v1/knowledge/search_knowledge_vault - Protocolo: HTTPS com autenticação por token Bearer
- Tempo limite: 30 segundos para solicitações de API
- Formato: JSON de solicitação/resposta
Solução de Problemas
Problemas Comuns
-
Erros de Autenticação
- Verifique se seu token é válido e não expirou
- Verifique se o token está configurado corretamente via variável de ambiente ou arquivo de configuração
- Certifique-se de que não há espaços extras nos arquivos de token
-
Problemas de Conexão
- Verifique a conectividade com a internet
- Verifique se o endpoint da API está acessível:
curl -I https://api.youfondu.com - Certifique-se de que nenhum firewall bloqueie HTTPS de saída
-
Problemas com Cliente MCP
- Reinicie o Claude Desktop após alterações de configuração
- Verifique se caminhos absolutos são usados na configuração
- Verifique se o ambiente virtual Python está ativado corretamente
-
Problemas de Inicialização do Servidor
- Certifique-se de que todas as dependências estão instaladas:
pip install -r requirements.txt - Verifique se a porta 8080 não está em uso
- Verifique se Python 3.8+ está sendo usado
- Certifique-se de que todas as dependências estão instaladas:
Modo de Depuração
Para habilitar o registro de depuração, defina a variável de ambiente:
export PYTHONPATH=/path/to/mcp_tools
export DEBUG=1
python mcp_fondu_search_user_context/server.py
Testando Métodos de Autenticação
Você pode testar diferentes métodos de autenticação:
# Test with environment variable
export FONDU_AUTH_TOKEN="your-token"
python test_auth.py
# Test with config file
echo "fondu:\n auth_token: your-token" > ~/.fondu/config.yaml
python test_auth.py
# Test with token file
echo "your-token" > ~/.fondu/token
python test_auth.py
Desenvolvimento
Para contribuir ou modificar o servidor:
-
Configurar Ambiente de Desenvolvimento
python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt -
Executar Testes
python test_mcp_server.py python test_tool_functionality.py -
Estrutura do Código
mcp_fondu_search_user_context/server.py- Implementação principal do servidorrequirements.txt- Dependências Pythonrun.sh- Script de conveniência para iniciar o servidorconfig.yaml.example- Modelo de configuraçãoclaude_desktop_config.json.example- Modelo de configuração do Claude Desktop
Dependências
Dependências principais:
fastapi>=0.109.2- Framework webuvicorn>=0.27.1- Servidor ASGIhttpx>=0.26.0- Cliente HTTPmcp>=1.3.0- Model Context ProtocolPyYAML>=6.0- Suporte a configuração YAML
Consulte requirements.txt para a lista completa de dependências.
Implantação
AWS App Runner
Este servidor está pronto para implantação no AWS App Runner. Consulte DEPLOYMENT.md para instruções detalhadas de implantação.
Implantação Rápida:
- Envie o código para seu repositório Git
- Crie um serviço App Runner apontando para seu repositório
- Defina a variável de ambiente
FONDU_AUTH_TOKEN - Implante!
O servidor inclui:
- ✅ Configuração do App Runner (
apprunner.yaml) - ✅ Suporte a Docker (
Dockerfile) - ✅ Endpoint de verificação de saúde (
/health) - ✅ Configuração por variáveis de ambiente
- ✅ Registro de logs pronto para produção
- ✅ Suporte a auto-escala
Outras Plataformas de Nuvem
O servidor pode ser implantado em qualquer plataforma que suporte:
- Python 3.8+
- Variáveis de ambiente
- Tráfego HTTP/HTTPS na porta 8080
Plataformas testadas:
- AWS App Runner ✅
- Contêineres Docker ✅
- Hospedagem VPS tradicional ✅
Licença
[Adicione suas informações de licença aqui]