Skip to main content
Glama
ftezedor

server-hub-mcp

by ftezedor

Server Hub

Server Hub — это Python-сервис, который предоставляет данные об управлении серверами и операционные данные через два интерфейса:

  • REST API, реализованный на FastAPI

  • MCP server, предоставляющий инструменты для MCP-совместимых клиентов и ИИ-агентов

Оба интерфейса предназначены для предоставления одних и тех же базовых возможностей приложения, а не для дублирования бизнес-логики.

Архитектура

flowchart LR
    RESTClient["REST Client"] --> REST["REST API"]
    MCPClient["MCP Client / AI Agent"] --> MCP["MCP Server"]

    REST --> App["Application Layer"]
    MCP --> App

    App --> Domain["Domain / Models"]
    App --> Persistence["Persistence"]
    Persistence --> DB[("Database")]

REST и MCP — это интерфейсные границы вокруг прикладного слоя. Детали персистентности остаются за этой границей.

Related MCP server: quads-mcp

Инструменты MCP

Интерфейс MCP предоставляет:

  • search_servers

  • get_server

  • get_server_metrics

  • get_active_alerts

  • get_system_stats

  • create_alert

Слой MCP преобразует внутренние данные приложения в клиент-ориентированные ответы, а не раскрывает детали реализации персистентности.

REST API

Интерфейс REST предоставляет операции для:

  • обнаружения и поиска серверов

  • статуса серверов

  • метрик серверов

  • активных оповещений

  • создания оповещений

  • системной статистики

Тестирование

Запустите полный набор тестов с помощью:

pytest -q

Репозиторий включает отдельные тесты для публичных интерфейсов и набор тестов эквивалентности REST ↔ MCP.

tests/
├── test_api.py
├── test_mcp.py
└── test_rest_mcp_equivalence.py

Тесты эквивалентности REST ↔ MCP проверяют, что два интерфейса предоставляют эквивалентные возможности и данные, не требуя, чтобы форматы их ответов были идентичны.

Структура проекта

app/
├── api/
│   ├── domain/
│   ├── routes/
│   └── ...
├── mcp/
└── ...

tests/
docs/

Реализация организована вокруг прикладной/доменной логики и интерфейсных адаптеров.

Документация

Дополнительные архитектурные документы и записи о решениях могут быть добавлены в docs/ по мере развития проекта.

Разработка

Создайте виртуальное окружение, установите зависимости проекта и запустите тесты:

python -m venv .venv
source .venv/bin/activate
pip install -e ".[test]"
pytest -q

Репозиторий также содержит скрипты/компоненты для локального запуска сервисов REST и MCP.

Принципы проектирования

  • Сохраняйте поведение приложения независимым от транспортных протоколов.

  • Рассматривайте REST и MCP как интерфейсные адаптеры.

  • Держите детали персистентности за границей приложения.

  • Отдавайте предпочтение осмысленным доменным идентификаторам в операциях, обращённых к MCP.

  • Тестируйте публичные интерфейсы и их семантическую эквивалентность.

Лицензия

В текущих материалах проекта лицензия не указана.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides comprehensive monitoring and observability for MCP server ecosystems with real-time health checks, performance metrics, distributed tracing, anomaly detection, and automated performance reports using OpenTelemetry and Prometheus.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for interacting with QUADS infrastructure systems via API, enabling resource management and automation through LLM applications.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Exposes DevOps/SRE operations like Kubernetes pod status, Prometheus metrics queries, and deploy history as tools for MCP-compatible clients.
    -