conformidade-pbtr-mcp
conformidade-pbtr-mcp
Automatisierte Konformitätsanalyse von Basisprojekten und Leistungsbeschreibungen (MCP-Server, pt-BR).
MCP-Server, der Basisprojekte (PB) und Leistungsbeschreibungen (TR) gegen den Analyseleitfaden des SERPRO prüft. Sie senden das PDF und sagen "Konformitätsanalyse des PB durchführen"; der Server liefert den Konformitätsindex, die priorisierten offenen Punkte und die Berichte als DOCX, XLSX, PDF, Markdown und JSON.
Projekt der SERPRO — Serviço Federal de Processamento de Dados.
Was geprüft wird
Ebene | Prüfung |
Normative Checkliste | 86 Regeln aus dem Leitfaden |
Nummerierung | Sprünge (5.1 → 5.3), doppelte Einträge, verwaiste Unterpunkte, nicht sortierte Einträge, fehlende Pflichtabschnitte |
Tabellen und Werte | Mindestspalten, |
Textrevision | 20 deterministische Regeln für wiederkehrende Fehler in Verwaltungsdokumenten, plus die Portugiesisch-Revision durch das Modell, das den MCP aufruft |
Die Regeln der Checkliste sind bedingt. Der Server leitet den Kontext der Beschaffung ab — Ausschreibung, Direktvergabe, Unzumutbarkeit, Dienstleistung, Ware, Beratung, Schulung, Tickets, Abonnement, ARP, Hardware/Wechselkurs, Laufzeit über 60 Monate — und wendet nur die relevanten Zweige des Leitfadens an. Die übrigen erscheinen als Nicht zutreffend, mit Angabe des Grunds. Ohne dieses Vorgehen würde ein Hardware-PB dutzende falsche "nicht konform" erhalten, weil die Pflichtbegründungen für Beratung fehlen.
Fünf Status, nicht zwei
konform / nicht konform wäre unzureichend: Mehrere Punkte des Leitfadens
erfordern menschliches Urteilsvermögen ("prüfen, ob Kohärenz zwischen ihnen
besteht"). Der Bericht verwendet:
Status | Bedeutung |
Konform | Hinweis im Dokument gefunden |
Nicht konform | kein Vorkommen gefunden |
Achtung | Thema behandelt, aber unvollständig — die Liste des Fehlenden folgt |
Manuell prüfen | Hinweis vorhanden; die inhaltliche Bewertung erfordert menschliches Auge |
Nicht zutreffend | Der Dokumentkontext löst die Regel nicht aus |
Related MCP server: Tri-Tender Pricing MCP
Wie die Portugiesisch-Revision funktioniert
Den Text überprüft das Modell, das den MCP aufgerufen hat — es hat das Dokument bereits im Kontext, daher ergibt es keinen Sinn, dass der Server eine zweite Konversation mit einem anderen Modell eröffnet, um denselben Text erneut zu lesen. Der Server kümmert sich um das Deterministische und liefert den Text segmentiert für den Agenten zum Lesen.
Daraus ergibt sich der dreistufige Ablauf, den der Agent selbstständig verkettet:
1. analisar_conformidade → checklist, numeração, tabelas, valores
(+ regras determinísticas de revisão)
2. obter_texto_para_revisao → o agente lê e revisa o português
3. registrar_revisao_textual → apontamentos entram e os relatórios saemJeder Hinweis des Agenten gelangt nur dann in den Bericht, wenn die zitierte
Textstelle tatsächlich im Dokument vorhanden ist. Die Überprüfung erfolgt
gegen den extrahierten Text, wobei Unterschiede bei Leerzeichen und
Anführungszeichen toleriert werden. Wenn das Modell nicht angeben kann, wo der
Fehler liegt, wird der Hinweis verworfen und in recusados mit Begründung
zurückgegeben — das unterscheidet eine nützliche Revision von einer Halluzination
in einem Bericht, der ein Verwaltungsverfahren anleitet.
Jeder Befund zitiert den PB/TR-Punkt ("Punkt 6.3.1"), nicht nur die Seite — in einem dichten Dokument lokalisiert die Seite den Textabschnitt für den, der korrigieren soll, nicht. Der Punkt wird aus dem Zitat aufgelöst, nicht aus dem, was das Modell angibt: Wenn es die Nummerierung falsch angibt, gilt das, was das Dokument sagt.
Im Bericht erscheinen diese Vorschläge in einem eigenen Abschnitt, als nicht reproduzierbar markiert, und bleiben außerhalb des Konformitätsindex. Exakte Prüfung und Lesevorschlag haben unterschiedliche Gewichte für den, der das Gutachten unterzeichnet.
Installation
Einzige Voraussetzung: Python 3.11+. Es gibt keine Java-Abhängigkeit und keinen externen Dienst.
git clone https://github.com/charlesmmorais/conformidade-pbtr-mcp.git
cd conformidade-pbtr-mcp
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .Registrierung in Claude Desktop / Claude Code (claude_desktop_config.json):
{
"mcpServers": {
"conformidade-pbtr": {
"command": "/caminho/para/conformidade-pbtr-mcp/.venv/bin/conformidade-pbtr",
"env": {
"CONFORMIDADE_PBTR_SAIDA": "/caminho/onde/gravar/os/relatorios"
}
}
}
}Gehostetes Deployment (Fly.io)
Der Server spricht stdio lokal und HTTP, wenn gehostet. Das Repository
enthält fertige Dockerfile und fly.toml:
fly launch --no-deploy --copy-config
fly deploy
curl https://<sua-app>.fly.dev/healthIm gehosteten Modus teilt der Client keinen Datenträger mit dem Server: Das PDF
wird in conteudo_base64 hochgeladen und die Berichte kommen eingebettet in der
Antwort zurück. Lesen Sie docs/DEPLOY.md vor dem ersten
Deployment — insbesondere den Abschnitt zur Offenlegung des Endpunkts. Das Image
hat ~250 MB und läuft mit 512 MB.
Exponierte Tools
Hauptablauf:
Tool | Verwendung |
| Schritt 1 — deterministische Prüfungen |
| Schritt 2 — liefert den segmentierten Text für die Agentenprüfung |
| Schritt 3 — nimmt Hinweise entgegen und erstellt die Berichte |
Hilfstools:
Tool | Verwendung |
| nur die hierarchische Nummerierung |
| nur Tabellen, Arithmetik und Werte |
| deterministische Regeln + segmentierter Text |
| Diagnose der Extraktion (erkennt gescannte PDFs) |
| Regeln abfragen, nach Abschnitt, Tag oder Schweregrad |
| Analyse einer Sitzung in einem anderen Format neu rendern |
Prompt conduzir_analise_conformidade: Leitfaden für die Durchführung der
Analyse durch den Agenten, einschließlich der Reihenfolge der Darstellung der
Befunde und der Anweisung, keine Konformität zu behaupten, ohne dass die Analyse
sie als solche eingestuft hat.
Direkte Nutzung (ohne MCP)
from conformidade_pbtr import analisar
from conformidade_pbtr.relatorios import gerar_docx
rel = analisar("PB_123_2026.pdf", tipo="PB")
print(rel.resumo.indice_conformidade)
gerar_docx(rel, "Relatorio_Conformidade.docx")Konformitätsindex
Gewichteter Durchschnitt nach Schweregrad (kritisch 4, hoch 3, mittel 2) über die automatisch bewertbaren Punkte. Punkte mit Nicht zutreffend, Manuell prüfen, die Hinweise zur Textrevision und die Vorschläge des Agenten bleiben außerhalb der Berechnung, um die Note nicht zu verzerren.
Bereich | Lesart |
≥ 90 | Geeignet — punktuelle Anpassungen |
≥ 75 | Geeignet mit Vorbehalten |
≥ 50 | Erfordert substanzielle Überarbeitung |
< 50 | Nicht geeignet — Überarbeitung erforderlich |
Steckbare Checkliste
Das gesamte normative Wissen liegt in recursos/checklist_roteiro_ti.yaml — der
Motor kennt keine Norm. Um eine Leitfadenrevision zu begleiten, bearbeiten Sie
das YAML und erhöhen Sie die versao in metadata; Name und Version der
verwendeten Checkliste werden in jedem Bericht gespeichert, was die Analyse über
die Zeit hinweg auditierbar macht.
Das Projekt bedient derzeit das SERPRO. Die Unterstützung einer anderen Behörde
bedeutet, ein YAML in recursos/ hinzuzufügen und CONFORMIDADE_PBTR_CHECKLIST
darauf zu verweisen — keine Codeänderung. Das Format ist in
docs/CHECKLIST.md beschrieben.
Bekannte Grenzen
Registerkarte Itens — der Abgleich zwischen der Registerkarte Itens des Systems und den Mengen des PB ist anhand des PDFs nicht möglich. Der Punkt wird immer als Manuell prüfen ausgegeben.
Gescanntes PDF — ohne Textebene gibt es keine Analyse.
extrair_estruturaweist darauf hin; wenden Sie vorher OCR an.Anhänge — es wird geprüft, ob das Dokument die Anhänge zitiert, nicht ob die Dateien im Verfahren existieren.
Vorhandensein ≠ Angemessenheit — der Motor bestätigt, dass das Thema behandelt wurde; die inhaltliche Bewertung der Begründung bleibt dem Gutachter überlassen.
Dokumentation
docs/MANUAL.md— Mikro-Benutzerhandbuch für die Analysedocs/ARQUITETURA.md— Projektentscheidungen, Datenmodell und Roadmapdocs/CHECKLIST.md— YAML-Format und wie man gute Auslöser schreibtdocs/DEPLOY.md— Deployment auf Fly.io, Remote-Modus und UmgebungsvariablenCONTRIBUTING.md— wie man beiträgt
Entwicklung
pip install -e ".[dev]"
pytest -q # testes sobre um PB sintético com erros plantados
ruff check .Das Test-PB wird von exemplos/gerar_pb_teste.py erzeugt, mit absichtlichen
Fehlern bei Nummerierung, Arithmetik, Betrag in Worten und Portugiesisch — das
stellt sicher, dass jeder Validator weiterhin das findet, was er finden soll.
Lizenz
MIT — Copyright (c) 2026 SERPRO.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server that provides comprehensive PDF processing capabilities including text extraction, image extraction, table detection, annotation extraction, metadata retrieval, page rendering, and document structure analysis.
- FlicenseNot gradedqualityDmaintenanceAn MCP server designed to automate tender and RFQ pricing by extracting requirements from documents and building structured pricing models. It enables users to calculate final costs, compare market rates, and generate styled HTML pricing reports for PDF export.
- AlicenseNot gradedqualityCmaintenanceAn MCP-only server for evidence-based EPC tender screening that enables AI agents to run a full screening workflow, extract requirements, match company profiles, generate compliance matrices, and produce bid/no-bid advisory memos.MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for comprehensive PDF processing including text extraction with OCR, keyword search with regex, table extraction, and page preview as Base64 PNG images.1MIT
Related MCP Connectors
Conformance checker for MCP servers. Free, no key, verdicts recomputable and re-measured daily.
A paid remote MCP for CLI tool MCP, built to return verdicts, receipts, usage logs, and audit-ready
MCP server for generating rough-draft project plans from natural-language prompts.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/charlesmmorais/conformidade-pbtr-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server