Apstra Mcp Server について
Apstra MCP Serverは、データセンターネットワークを管理するチーム向けに、Juniper Apstra Fabric Managerの操作をMCPクライアントへ提供します。ブループリントやネットワーク設定の管理に加え、インフラの照会と監視に対応します。
主な機能
- 01データセンターブループリントの管理
- 02ラック、ネットワーク、プロトコルの照会
- 03仮想ネットワークとゲートウェイの作成
- 04接続テンプレートポリシーの適用
- 05設定のデプロイと異常の確認
- 06HTTP経由の更新ストリーミング
活用シーン
- 01ブループリントとデバイス情報の確認
- 02仮想ネットワークとゲートウェイの構成
- 03エンドポイントポリシーの適用と変更のデプロイ
- 04プロトコルセッションと異常の確認
MCP 対応
MCPクライアント向けに、Juniper Apstraを照会・管理するツールを提供します。stdioとstreamable HTTPに対応し、SSEで更新を配信できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Apstra MCP Server
Juniper Apstra Fabric Manager API と連携するためのツールを提供する Model Context Protocol(MCP)サーバーです。Claude やその他の MCP クライアントが、自然言語コマンドを使ってデータセンターネットワークインフラを管理できるようにします。
Features
- ブループリント管理:ブループリント設定の作成、取得、削除
- インフラストラクチャの照会:ラック、ルーティングゾーン、システム情報の取得
- ネットワークのプロビジョニング:高度な設定オプションとリモートゲートウェイを指定した仮想ネットワークの作成
- 接続テンプレート:接続テンプレートとアプリケーションエンドポイントの割り当てを管理
- ポリシー管理:アプリケーションエンドポイントに対する接続テンプレートポリシーの適用と削除
- 設定管理:デプロイステータスの確認と設定のデプロイ
- プロトコルの監視:BGP などのプロトコルセッションを監視
- 異常検知:ブループリントの異常を取得して分析
- ネイティブストリーミングのサポート:Server-Sent Events によるリアルタイム更新
Quick Start
ローカルでの使用(stdio)
# Create config file
cp apstra_config_sample.json apstra_config.json
# Edit with your Apstra server details
# Run with stdio transport
python3 apstra_mcp.py -t stdio -f apstra_config.json
ネットワークへのデプロイ(Streamable HTTP)
Docker(推奨)
# Clone and configure
git clone <this-repo>
cd apstra-mcp-server
cp apstra_config_sample.json apstra_config.json
# Edit config with your Apstra details
# Start HTTP streaming server
docker-compose up -d
Python を直接使用
# Install dependencies
pip install -r requirements.txt
# Start streamable HTTP server
python3 apstra_mcp.py -t streamable-http -H 0.0.0.0 -p 8080 -f apstra_config.json
Installation
前提条件
- Python 3.7+
- Juniper Apstra サーバーへのアクセス
- 有効な Apstra 認証情報
依存関係
pip install -r requirements.txt
利用可能なツール(合計 21 個)
ヘルスチェックとステータスのツール(2 個)
health()- サーバーのヘルスチェックと Apstra 接続ステータスformatting_guidelines()- ネットワークデータの表示形式に関するガイドラインを取得
クエリツール(12 個)
get_bp()- ブループリント情報を取得get_racks(blueprint_id)- ラック情報を取得get_rz(blueprint_id)- ルーティングゾーンを取得get_vn(blueprint_id)- 仮想ネットワークを取得get_ct(blueprint_id)- 接続テンプレートを取得get_app_ep(blueprint_id)- 接続テンプレートのアプリケーションエンドポイントを取得get_system_info(blueprint_id)- システム/デバイス情報を取得get_protocol_sessions(blueprint_id)- プロトコルセッションを取得get_anomalies(blueprint_id)- ブループリントの異常を取得get_remote_gw(blueprint_id)- リモートゲートウェイを取得get_diff_status(blueprint_id)- デプロイの差分ステータスを取得get_templates()- 利用可能なテンプレートを取得
管理ツール(3 個)
deploy(blueprint_id, description, staging_version)- 設定をデプロイdelete_blueprint(blueprint_id)- ブループリントを削除apply_ct_policies(blueprint_id, application_points)- アプリケーションエンドポイントに対する接続テンプレートポリシーを適用/削除
作成ツール(4 個)
create_vn(blueprint_id, security_zone_id, vn_name, virtual_gateway_ipv4, ipv4_subnet, ...)- 高度な設定オプションを指定して仮想ネットワークを作成create_remote_gw(blueprint_id, gw_ip, gw_asn, gw_name, local_gw_nodes, ...)- リモートゲートウェイを作成create_datacenter_blueprint(blueprint_name, template_id)- データセンターのブループリントを作成create_freeform_blueprint(blueprint_name)- フリーフォームのブループリントを作成
Security Model
stdio トランスポート(デフォルト)
- ネットワークに公開されないため、デフォルトで安全です
- 設定ファイルの認証情報を使用します
- Claude Desktop との連携に最適です
streamable-http トランスポート
- ネイティブの FastMCP ストリーミング機能を備え、ネットワーク経由でアクセスできます
- リアルタイム更新のために SSE へ自動的にアップグレードします
- 単一のコンテナーでデプロイできます
Claude Desktop Configuration
claude_desktop_config.json に追加します:
{
"mcpServers": {
"apstra": {
"command": "uv",
"args": [
"run",
"--with",
"fastmcp,httpx",
"python3",
"/path/to/apstra_mcp.py",
"-f",
"/path/to/apstra_config.json"
]
}
}
}
パスをインストールディレクトリに合わせて更新してください。
Usage Examples
Claude Desktop での使用例
- 「システム内のすべてのブループリントを表示して」
- 「ゲートウェイ 192.168.1.1、サブネット 192.168.1.0/24 で『web-tier』という仮想ネットワークを作成して」
- 「ブループリント X のすべての接続テンプレートを取得して」
- 「インターフェース Z に接続テンプレートポリシー Y を適用して」
- 「接続テンプレートのアプリケーションエンドポイントを表示して」
- 「ステージング設定をデプロイして」
- 「ブループリント X に異常がないか確認して」
ストリーミング HTTP クライアント
サーバーは /mcp/* でネイティブな FastMCP エンドポイントを公開し、ストリーミングレスポンスに対して SSE へのアップグレードを自動的に行います。
アーキテクチャ
- FastMCP フレームワーク:SSE ストリーミングを自動で行うネイティブなトランスポートシステムです
- 設定ベースの認証:Apstra API 認証を直接使用する、シンプルなステートレス運用です
- 単一コンテナ:ストリーム可能な HTTP トランスポートを使用する、ポート 8080 の HTTP サーバーです
ドキュメント
- DEPLOYMENT.md - 例を含む完全なデプロイガイドです
- CLAUDE.md - 技術的な実装の詳細と開発ガイドです
トラブルシューティング
- 認証に失敗する:認証情報とサーバーの接続状況を確認してください
- ツールが表示されない:Claude Desktop のログでサーバーの起動を確認してください
- トランスポートエラー:FastMCP のバージョンに互換性があることを確認してください
- Docker の問題:
docker-compose logsを確認してください
ライセンス
このプロジェクトは、教育およびデモンストレーションを目的として現状のまま提供されます。
ブログ記事:データセンターネットワーク向け MCP
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。