FastIntercom
Um servidor MCP de alto desempenho para analisar conversas do Intercom com acesso local rápido via cache e sincronização em segundo plano.
Documentação
FastIntercom MCP Server
Servidor de alto desempenho do Model Context Protocol (MCP) para análise de conversas do Intercom. Fornece acesso local rápido às conversas do Intercom por meio de cache inteligente e sincronização em segundo plano.
Recursos
- 🚀 Acesso Local Rápido: Tempos de resposta abaixo de 100ms para buscas de conversas
- 🧠 Sincronização Inteligente: Atualizações em segundo plano acionadas por solicitações garantem dados atualizados
- 💾 Armazenamento Eficiente: Armazenamento local baseado em SQLite (~2KB por conversa)
- 🔍 Busca Poderosa: Períodos de tempo em linguagem natural e busca por texto
- ⚡ Integração MCP: Integração direta com Claude Desktop e clientes MCP
Início Rápido
Instalação
# Clone and install
git clone <repository-url>
cd fast-intercom-mcp
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -e .
Configuração
# Initialize with your Intercom credentials
fast-intercom-mcp init
# Check status
fast-intercom-mcp status
# Sync conversation history
fast-intercom-mcp sync --force --days 7
Integração com Claude Desktop
Adicione à sua configuração do Claude Desktop (~/.config/claude/claude_desktop_config.json):
{
"mcpServers": {
"fast-intercom-mcp": {
"command": "fast-intercom-mcp",
"args": ["start"],
"env": {
"INTERCOM_ACCESS_TOKEN": "your_token_here"
}
}
}
}
Uso
Comandos CLI
fast-intercom-mcp status # Show server status and statistics
fast-intercom-mcp sync # Incremental sync of recent conversations
fast-intercom-mcp sync --force --days 7 # Force sync last 7 days
fast-intercom-mcp start # Start MCP server
fast-intercom-mcp logs # View recent log entries
fast-intercom-mcp reset # Reset all data
Ferramentas MCP
Depois de conectado ao Claude Desktop, você pode fazer perguntas como:
- "Buscar conversas sobre cobrança nos últimos 7 dias"
- "Mostrar conversas de clientes de ontem"
- "Qual é o status do servidor FastIntercom?"
- "Obter detalhes da conversa com ID 123456789"
Configuração
Variáveis de Ambiente
INTERCOM_ACCESS_TOKEN=your_token_here
FASTINTERCOM_LOG_LEVEL=INFO
FASTINTERCOM_MAX_SYNC_AGE_MINUTES=5
FASTINTERCOM_BACKGROUND_SYNC_INTERVAL=10
Arquivo de Configuração
Localizado em ~/.fast-intercom-mcp/config.json:
{
"log_level": "INFO",
"max_sync_age_minutes": 5,
"background_sync_interval_minutes": 10,
"initial_sync_days": 30
}
Arquitetura
Estratégia de Sincronização Inteligente
O FastIntercom usa uma estratégia sofisticada de cache:
- Resposta Imediata: Solicitações MCP retornam dados instantaneamente do cache local
- Sincronização em Segundo Plano: Períodos desatualizados acionam atualizações em segundo plano
- Gatilhos Inteligentes: O sistema aprende com padrões de solicitação para otimizar o tempo de sincronização
- Dados Atualizados: A próxima solicitação obtém dados atualizados da sincronização em segundo plano
Componentes
- Banco de Dados: SQLite com esquema otimizado para buscas rápidas
- Serviço de Sincronização: Serviço em segundo plano com lógica inteligente de atualização
- Servidor MCP: Implementação do Model Context Protocol
- Interface CLI: Ferramentas de linha de comando para gerenciamento e monitoramento
Desenvolvimento
Testes
Testes Rápidos
# Unit tests
pytest tests/
# Integration test (requires API key)
./scripts/run_integration_test.sh
# Docker test
./scripts/test_docker_install.sh
Testes Abrangentes
# Full unit test suite with coverage
pytest tests/ --cov=fast_intercom_mcp
# Integration test with performance report
./scripts/run_integration_test.sh --performance-report
# Docker clean install test
./scripts/test_docker_install.sh --with-api-test
# Performance benchmarking
./scripts/run_performance_test.sh
Integração CI/CD
- Verificação Rápida: Executada em cada PR (testes unitários, linting, imports)
- Teste de Integração: Acionamento manual/semanal com dados reais da API
- Teste Docker: Em releases e validação de implantação
Para procedimentos detalhados de teste, consulte:
docs/TESTING.md- Guia completo de testesdocs/INTEGRATION_TESTING.md- Procedimentos de teste de integraçãoscripts/README.md- Documentação dos scripts de teste
Desenvolvimento Local
# Install in development mode
pip install -e .
# Run with verbose logging
fast-intercom-mcp --verbose status
# Monitor logs in real-time
tail -f ~/.fast-intercom-mcp/logs/fast-intercom-mcp.log
Desempenho
Métricas Típicas de Desempenho
- Tempo de Resposta: <100ms para consultas em cache
- Eficiência de Armazenamento: ~2KB por conversa em média
- Velocidade de Sincronização: 10-50 conversas/segundo
- Uso de Memória: <100MB para o processo do servidor
Requisitos de Armazenamento
- Workspace pequeno: 100-500 conversas, ~5-25 MB
- Workspace médio: 1.000-5.000 conversas, ~50-250 MB
- Workspace grande: 10.000+ conversas, ~500+ MB
Solução de Problemas
Problemas Comuns
Falha na Conexão
- Verifique seu token de acesso do Intercom
- Verifique as permissões do token (leitura de conversas é necessária)
- Teste:
curl -H "Authorization: Bearer YOUR_TOKEN" https://api.intercom.io/me
Banco de Dados Bloqueado
- Pare qualquer processo FastIntercom em execução:
ps aux | grep fast-intercom-mcp - Verifique o arquivo de log:
~/.fast-intercom-mcp/logs/fast-intercom-mcp.log
Servidor MCP Não Respondendo
- Verifique a sintaxe JSON da configuração do Claude Desktop
- Reinicie o Claude Desktop após alterações de configuração
- Verifique se o comando
fast-intercom-mcpestá disponível no PATH
Modo de Depuração
fast-intercom-mcp --verbose start # Enable verbose logging
export FASTINTERCOM_LOG_LEVEL=DEBUG # Set debug level
Referência da API
Ferramentas MCP
search_conversations
Buscar conversas com filtros flexíveis.
Parâmetros:
query(string): Texto para buscar nas mensagens das conversastimeframe(string): Período em linguagem natural ("últimos 7 dias", "este mês", etc.)customer_email(string): Filtrar por e-mail específico do clientelimit(integer): Número máximo de conversas a retornar (padrão: 50)
get_conversation
Obter detalhes completos de uma conversa específica.
Parâmetros:
conversation_id(string, obrigatório): ID da conversa no Intercom
get_server_status
Obter status e estatísticas do servidor.
Parâmetros: Nenhum
sync_conversations
Acionar sincronização manual de conversas.
Parâmetros:
force(boolean): Forçar sincronização completa mesmo se houver dados recentes
Contribuindo
- Faça um fork do repositório
- Crie um branch de feature (
git checkout -b feature/amazing-feature) - Faça commit das suas alterações (
git commit -m 'Add amazing feature') - Envie para o branch (
git push origin feature/amazing-feature) - Abra um Pull Request
Licença
Licença MIT - consulte o arquivo LICENSE para obter detalhes.
Suporte
- Problemas: GitHub Issues
- Documentação: Este README e a documentação de código inline
- Logs: Verifique
~/.fast-intercom-mcp/logs/fast-intercom-mcp.logpara obter informações detalhadas