Skip to main content
Glama
ftezedor

server-hub-mcp

by ftezedor

Server Hub

Server Hub は、サーバー管理と運用データを2つのインターフェースを通じて公開する Python サービスです:

  • REST API(FastAPI で実装)

  • MCP サーバー(MCP 対応クライアントと AI エージェントにツールを提供)

両インターフェースは、ビジネスロジックを複製するのではなく、同じ基盤となるアプリケーション機能を公開することを目的としています。

アーキテクチャ

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 等価性テストは、2つのインターフェースが同等の機能とデータを公開していることを検証しますが、レスポンスエンベロープが同一であることは要求しません。

プロジェクト構造

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.
    -