hydris-diagnostic-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@hydris-diagnostic-mcpShow plant overview for factory fx-mbr-01"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
hydris-mcp-integration
Hydris Pulse Bridge track, Work Item 1: the Diagnostic MCP server skeleton
that will live at lite/diagnostic_mcp/ inside the Lite monorepo. It
discharges BRIDGE-2 (per-call factory authorization), BRIDGE-5
(per-call audit logging) and NFR-4 (security), and structurally
enforces BRIDGE-1 (read-only toolset).
See docs/scope.md for exactly what is and isn't built
here, and docs/decisions.md for the open-item
decisions (revocation latency, audit-sink-failure behaviour, the
non-leaking error shape, the toolset version scheme) this skeleton took a
position on, pending Nematullah's ratification.
Architecture
Two identities, kept separate (
diagnostic_mcp/auth/): a service-principal JWT (read-only scopes, verified independently) and a per-call user-context JWT. The service token never widens access.One pipeline for every call (
diagnostic_mcp/registry/pipeline.py): authenticate both identities, validate arguments, check the user's live factory grant (no caching), dispatch, audit-log the outcome - success, rejected, or error - every time.Registration-time read-only gate (
diagnostic_mcp/registry/tool_registry.py): a tool withoutclassification="read_only"or without a requiredfactory_idargument is rejected when it's registered, not when it's called.FastMCP for schema advertisement, one override for dispatch (
diagnostic_mcp/server.py):tools/listcomes from FastMCP as usual;tools/callis intercepted once, at the low-level server, so every toolpresent or future - goes through the same pipeline with no per-tool boilerplate.
One demonstration tool,
get_plant_overview(diagnostic_mcp/tools/plant_overview.py), backed by an in-memory stub of Lite's read-service layer, seeded with the exact fixtures the source docs name (u-ops-alphagrantedfx-mbr-01;u-ops-betagrantedfx-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 secretsRun the server:
set -a; source .env; set +a # or export the vars another way
python -m diagnostic_mcp.serverIt listens on streamable-http at http://127.0.0.1:8765/mcp by default.
Verify it end-to-end
pytest -v # includes a real streamable-HTTP client/server round trip
ruff check .
mypy diagnostic_mcp tests
python scripts/check_no_write_imports.pyTo call the running server manually with the official MCP client, mint a service token and a user-context token against the same secrets the server is running with:
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}")Then call get_plant_overview with factory_id=fx-mbr-01 (granted -
succeeds) or factory_id=fx-beta-01 (not granted - denied, and both
attempts land in audit.jsonl).
Work Item 1 definition of done
Item | Status |
MCP server registered in-process, streamable-HTTP reachable | Done |
Tool registry with read-only classification, rejecting non-conforming registration at startup | Done |
Service principal issued with read-only scopes, scope inventory written down against the 15-tool minimum set | Done - |
Per-call user context header parsed, grants resolved, call rejected before the service token is used | Done |
Non-leaking authorization error shape agreed and implemented | Done - see O3 in |
Revocation latency chosen and documented | Done - see O1 in |
Audit sink writing all six mandated fields, on success, failure and rejection | Done |
Pulse session id propagated and recorded, for TC-BRIDGE-5.3 parity | Done - |
Audit-sink-failure behaviour decided with Nematullah and implemented | Proposed, pending ratification - see O2 |
No-write CI check live in the Lite repository | Stand-in only - see |
Secrets resolving from the managed store, TLS enforced on the listener | Secrets: done (env-var seam). TLS: infra concern, see |
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