mcp-safe-inventory-demo
Sichere MCP-Muster für Agenten, die Geschäftszustand verändern
Ein minimaler MCP-Server, der drei Muster für sicheren Schreibzugriff von KI-Agenten auf reale Geschäftssysteme zeigt: Phasen-Gating, Validierung vor Mutation und strukturierte Audit-Protokollierung.
Dies ist eine Demo, kein Produkt. Die Domäne (ein Spielzeug-Inventar- und Bestellsystem) existiert nur, um den Mustern etwas Konkretes zu geben, worauf sie angewendet werden können – die Muster selbst sind der Punkt, und sie sind domänenunabhängig.
Warum es das gibt
KI-Agenten erhalten zunehmend Schreibzugriff auf reale Systeme – Bestellungen, Inventar, CRM-Datensätze, Prognosen. Die häufige Fehlerquelle ist nicht, dass das zugrunde liegende LLM in einem abstrakten Sinne unzuverlässig ist; es ist, dass Implementierungen dem Modell oft vertrauen, „das Richtige zu tun", ohne strukturelle Schutzvorrichtung dahinter. Wenn ein Agent einen Zustand halluziniert, durch eine Prompt-Injection manipuliert wird oder nur die Reihenfolge der Operationen falsch versteht, ist das Ergebnis ein stiller, falscher Schreibvorgang in ein System, den ein Mensch jetzt im Nachhinein bemerken, diagnostizieren und beheben muss.
Die drei Muster unten sind keine neue Forschung – sie sind standardmäßige technische Disziplin für alles, was Produktionszustand berührt, angewendet speziell auf Agenten-Tool-Aufrufe.
Related MCP server: sop-mcp
Die drei Muster
1. Phasen-Gating. Eine mutierende Operation (submit_purchase_order) kann nur erfolgreich sein, wenn eine entsprechende Lese-/Vorschau-Operation (draft_purchase_order) zuvor in derselben Sitzung stattgefunden hat. Dies wird im Code erzwungen – ein harter Fehler, keine Prompt-Anweisung, die das Modell ignorieren oder aus der es sich herausreden lassen kann. Die Fehlermeldung sagt dem Aufrufer genau, was als Nächstes zu tun ist, was es einem Agenten ermöglicht, sich selbst zu korrigieren, statt nur zu scheitern.
2. Validierung vor Mutation. Jede Prüfung – existiert die SKU, ist die Menge vernünftig, überschreitet dies eine vernünftige Bestellschwelle – läuft gegen eine reine Darstellung der vorgeschlagenen Änderung, bevor irgendetwas geschrieben wird. Validierung hat niemals Nebenwirkungen. Und entscheidend: Alle Prüfungen laufen unabhängig von früheren Fehlern, sodass ein Aufrufer alle Probleme auf einmal sieht, statt eines zu beheben, erneut zu senden und auf das nächste zu stoßen.
3. Strukturierte Audit-Protokollierung. Jeder Tool-Aufruf wird protokolliert – einschließlich blockierter und abgelehnter, nicht nur erfolgreicher Mutationen. Eine Audit-Spur, die über verweigerte Versuche schweigt, vermisst genau die Ereignisse, die später am ehesten eine Überprüfung wert sind: Was hat der Agent versucht, das gestoppt wurde, und warum.
Die Demo
examples/happy_path.md– Entwurf → Prüfung → Einreichung, mit echtem erfassten Outputexamples/blocked_paths.md– fünf Wege, auf denen die Sicherheitsebene tatsächlich einen schlechten Aufruf stoppt, ebenfalls mit echtem Output
Probieren Sie es selbst aus
pip install -r requirements.txt
pytest tests/ -v # 17 tests, exercises every pattern above
python server.py # runs the MCP server over stdioDie Tests sind der eigentliche Beweis, nicht der obige Prosa. Wenn Sie eine Behauptung in dieser README verifizieren möchten, ist der entsprechende Test eine bessere Quelle der Wahrheit als meine Beschreibung davon.
Struktur
server.py # MCP tool definitions — thin, delegates everywhere
safety/
phases.py # session state + the phase gate itself
validation.py # pure validation functions
audit.py # structured logging, including failures
domain/
inventory.py # toy in-memory "database"
purchase_orders.py # draft/commit data + transformations
tests/ # one file per pattern, ~17 tests total
examples/ # real captured walkthroughssafety/ und domain/ importieren nicht voneinander in der Richtung, die man von einer Aufteilung in „Geschäftslogik" und „Schutzvorrichtungen" erwarten würde: Die Domänenschicht hat keine Ahnung, dass Sitzungen oder Genehmigungen existieren. Das Gate lebt vollständig außerhalb davon, in safety/phases.py, das entscheidet, ob domain.purchase_orders.commit_draft() jemals erreicht wird. Diese Trennung ist beabsichtigt – sie ist es, die es möglich macht, über die Sicherheitseigenschaften nachzudenken, ohne gleichzeitig über Inventarlogik nachdenken zu müssen.
Was dies nicht ist
Kein Produktionscode. Keine echte Datenbank – Inventar ist ein Python-Dict. Keine Authentifizierung. Sitzungszustand ist im Speicher und Single-Process. Dies existiert, um die Sicherheitsmuster isoliert prüfbar und testbar zu machen, nicht um ein System zu sein, das jemand bereitstellen sollte.
Hintergrund
Ich habe während meines Praktikums bei Eli Lilly Produktions-MCP-Server (Go, Kubernetes) entworfen und gebaut, einschließlich phasengesteuertem Tool-Zugriff und obligatorischer Validierung vor jeder zustandsverändernden Bereitstellungsoperation. Diese Demo ist frisch gebaut, in einer anderen Domäne, ohne diesen Code zu verwenden – sie isoliert dieselben zugrunde liegenden Muster, sodass sie gelesen, ausgeführt und getestet werden können, ohne Zugriff auf etwas Proprietäres zu benötigen.
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 Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI coding agents to execute formal, stateful workflows with typed contracts, postcondition enforcement, and structured retry logic.1Apache 2.0
- AlicenseAqualityAmaintenanceEnables AI agents to execute multi-step Standard Operating Procedures step by step, with enforcement of completion at each step, making LLM behavior predictable and auditable.53Apache 2.0
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to investigate and resolve operational exceptions across orders, payments, inventory, and fulfillment through a multi-system truth and guarded actions.
- AlicenseNot gradedqualityBmaintenanceA public-safe research prototype for controlling AI-agent tool actions with deterministic policy, risk-based human approval, time-bound authorization and a tamper-evident audit chain.1MIT
Related MCP Connectors
Six-gate governance for AI agents: PROCEED/PAUSE/HALT decisions with hash-chained audit trails.
Durable agent-to-agent handoffs and shared scratchpad for multi-agent workflows.
Tamper-evident audit log service for agent-to-agent transactions
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/Medhaj-ops/mcp-safe-inventory-demo'
If you have feedback or need assistance with the MCP directory API, please join our Discord server