debary-mcp-compliance
Officialdebary-mcp-compliance
Ein MCP-Server, der einem Sprachmodell Zugriff auf eine Regel-Engine für faires Wohnen und Werbung für US-Immobilienanzeigen gibt – ohne ihm die Entscheidung zu überlassen.
Die Engine ist deterministisch: 81 Phrasenregeln, 35 Pflichtelemente, sechs Bundesstaaten, kein Modell im Entscheidungspfad. Dieser Server bringt die Frage hinein und das Urteil heraus. Das Modell am anderen Ende erhält jeden Befund, das dahinterstehende Gesetz und den Wortlaut, den die Regelbasis stattdessen vorschlägt. Was es nicht erhält, ist die Erlaubnis zu widersprechen.
Das ist der Grund, warum dies ein MCP-Server ist und kein REST-Endpunkt mit einer netten Beschreibung. Ein Modell braucht ein Werkzeug, mit dem es nicht argumentieren kann, und MCP ist das Protokoll, das dieses Werkzeug in seine Reichweite bringt, ohne es in sein Urteilsvermögen zu legen.
Erstellt von DE BARY LLC. Die Engine, die es umschließt, läuft unter gate.debary.us.
Ausprobieren
Keine Konfiguration, keine Regelbasis, kein Netzwerk:
pip install -e .
python demo.pyDie Demo startet den Server als Unterprozess, spricht MCP mit ihm und geht durch ein Inserat, das durchfällt, das Gesetz hinter jedem Befund, eine Reparatur und die erneute Prüfung, die erkennt, was die Reparatur noch übersehen hat.
⚠️ Ohne Konfiguration läuft der Server auf einer Beispiel-Regelbasis – sechs Regeln und vier Pflichtelemente, geschrieben für dieses Repository, damit es von jedem ausgeführt und getestet werden kann. Sie kennzeichnet sich selbst: Jedes Ergebnis trägt backend: "sample" und rules_version: "sample-1". Sie ist illustrativ und kein Compliance-Werkzeug. Weisen Sie GATE_APP_DIR oder GATE_URL auf die echte Basis, um echte Antworten zu erhalten.
Was es bereitstellt
MCP hat drei Grundbausteine. Dieser Server nutzt alle drei, und jeder ist hier, weil er die richtige Form für das hat, was er trägt.
Tools – Aktionen, die das Modell von der Engine anfordert
Tool | Zweck |
| Inserattext durch die Engine laufen lassen. Liefert Befunde, fehlende Pflichtelemente und ein |
| Die vollständige Regel hinter einem Befund, einschließlich des Gesetzes. So zitiert ein Modell die Autorität, statt sich an eine zu erinnern. |
| Zeichenoffsets jedes problematischen Abschnitts plus die genehmigte Ersatzformulierung. Schreibt bewusst nicht um – das Verfassen von Text ist die Aufgabe des Modells, das Überprüfen die der Engine. |
| Eine gespeicherte Prüfung: was untersucht wurde, gegen welche Regelversion und den SHA-256 des exakten Textes. |
Ressourcen – Material, das das Modell direkt lesen kann
URI | Inhalt |
| Der Regelbasis-Index: jede Regel und jedes Pflichtelement nach ID, Schweregrad und Kategorie |
| Eine Regel vollständig, mit Autorität und Quelldokument |
| Offenlegungselemente, die eine Anzeige in diesem Bundesstaat enthalten muss |
| Eine vergangene Prüfung mit ihrem Verankerungsblock |
Prompts – die Arbeitsabläufe, damit jeder Client sie nicht neu erfindet
Prompt | Was er durchsetzt |
| prüfen → zitieren → umschreiben → die Umschreibung erneut prüfen. Der letzte Schritt ist der, der übersprungen wird, wenn ein Modell improvisiert. |
| Eine Quittung in etwas verwandeln, mit dem ein lizenzierter Makler arbeiten kann, einschließlich dessen, was die Engine nicht mechanisch verifizieren konnte. |
Designhinweise
Das Urteil ist nicht verhandelbar. blocking ist wahr, wenn eine Regel mit hohem Schweregrad ausgelöst wird oder ein Pflichtelement fehlt. Die Tool-Beschreibung sagt das, die Server-Anweisungen sagen das, und der review_listing-Prompt weist das Modell an, eine fehlgeschlagene Umschreibung klar zu melden, statt sie als behoben darzustellen.
blocking: false ist keine Freigabe. Es bedeutet, dass keine Regel ausgelöst wurde. elements_manual listet auf, was die Engine nicht mechanisch prüfen kann – das braucht weiterhin eine Person. Ein Tool, das stillschweigend Erfolg für das meldet, was es nicht untersucht hat, ist schlimmer als kein Tool.
Jeder Befund trägt seine Autorität. Ein Befund ohne Zitat ist eine Meinung, und eine Regel-Engine, die Meinungen hat, ist ein Sprachmodell mit zusätzlichen Schritten. Das wird in der Testsuite durchgesetzt, nicht nur beabsichtigt.
Drei Backends, eine Schnittstelle. LocalBackend importiert die Engine und wertet prozessintern aus – kein Netzwerk, und der Inserattext verlässt nie die Maschine. RemoteBackend ruft eine laufende Gate über HTTP auf. SampleBackend trägt eine kleine eigene Regelbasis, damit der Server auf einem frischen Klon läuft. Alle drei geben dieselbe Form zurück, sodass die MCP-Schicht nie erfährt, welches geantwortet hat.
Der Fallback kündigt sich selbst an. Eine Stichprobe, die stillschweigend das echte Ding imitiert, wäre eine Falle. Diese setzt sample in jedes Ergebnis und sample-1 in das Versionsfeld, und es gibt einen Test, der fehlschlägt, wenn eines der Labels fehlt.
Zwei Transporte. stdio für einen Desktop-Client, streamable-http für den Container. sse wird für ältere Clients weiterhin akzeptiert; es ist im Protokoll veraltet und sollte für nichts Neues gewählt werden.
Erfordert das 2.x SDK. Das Python-SDK hat FastMCP in 2.0 in MCPServer umbenannt und es von mcp.server.fastmcp nach mcp.server.mcpserver verschoben; Ergebnisfelder wurden von structuredContent zu structured_content umbenannt. Dieser Server zielt nur auf 2.x ab. Die Unterstützung beider Hauptversionen hinter einem Shim wurde erwogen und verworfen – es würde eine Kompatibilitätsschicht zu einem Projekt hinzufügen, dessen ganzes Argument ist, dass der Entscheidungspfad einfach bleibt.
Ausführen
Gegen eine lokale Regelbasis
pip install -e .
GATE_APP_DIR=/path/to/compliance-gate/app debary-mcp-complianceGegen eine laufende Gate
GATE_URL=https://gate.debary.us GATE_TOKEN=… debary-mcp-complianceGATE_APP_DIR gewinnt, wenn beide gesetzt sind: Die prozessinterne Auswertung ist schneller und hält den Inserattext von der Leitung fern.
In Docker
docker compose up -dDer Container lauscht auf :8765/mcp (streamable HTTP) und wird auf Host-Port 8766 veröffentlicht, an Loopback gebunden. Stellen Sie einen Tunnel davor, anstatt einen Port zu öffnen. Die Regelbasis ist schreibgeschützt eingehängt – der Container kann Regeln auswerten, aber nicht ändern.
Claude Desktop
{
"mcpServers": {
"debary-compliance": {
"command": "debary-mcp-compliance",
"env": { "GATE_APP_DIR": "/path/to/compliance-gate/app" }
}
}
}Claude Code
claude mcp add debary-compliance \
--env GATE_APP_DIR=/path/to/compliance-gate/app \
-- debary-mcp-complianceKonfiguration
Variable | Bedeutung |
| Verzeichnis mit |
| Basis-URL einer laufenden Gate. Wählt das Remote-Backend. |
(keines gesetzt) | Fällt auf die eingebaute Beispiel-Regelbasis zurück. |
| Bearer-Token für diese Gate, falls ihre API geschlossen ist. |
|
|
| Bindeadresse für die HTTP-Transporte. Standard |
Tests
pip install -e ".[dev]"
pytest -q # 21 protocol tests, no setup
GATE_APP_DIR=/path/to/compliance-gate/app pytest -q # + 3 production testsDie Tests importieren die Tool-Funktionen nicht und rufen sie nicht auf. Sie starten den Server als Unterprozess, führen den Handshake über stdio durch und steuern ihn als Client – denn ein Tool, das prozessintern funktioniert und über die Leitung scheitert, ist ein Tool, das nicht funktioniert.
Was sie über den Happy Path hinaus prüfen:
Jedes Tool deklariert ein Ausgabeschema, sodass Aufrufer auf Feldern verzweigen statt auf Prosa
Jeder Befund trägt eine Autorität und eine Ersatzformulierung
Befunde überlappen sich nie, sodass nichts doppelt gezählt und keine Umschreibung beschädigt wird
Umschreibungs-Offsets indizieren tatsächlich den Text, den sie angeblich abdecken
Der Digest stammt vom exakt eingereichten Text, nicht von einer normalisierten Kopie
Eine unbekannte Regel-ID ist ein Fehler, keine leere Antwort
Ein Element, das die Engine nicht verifizieren kann, kommt als
manualzurück, nie als bestandenDas Beispiel-Backend kennzeichnet sich selbst als solches
Die drei Produktionstests werden übersprungen, wenn GATE_APP_DIR nicht gesetzt ist. Sie prüfen die Regelversion und die Zahlen, die dieses Projekt öffentlich angibt, sowie dass Urteile sich je nach Bundesstaat unterscheiden – Behauptungen, für die keine Stichprobe einstehen kann.
Umfang und Grenzen
⚠️ Keine Rechtsberatung. Die Regeln wurden aus öffentlichen Gesetzen, Behördenrichtlinien und Branchenpolitik zusammengestellt; jede trägt ihre Quelle und das Datum, an dem sie gelesen wurde. Compliance wird von Aufsichtsbehörden und Gerichten entschieden, nicht von diesem Server.
⚠️ Sechs Bundesstaaten: TX, CA, NY, FL, IL, WA. Eine Prüfung gegen den falschen Bundesstaat wendet stillschweigend die falschen Pflichtelemente an – das state-Argument ist nicht kosmetisch.
⚠️ Die Beispiel-Regelbasis ist nicht das Produkt. Sechs Regeln gegen öffentliche Gesetze, geschrieben, damit dieses Repository von jedem ausgeführt werden kann. Die Basis hinter gate.debary.us ist größer, aus Quellendokumenten mit Lesedaten zusammengestellt und wird separat gepflegt.
⚠️ Hinweisbefunde sind bundesstaatsbezogen. Eine Phrase, die in einem Bundesstaat bindend ist, kann in einem anderen als advisory zurückkommen. Das ist die Engine, die präzise ist, nicht unsicher.
Apache-2.0 · DE BARY LLC, Austin TX
This server cannot be installed
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 Connectors
Deterministic compliance and vertical knowledge bases for autonomous agents. Free 24hr trial.
Deterministic trust gate for AI output: leaked-secret, prompt-injection & PII in one call.
Deterministic validation for AI-generated artifacts: JSON Schema, OpenAPI response, SQL syntax.
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/DE-BARY-LLC/debary-mcp-compliance'
If you have feedback or need assistance with the MCP directory API, please join our Discord server