Pharus MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Pharus MCPanalyze recent transactions for suspicious patterns in RIF data"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Pharus MCP
Servidor MCP (Model Context Protocol) em Python para descoberta e consulta integrada dos serviços investigativos do ecossistema Pharus. Expõe ferramentas especializadas para análise de RIF, SIMBA, Telefônica, Telemática, KYT e Grafos através de uma arquitetura de serviços desacoplados.
Características
Descoberta de Serviços: Catálogo semântico de serviços investigativos com metadados e exemplos de uso
Protocolo MCP: Implementação completa do Model Context Protocol sobre HTTP Streamable
Múltiplas Fontes de Dados: Integração com RIF, SIMBA, Telefônica, Telemática, KYT e Grafos
Análise Financeira: Ferramentas analíticas especializadas para investigação de transações e movimentações
Algoritmos de Grafo: Catálogo semântico com sugestões automáticas de algoritmos baseadas em metadados de grafos
Documentação Automática: Swagger UI e OpenAPI com rotas HTTP acessíveis
Configuração Flexível: Suporte a variáveis de ambiente e configurações por serviço
Pré-requisitos
Python 3.12+
pip (gerenciador de pacotes Python)
PowerShell 5.1+ (para Windows) ou bash (para Linux/macOS)
Serviços upstream: RIF, SIMBA, Telefônica, Telemática, KYT, Grafos (conforme necessário)
Instalação
1. Configurar Ambiente Virtual
Crie e ative a virtualenv:
python -m venv .venv
.\.venv\Scripts\Activate.ps1No Linux/macOS:
python3 -m venv .venv
source .venv/bin/activate2. Instalar Dependências
python -m pip install --upgrade pip
python -m pip install -e .[dev]3. Configurar Variáveis de Ambiente
Copie o arquivo de exemplo (opcional):
Copy-Item .env.example .envEdite o .env com as URLs base dos serviços conforme seu ambiente:
HOST=127.0.0.1
PORT=8000
LOG_LEVEL=INFO
GRAFO_API_URL=http://localhost:8001
RIF_API_URL=http://localhost:8082
SIMBA_API_URL=http://localhost:8003
TELEFONICA_API_URL=http://localhost:8004
TELEMATICA_API_URL=http://localhost:8005
KYT_API_URL=http://localhost:8006Configuração
Variáveis de Ambiente Suportadas:
Variável | Descrição | Padrão |
| Endereço IP para bind do servidor |
|
| Porta HTTP |
|
| Nível de log (DEBUG, INFO, WARNING, ERROR) |
|
| URL base do serviço de Grafos |
|
| URL base do serviço RIF |
|
| URL base do serviço SIMBA |
|
| URL base do serviço Telefônica |
|
| URL base do serviço Telemática |
|
| URL base do serviço KYT |
|
| Caminho HTTP para o protocolo MCP |
|
| Caminho para a documentação HTTP |
|
Execução
Iniciar o Servidor MCP (via HTTP)
Método 1: Via módulo Python (recomendado)
.\.venv\Scripts\python -m pharus_mcp --transport http --host 127.0.0.1 --port 8000Método 2: Via script de inicialização
.\.venv\Scripts\python .\scripts\start_server.pyMétodo 3: Via atalho (após instalação com -e .[dev])
pharus-start-serverGerenciar Serviços Upstream
Iniciar RIF, SIMBA, Telefônica, Telemática, KYT e Grafos:
.\.venv\Scripts\python .\scripts\start_services.pyAguarda a subida com timeout padrão de 60s.
Verificar conectividade sem iniciar processos:
.\.venv\Scripts\python .\scripts\start_services.py --check-onlyDefinir timeout customizado e modo estrito:
.\.venv\Scripts\python .\scripts\start_services.py --timeout 90 --strictParar todos os serviços (Windows):
.\.venv\Scripts\python .\scripts\stop_services.pyListar PIDs sem finalizar (dry-run):
.\.venv\Scripts\python .\scripts\stop_services.py --dry-runAcessar o Servidor
Rotas HTTP Disponíveis
O protocolo MCP roda no endpoint /mcp (não é amigável para navegador). Para inspeção e validação:
Rota | Descrição |
| Redireciona para |
| Health check do servidor |
| Swagger UI interativa |
| Especificação OpenAPI completa |
| Catálogo de serviços investigativos |
| Lista de tools MCP registradas |
| Lista de prompts MCP |
| Lista de resources semânticos |
| Conteúdo de um resource específico |
| Endpoint MCP (protocolo MCP sobre HTTP) |
Exemplos:
# Health check
curl http://127.0.0.1:8000/health
# Catálogo de serviços
curl http://127.0.0.1:8000/docs/services
# Detalhe de um serviço (RIF)
curl 'http://127.0.0.1:8000/docs/resource?uri=pharus://services/rif'Catálogo de Serviços
Serviços Disponíveis
Grafo - Análise relacional com grafos de caso, labels, KYT e algoritmos
KYT - Enriquecimento de pessoas por documentos, emails e telefones
RIF - Análise de relatórios de inteligência financeira com transações e estatísticas
SIMBA - Consulta de contas bancárias e movimentações
Telefônica - Análise de telefonia com CDRs, locais e portabilidade
Telemática - Análise de aplicativos de mensageria e contatos
Cada serviço expõe um conjunto de tools especializadas e um catálogo semântico de uso recomendado.
Desenvolvimento
Estrutura do Projeto
pharus-mcp/
├── src/pharus_mcp/
│ ├── adapters/ # Adaptadores para serviços upstream (RIF, SIMBA, etc.)
│ ├── catalog/ # Catálogo semântico de serviços e algoritmos
│ ├── config/ # Configuração e settings
│ ├── models/ # Modelos de dados (Pydantic)
│ ├── server/ # Servidor FastAPI e registro MCP
│ ├── app.py # Aplicação FastAPI principal
│ ├── cli.py # Interface de linha de comando
│ ├── commands.py # Comandos e orquestração
│ └── __main__.py # Ponto de entrada
├── tests/ # Suite de testes
├── scripts/ # Scripts auxiliares de inicialização
├── pyproject.toml # Configuração Poetry/pip
└── README.md # Este arquivoExecutar Testes
.\.venv\Scripts\python -m pytestCom verbosidade:
.\.venv\Scripts\python -m pytest -vRodar um teste específico:
.\.venv\Scripts\python -m pytest tests/test_catalog.py::test_catalog_contains_expected_services -vSmoke Test Manual (HTTP)
PowerShell:
$headers = @{ Accept = "application/json" }
Invoke-WebRequest -Uri "http://127.0.0.1:8000/health" -Headers $headers -Method GET
Invoke-WebRequest -Uri "http://127.0.0.1:8000/docs/services" -Headers $headers -Method GET
Invoke-WebRequest -Uri "http://127.0.0.1:8000/docs/resource?uri=pharus://services/rif" -Headers $headers -Method GETbash/curl:
curl -s http://127.0.0.1:8000/health | jq .
curl -s http://127.0.0.1:8000/docs/services | jq .
curl -s 'http://127.0.0.1:8000/docs/resource?uri=pharus://services/rif' | jq .Dependências do Projeto
Principais dependências listadas em pyproject.toml:
fastapi - Framework web assíncrono
httpx - Cliente HTTP assíncrono
pydantic - Validação de dados
mcp - Model Context Protocol
sqlalchemy - ORM (quando aplicável)
pytest - Framework de testes
python-dotenv - Suporte a .env
Contribuição
Contribuições são bem-vindas! Por favor:
Faça um fork do repositório
Crie uma branch para sua feature (
git checkout -b feature/nova-funcionalidade)Commit suas mudanças (
git commit -am 'Adiciona nova funcionalidade')Push para a branch (
git push origin feature/nova-funcionalidade)Abra um Pull Request
Padrões de Código
Use Python 3.12+ com type hints
Siga o padrão PEP 8 (formatado com tools como
blackouautopep8)Documente funções e classes com docstrings em português
Escreva testes unitários para novas funcionalidades
Solução de Problemas
Erro: "not a git repository"
Inicialize o repositório com git init.
Erro: "Connection refused" ao chamar serviço upstream
Verifique se a URL em .env está correta e se o serviço está ativo na porta esperada.
Erro: "Port already in use"
Altere a porta no .env ou use --port na linha de comando.
Testes falhando
Verifique se os serviços upstream estão rodando. Use --check-only para diagnosticar:
.\.venv\Scripts\python .\scripts\start_services.py --check-onlyLicença
Este projeto está sob licença MIT. Veja o arquivo LICENSE para detalhes.
Autores e Mantedores
Desenvolvido pelo time de Tecnologia MPMG
Para questões, sugestões ou reports de bugs, abra uma issue no repositório GitHub.
Última atualização: Abril de 2026
Versão: 1.0.0
Status: Ativo
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rfalexandre/pharus-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server