Utilizes the Gemini AI service for critical analysis of healthcare system rules and generating detailed, structured explanations of manual validations.
Used in headless mode to extract text and process content from legacy .DOC documents for indexing and retrieval within the RAG system.
Integrates with MinIO/S3-compatible storage to read and query healthcare datasets such as SIGTAP and CNES stored in Parquet format.
Provides tools to read and analyze TypeScript source code from validation critiques, allowing the AI to explain the logic and compare it with official manuals.
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., "@Manual RAG — SIH/SUS Query SystemComo devo registrar um atendimento de politraumatizado na AIH?"
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.
Manual RAG — Sistema de Consulta SIH/SUS
Sistema RAG (Retrieval-Augmented Generation) para consulta dos manuais do SIH/SUS, SIA/SUS e portarias relacionadas em linguagem natural, com agente de análise crítica por IA.
Funciona como MCP Server para o Claude Code, expondo 16 tools para consulta do manual, críticas, SIGTAP e CNES.
Instalação rápida
O script cria o venv, instala dependências, indexa os documentos (se existirem em ragData/) e registra o MCP server no Claude Code.
Instalação manual
1. Ambiente e dependências
2. Alimentar o banco vetorial
Coloque PDFs em ragData/manuais/ e portarias em ragData/portarias/, depois:
3. Registrar MCP no Claude Code
Abra uma nova sessão do Claude Code — as 16 tools ficam disponíveis automaticamente.
4. SIGTAP e CNES (opcional)
As tools de SIGTAP e CNES leem Parquet do MinIO. Precisa do container do modulo-processos rodando:
Copie .env.example para .env e ajuste se necessário:
API Key (para /explicar e analisar_critica.py)
Ou salve em arquivo:
Alimentar o banco
Opção 1: Processar todo o ragData (recomendado)
Processa recursivamente todos os arquivos em ragData/ (PDFs, HTMLs, DOCs, ZIPs):
Opção 2: PDFs individuais
Opção 3: Auto-detecção
Se nenhum argumento for passado, procura *.pdf no diretório raiz do projeto:
Após qualquer extração, sempre indexar:
Uso
consulta_manual.py — Consulta interativa
Busca semântica no manual em linguagem natural.
Comandos no modo interativo:
Comando | Ação |
| Busca semântica no manual |
| Explica como a crítica N é validada (usa IA + RAG + código) |
| Modo validação de críticas (busca semântica simples) |
| Lista todas as fontes indexadas com tipo e ano |
| Lista todas as seções do manual |
| Altera quantidade de resultados (padrão: 5) |
| Encerra |
/explicar N — Como funciona a validação de uma crítica
Combina o código TypeScript da crítica + trechos relevantes do manual + Claude para gerar uma explicação didática:
O que a crítica verifica
Passo a passo da validação
Campos envolvidos
Exceções (quando NÃO gera crítica)
Fundamentação no manual (com seção e página)
Após a explicação, abre modo interativo para perguntas de follow-up.
analisar_critica.py — Agente de Análise Crítica (IA)
Envia o código + trechos do manual para o Claude e recebe um parecer estruturado de conformidade.
O parecer inclui:
Resumo da regra
O que o código faz (passo a passo)
O que o manual diz (com seção e página)
Veredicto: CONFORME / PARCIALMENTE CONFORME / NÃO CONFORME
Pontos conformes, lacunas, excessos e riscos
Recomendações concretas
Após a análise, abre modo interativo para perguntas de follow-up com contexto mantido.
Com , gera em data/analises/:
analise_critica_92.json— dados estruturadosanalise_critica_92.md— parecer em markdown
validar_critica.py — Código vs Manual (sem IA)
Mostra o código de uma crítica lado a lado com as seções do manual que a fundamentam.
Comandos internos: /codigo (ver código completo), /full (ver todas as seções encontradas)
mapear_criticas.py — Referência cruzada em lote
Mapeia automaticamente todas as críticas de processos-criticas para as seções do manual.
Gera tabela no terminal e salva data/mapeamento_criticas_manual.json.
extrair_manual.py — Extração de texto
Formatos suportados:
PDF: Manuais SIH/SUS (extração por seções numeradas) ou genérico (por página/parágrafo)
HTML/HTM: Portarias em HTML (encoding windows-1252/latin-1/utf-8)
DOC: Documentos legados (via libreoffice --headless)
ZIP: Extrai e processa recursivamente o conteúdo
Anexos SIGTAP (tabelas de procedimentos) são detectados automaticamente e limitados a 10 páginas.
Salva em data/chunks.json.
indexar_manual.py — Indexação vetorial
Gera embeddings e indexa no ChromaDB. Deve ser executado após cada extrair_manual.py.
MCP Tools (16)
Tool | Descrição |
| Busca semântica no manual SIH/SUS |
| Busca crítica por número |
| Lista críticas com filtro |
| Busca seção por número |
| Verifica se seção existe |
| Extrai dados de espelho de AIH |
| Lê código TypeScript da crítica |
| Contexto completo de uma crítica |
| Fontes indexadas no banco |
| Seções do manual |
| Procedimento SIGTAP por código |
| Busca SIGTAP por nome |
| Metadata do SIGTAP carregado |
| Dados operacionais de um CNES |
| Profissionais de um CNES |
| Metadata do CNES carregado |