hydris-diagnostic-mcp
hydris-mcp-integration
Hydris Pulse Bridge track, Work Item 1: el esqueleto del servidor MCP de diagnóstico
que residirá en lite/diagnostic_mcp/ dentro del monorepo Lite. Este
implementa BRIDGE-2 (autorización por fábrica por llamada), BRIDGE-5
(registro de auditoría por llamada) y NFR-4 (seguridad), y aplica
estructuralmente BRIDGE-1 (conjunto de herramientas de solo lectura).
Consulte docs/scope.md para saber exactamente qué se
construye y qué no aquí, y docs/decisions.md para
las decisiones sobre elementos abiertos (latencia de revocación,
comportamiento ante fallos del sumidero de auditoría, la forma del error
sin fuga de información, el esquema de versiones del conjunto de
herramientas) que este esqueleto adoptó, pendientes de la ratificación de
Nematullah.
Arquitectura
Dos identidades, mantenidas separadas (
diagnostic_mcp/auth/): un JWT de principal de servicio (ámbitos de solo lectura, verificado de forma independiente) y un JWT de contexto de usuario por llamada. El token de servicio nunca amplía el acceso.Una canalización para cada llamada (
diagnostic_mcp/registry/pipeline.py): autenticar ambas identidades, validar argumentos, comprobar la concesión de fábrica activa del usuario (sin almacenamiento en caché), enviar, registrar el resultado de la auditoría (éxito, rechazo o error) en cada ocasión.Puerta de solo lectura en el momento del registro (
diagnostic_mcp/registry/tool_registry.py): una herramienta sinclassification="read_only"o sin un argumentofactory_idrequerido es rechazada cuando se registra, no cuando se invoca.FastMCP para la publicidad del esquema, una anulación para el envío (
diagnostic_mcp/server.py):tools/listproviene de FastMCP como de costumbre;tools/calles interceptado una vez, a nivel de servidor de bajo nivel, de modo que cada herramienta (presente o futura) pasa por la misma canalización sin código repetitivo por herramienta.Una herramienta de demostración,
get_plant_overview(diagnostic_mcp/tools/plant_overview.py), respaldada por un simulacro en memoria de la capa de servicio de solo lectura de Lite, sembrada con los mismos datos de prueba que los documentos fuente nombran (u-ops-alphacon concesiónfx-mbr-01;u-ops-betacon concesiónfx-beta-01).
Related MCP server: system-monitor
Inicio rápido
python -m venv .venv
.venv/Scripts/pip install -e ".[dev]" # .venv/bin/pip on macOS/Linux
cp .env.example .env # then edit the two secretsEjecute el servidor:
set -a; source .env; set +a # or export the vars another way
python -m diagnostic_mcp.serverEscucha en streamable-http en http://127.0.0.1:8765/mcp por defecto.
Verifíquelo de extremo a extremo
pytest -v # includes a real streamable-HTTP client/server round trip
ruff check .
mypy diagnostic_mcp tests
python scripts/check_no_write_imports.pyPara invocar el servidor en ejecución manualmente con el cliente MCP oficial, genere un token de servicio y un token de contexto de usuario con los mismos secretos con los que se está ejecutando el servidor:
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}")Luego invoque get_plant_overview con factory_id=fx-mbr-01 (concedido -
tiene éxito) o factory_id=fx-beta-01 (no concedido - denegado, y ambos
intentos quedan registrados en audit.jsonl).
Definición de completado del Work Item 1
Elemento | Estado |
Servidor MCP registrado en proceso, accesible mediante streamable-HTTP | Hecho |
Registro de herramientas con clasificación de solo lectura, que rechaza el registro no conforme al inicio | Hecho |
Principal de servicio emitido con ámbitos de solo lectura, inventario de ámbitos documentado frente al conjunto mínimo de 15 herramientas | Hecho - |
Cabecera de contexto de usuario por llamada analizada, concesiones resueltas, llamada rechazada antes de usar el token de servicio | Hecho |
Forma de error de autorización sin fuga de información acordada e implementada | Hecho - véase O3 en |
Latencia de revocación elegida y documentada | Hecho - véase O1 en |
Sumidero de auditoría que escribe los seis campos obligatorios, en caso de éxito, fallo y rechazo | Hecho |
Id de sesión de Pulse propagado y registrado, para la paridad con TC-BRIDGE-5.3 | Hecho - cabecera |
Comportamiento ante fallos del sumidero de auditoría decidido con Nematullah e implementado | Propuesto, pendiente de ratificación - véase O2 |
Comprobación CI de no escritura activa en el repositorio Lite | Solo provisional - véase |
Secretos resueltos desde el almacén gestionado, TLS aplicado en el oyente | Secretos: hecho (interfaz de variable de entorno). TLS: preocupación de infraestructura, véase |
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