Skip to main content
Glama
tarun-km

hydris-diagnostic-mcp

by tarun-km

hydris-mcp-integration

Hydris Pulse Bridge трек, Рабочий элемент 1: скелет диагностического MCP-сервера, который будет находиться в lite/diagnostic_mcp/ внутри монорепозитория Lite. Он реализует BRIDGE-2 (авторизация фабрики по вызову), BRIDGE-5 (аудит-логирование по вызову) и NFR-4 (безопасность), а также структурно обеспечивает BRIDGE-1 (набор инструментов только для чтения).

См. docs/scope.md для точного описания того, что здесь построено, а что нет, и docs/decisions.md для решений по открытым вопросам (задержка отзыва, поведение при сбое аудита-приемника, форма ошибки без утечки, схема версионирования набора инструментов), по которым этот скелет занял позицию в ожидании ратификации Нематуллы.

Архитектура

  • Два субъекта, раздельные (diagnostic_mcp/auth/): JWT сервисного принципала (области только для чтения, проверяется независимо) и JWT контекста пользователя для каждого вызова. Сервисный токен никогда не расширяет доступ.

  • Один конвейер для каждого вызова (diagnostic_mcp/registry/pipeline.py): аутентификация обоих субъектов, проверка аргументов, проверка активного разрешения фабрики пользователя (без кэширования), диспетчеризация, аудит-логирование результата — успех, отклонение или ошибка — каждый раз.

  • Шлюз только для чтения на этапе регистрации (diagnostic_mcp/registry/tool_registry.py): инструмент без classification="read_only" или без обязательного аргумента factory_id отклоняется при регистрации, а не при вызове.

  • FastMCP для объявления схемы, одно переопределение для диспетчеризации (diagnostic_mcp/server.py): tools/list поступает от FastMCP как обычно; tools/call перехватывается один раз, на низкоуровневом сервере, так что каждый инструмент — настоящий или будущий — проходит через один и тот же конвейер без шаблонного кода для каждого инструмента.

  • Один демонстрационный инструмент, get_plant_overview (diagnostic_mcp/tools/plant_overview.py), работающий на основе заглушки в памяти слоя чтения Lite, заполненной точными фикстурами, указанными в исходных документах (u-ops-alpha предоставлен fx-mbr-01; u-ops-beta предоставлен fx-beta-01).

Related MCP server: system-monitor

Быстрый старт

python -m venv .venv
.venv/Scripts/pip install -e ".[dev]"      # .venv/bin/pip on macOS/Linux
cp .env.example .env                        # then edit the two secrets

Запустите сервер:

set -a; source .env; set +a                 # or export the vars another way
python -m diagnostic_mcp.server

По умолчанию он слушает streamable-http на http://127.0.0.1:8765/mcp.

Проверка от начала до конца

pytest -v            # includes a real streamable-HTTP client/server round trip
ruff check .
mypy diagnostic_mcp tests
python scripts/check_no_write_imports.py

Чтобы вручную вызвать работающий сервер с официальным MCP-клиентом, создайте сервисный токен и токен контекста пользователя с теми же секретами, с которыми работает сервер:

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}")

Затем вызовите get_plant_overview с factory_id=fx-mbr-01 (разрешено — успех) или factory_id=fx-beta-01 (не разрешено — отклонено, и обе попытки попадают в audit.jsonl).

Критерии завершения рабочего элемента 1

Пункт

Статус

MCP-сервер зарегистрирован в процессе, доступен через streamable-HTTP

Готово

Реестр инструментов с классификацией только для чтения, отклоняющий несоответствующую регистрацию при запуске

Готово

Сервисный принципал выпущен с областями только для чтения, инвентаризация областей записана для минимального набора из 15 инструментов

Готово — diagnostic_mcp/auth/service_principal.py::MINIMUM_READ_SCOPES

Заголовок контекста пользователя для каждого вызова разобран, разрешения получены, вызов отклонен до использования сервисного токена

Готово

Форма ошибки авторизации без утечки согласована и реализована

Готово — см. O3 в docs/decisions.md

Задержка отзыва выбрана и задокументирована

Готово — см. O1 в docs/decisions.md

Аудит-приемник записывает все шесть обязательных полей при успехе, ошибке и отклонении

Готово

Идентификатор сессии Pulse распространяется и записывается для соответствия TC-BRIDGE-5.3

Готово — заголовок X-Pulse-Session-Id

Поведение при сбое аудита-приемника согласовано с Нематуллой и реализовано

Предложено, ожидает ратификации — см. O2

CI-проверка запрета записи активна в репозитории Lite

Только временная — см. docs/scope.md

Секреты извлекаются из управляемого хранилища, TLS включен на слушателе

Секреты: готово (прослойка env-var). TLS: вопрос инфраструктуры, см. docs/scope.md

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    -
    quality
    D
    maintenance
    An 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
  • F
    license
    A
    quality
    C
    maintenance
    A 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
  • F
    license
    -
    quality
    B
    maintenance
    A 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.

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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