Skip to main content
Glama
jmazzahacks

byteforge-aegis-mcp

by jmazzahacks

byteforge-aegis-mcp

ByteForge Aegis管理APIに対する読み取り専用のMCPサーバーで、Gatekeeper認証付きのnginxの背後にコンテナとしてデプロイされています。

なぜ必要か

Aegisおよびテナント統合に取り組むエージェントは、「本番環境で実際に何が設定されているのか?」という問いに繰り返し答える必要があります。Webhook URLが設定されているか、allow_self_registrationが有効か、どのサイトが存在するか、このユーザーが存在するかなどです。このサーバーが登場する前は、そのような問いにはマスターAPIキーを使った手動のcurlで答えていました。あるいは全く答えられず、サイト設定を読み戻せなかったため、テナントプロビジョニングリクエストが主張に基づいて部分的に承認されたこともありました。

Related MCP server: readonly-mcp-akamai

設計による読み取り専用

すべてのツールはGETにマッピングされています。このラッパーが使用するAegisクライアントはcreate_siteupdate_sitedelete_sitedelete_userなども公開していますが、ここからはアクセスできず、追加すべきでもありません。このサーバーの価値は、本番環境の状態を変更する可能性が一切ない状態でエージェントに渡せることです。もし変更操作が必要になったとしても、それは別の、別途認可されたデプロイメントに属するものです。

ツール

ツール

回答する内容

aegis_health

どのビルドが稼働中か(statusserviceversion

aegis_list_sites

インスタンス上のすべてのテナント(シークレット含む)

aegis_get_site

1つのサイトの完全な設定(UUIDまたはドメインで指定)

aegis_list_users

サイト上のすべてのユーザー

aegis_find_user

サイト上の1人のユーザー(メールアドレスで検索、大文字小文字を区別しない)

aegis_get_siteaegis_list_usersはUUIDだけでなくドメインも受け付けます。管理APIはUUIDでのみサイトを識別します(utils/identifiers.pyresolve_siteはUUID以外を拒否します)。そのため、ドメインは最初に公開のby-domainルックアップを通じて解決されます。呼び出し元はほとんどの場合、UUIDではなくドメインを知っています。

レスポンス内のシークレット

サイトの読み取りには、tenant_api_keywebhook_secretmailgun_api_keyが完全な形で含まれます。これは@jmazzahacksが存在を示すブール値を返すよりも意図的に選択した方法です。その結果、ここで読み取られたものはすべて呼び出し元のエージェントのトランスクリプトに記録されるため、レスポンスをチケットや他の共有画面に貼り付けてはいけませんAEGIS_MASTER_API_KEYはインスタンス上のすべてのサイトに及びます。

設定

変数

目的

AEGIS_API_URL

読み取り対象のAegisインスタンス(例:https://aegis.example.com

AEGIS_MASTER_API_KEY

マスターキー。すべてのサイトに及びます

MCP_TRANSPORT

ローカル開発ではstdio、Dockerではstreamable-http

FASTMCP_HOST / FASTMCP_PORT

バインドアドレス。FastMCPがこれらを特に読み取ります

example.envを参照してください。

ローカル開発

uv venv --python 3.13 .venv
source .venv/bin/activate
uv pip install -r requirements.txt

AEGIS_API_URL=https://aegis.example.com \
AEGIS_MASTER_API_KEY=... \
MCP_TRANSPORT=stdio \
python aegis_mcp_server.py

venvはリポジトリルートではなく.venv/にあります。これは兄弟のAegisリポジトリとは異なります。uv venvは空でないディレクトリにvenvを作成することを拒否するためです。

デプロイ時と同様にネットワーク経由で動作を確認するには:

MCP_TRANSPORT=streamable-http FASTMCP_HOST=127.0.0.1 FASTMCP_PORT=8931 \
AEGIS_API_URL=... AEGIS_MASTER_API_KEY=... python aegis_mcp_server.py &

curl -s -X POST http://127.0.0.1:8931/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

initializeなしで成功するtools/listは、ステートレスモードが有効であることを示します。

ビルドと公開

./build-publish.sh            # or --no-cache

ghcr.io/jmazzahacks/byteforge-aegis-mcp:<n>:latestを公開し、その後VERSIONを進めます。VERSIONはgitignoreされており、スクリプトが完全に管理します。手動で編集しないでください。

byteforge-aegisとは異なり、このイメージはVERSIONを自身に焼き付けません。そのため、ここではスクリプトのビルド後の書き込み順序が正しく機能します。もしバージョンエンドポイントが追加された場合、書き込みはdocker buildに移動する必要があります。そうしないと、すべてのイメージが1バージョン古いものを報告することになります。

デプロイメント

Gatekeeper auth_request認証を使用するmcp.<domain>統合バーチャルホストの背後で動作します。ロケーションブロックについてはnginx-mcp-aegis.confを参照してください。コンテナはホストポートを公開しません。nginxは共有Dockerネットワーク上のコンテナ名で到達します。これは、マスターキーが直接の露出を許容しないため重要です。

トランスポート

stateless_http=Trueを使用したstreamable-http。SSEではありません。Claude Codeの長期間存続するSSE GETが停止すると、initializeを再実行せずに再接続し、サーバーが最初にtools/callを認識し、結果として-32602が発生して手動で/mcpをリロードするまでクライアントが動かなくなります。ステートレスなstreamable-httpには失うべきセッションごとの状態がないため、そのような障害は構造的に発生し得ません。

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
    A
    quality
    C
    maintenance
    Read-only MCP server that allows AI assistants to query and monitor KVM Fleet devices, audit logs, and console sessions through the official REST API.
    5
    14
    1
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    A read-only MCP server that provides tools to list and read devices, MDM servers, blueprints, configurations, apps, packages, users, and other resources from Apple Business Manager and Apple School Manager.
    MIT

View all related MCP servers

Related MCP Connectors

  • Read-only Dant3 MCP for public rooms, agents, jobs and provisional machine onboarding.

  • Hosted MCP server for agent governance: MCP config audits, injection scans, scope-policy checks.

  • Read-only MCP server for ClassQuill, a tutoring-business-management platform.

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/jmazzahacks/byteforge-aegis-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server