Skip to main content
Glama
charlesmmorais

conformidade-pbtr-mcp

conformidade-pbtr-mcp

Automatisierte Konformitätsanalyse von Basisprojekten und Leistungsbeschreibungen (MCP-Server, pt-BR).

Tests Lizenz: MIT Python 3.11+

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 [TI] für PB/TR — Abschnitte 1 bis 8, Erklärungen und Anhänge

Nummerierung

Sprünge (5.1 → 5.3), doppelte Einträge, verwaiste Unterpunkte, nicht sortierte Einträge, fehlende Pflichtabschnitte

Tabellen und Werte

Mindestspalten, Menge × Einzelpreis = Gesamt, Summenabschluss, monatliche Kohärenz, Betrag in Worten × Ziffern, Gesamtwert Text × Tabelle

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 saem

Jeder 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/health

Im 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

analisar_conformidade

Schritt 1 — deterministische Prüfungen

obter_texto_para_revisao

Schritt 2 — liefert den segmentierten Text für die Agentenprüfung

registrar_revisao_textual

Schritt 3 — nimmt Hinweise entgegen und erstellt die Berichte

Hilfstools:

Tool

Verwendung

verificar_numeracao

nur die hierarchische Nummerierung

validar_tabelas

nur Tabellen, Arithmetik und Werte

revisar_ortografia

deterministische Regeln + segmentierter Text

extrair_estrutura

Diagnose der Extraktion (erkennt gescannte PDFs)

consultar_checklist

Regeln abfragen, nach Abschnitt, Tag oder Schweregrad

gerar_relatorio

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_estrutura weist 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

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.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • F
    license
    Not graded
    quality
    D
    maintenance
    An 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.
  • F
    license
    Not graded
    quality
    D
    maintenance
    An 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.

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

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/charlesmmorais/conformidade-pbtr-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server