hydris-diagnostic-mcp
hydris-mcp-integration
Hydris Pulse Bridge Track, Arbeitspaket 1: das Diagnose-MCP-Server-Skelett, das sich im Lite-Monorepo unter lite/diagnostic_mcp/ befinden wird. Es erfüllt BRIDGE-2 (pro-aufruf-Factory-Autorisierung), BRIDGE-5 (pro-aufruf-Audit-Protokollierung) und NFR-4 (Sicherheit) und erzwingt strukturell BRIDGE-1 (schreibgeschütztes Toolset).
Siehe docs/scope.md für eine genaue Beschreibung dessen, was hier gebaut wird und was nicht, und docs/decisions.md für die offenen Entscheidungen (Widerrufslatenz, Verhalten bei Audit-Sink-Fehlern, die nicht preisgebende Fehlerform, das Toolset-Versionsschema), zu denen dieses Skelett eine Position bezogen hat, in Erwartung der Ratifizierung durch Nematullah.
Architektur
Zwei Identitäten, getrennt gehalten (
diagnostic_mcp/auth/): ein Dienstprinzipal-JWT (schreibgeschützte Bereiche, unabhängig verifiziert) und ein pro-aufruf Benutzerkontext-JWT. Das Diensttoken erweitert niemals den Zugriff.Eine Pipeline für jeden Aufruf (
diagnostic_mcp/registry/pipeline.py): Authentifiziere beide Identitäten, validiere Argumente, prüfe die Live-Factory-Berechtigung des Benutzers (kein Caching), leite weiter, protokolliere das Ergebnis – Erfolg, Ablehnung oder Fehler – jedes Mal.Schreibgeschütztes Tor zur Registrierungszeit (
diagnostic_mcp/registry/tool_registry.py): Ein Tool ohneclassification="read_only"oder ohne ein erforderlichesfactory_id-Argument wird bei der Registrierung abgelehnt, nicht beim Aufruf.FastMCP für Schema-Ankündigung, eine Überschreibung für Dispatch (
diagnostic_mcp/server.py):tools/listkommt wie gewohnt von FastMCP;tools/callwird einmal auf dem Low-Level-Server abgefangen, sodass jedes Tool – gegenwärtig oder zukünftig – dieselbe Pipeline durchläuft, ohne pro-Tool-Boilerplate.Ein Demonstrations-Tool,
get_plant_overview(diagnostic_mcp/tools/plant_overview.py), gestützt durch einen In-Memory-Stub der Lese-Service-Schicht von Lite, befüllt mit den genauen Fixtures, die die Quelldokumente nennen (u-ops-alphagewährtfx-mbr-01;u-ops-betagewährtfx-beta-01).
Related MCP server: system-monitor
Quickstart
python -m venv .venv
.venv/Scripts/pip install -e ".[dev]" # .venv/bin/pip on macOS/Linux
cp .env.example .env # then edit the two secretsServer ausführen:
set -a; source .env; set +a # or export the vars another way
python -m diagnostic_mcp.serverEr hört standardmäßig auf streamable-http unter http://127.0.0.1:8765/mcp.
End-to-End-Überprüfung
pytest -v # includes a real streamable-HTTP client/server round trip
ruff check .
mypy diagnostic_mcp tests
python scripts/check_no_write_imports.pyUm den laufenden Server manuell mit dem offiziellen MCP-Client aufzurufen, erstelle ein Diensttoken und ein Benutzerkontext-Token mit denselben Geheimnissen, mit denen der Server läuft:
from diagnostic_mcp.auth.service_principal import issue_service_token
from diagnostic_mcp.auth.user_context import issue_user_context_token
service_token = issue_service_token("<LITE_MCP_SERVICE_TOKEN_SECRET>")
user_token = issue_user_context_token("<LITE_MCP_USER_CONTEXT_SECRET>", "u-ops-alpha", "org-alpha")
print(f"Authorization: Bearer {service_token}")
print(f"X-Pulse-User-Context: {user_token}")Rufe dann get_plant_overview mit factory_id=fx-mbr-01 auf (gewährt – erfolgreich) oder factory_id=fx-beta-01 (nicht gewährt – abgelehnt, und beide Versuche landen in audit.jsonl).
Definition of Done für Arbeitspaket 1
Item | Status |
MCP-Server prozessintern registriert, streamable-HTTP erreichbar | Erledigt |
Tool-Registry mit schreibgeschützter Klassifizierung, lehnt nicht konforme Registrierung beim Start ab | Erledigt |
Dienstprinzipal mit schreibgeschützten Bereichen ausgestellt, Bereichsinventar gegen das 15-Tool-Minimum-Set festgehalten | Erledigt – |
Pro-Aufruf-Benutzerkontext-Header geparst, Berechtigungen aufgelöst, Aufruf abgelehnt bevor das Diensttoken verwendet wird | Erledigt |
Nicht preisgebende Autorisierungsfehlerform vereinbart und implementiert | Erledigt – siehe O3 in |
Widerrufslatenz gewählt und dokumentiert | Erledigt – siehe O1 in |
Audit-Sink schreibt alle sechs vorgeschriebenen Felder bei Erfolg, Fehler und Ablehnung | Erledigt |
Pulse-Sitzungs-ID weitergegeben und aufgezeichnet, für TC-BRIDGE-5.3-Parität | Erledigt – |
Verhalten bei Audit-Sink-Fehler mit Nematullah entschieden und implementiert | Vorgeschlagen, ausstehende Ratifizierung – siehe O2 |
No-Write-CI-Prüfung live im Lite-Repository | Nur Platzhalter – siehe |
Geheimnisse aus dem verwalteten Speicher auflösen, TLS am Listener erzwungen | Geheimnisse: erledigt (Umgebungsvariablen-Schnittstelle). TLS: Infrastrukturthema, siehe |
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
- Alicense-qualityDmaintenanceAn MCP server that provides secure, read-only access to the TrakSYS manufacturing analytics platform through entity-based tools and guided investigation prompts. It enables users to interact with manufacturing databases and perform data analysis via natural language.MIT
- FlicenseAqualityCmaintenanceA secure, read-only MCP server for AI-powered system monitoring. It provides real-time OS metrics, config discovery, and safe log tailing to enable autonomous infrastructure audits without shell access risks.4
- Alicense-qualityCmaintenanceA hardened MCP server exposing read-only orders tools to AI agents, with rigorous input validation and parameterized queries to prevent injection attacks.MIT
- Flicense-qualityBmaintenanceA read-only MCP server that exposes a materials distributor database with four tools for querying tables, describing schemas, sampling rows, and running SELECT queries, secured by three independent layers to prevent any write operations.
Related MCP Connectors
Read-only MCP server for wafergraph.com's semiconductor & AI supply-chain data: 30 tools, no auth.
Remote MCP for Android CLI agent build gate, structured receipts, audit logs, and reviewer-ready evi
Hosted MCP server for agent governance: MCP config audits, injection scans, scope-policy checks.
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/tarun-km/hydris-mcp-integration'
If you have feedback or need assistance with the MCP directory API, please join our Discord server