vcf-automation-mcp-server
vcf-automation-mcp
VCF Automation(旧Aria Automation)のREST APIをラップするMCPサーバーです。プロジェクト、カタログアイテム、デプロイメントをMCPツールとして公開し、LLMクライアントがプロビジョニング済みのインフラを直接参照・管理できるようにします。
これは、VCF Operations(vROps)をラップするvcf-ops-mcpの対応物です。
このサーバーは実際のインフラをプロビジョニングおよび削除できます(request_catalog_item、run_deployment_action/run_deployment_resource_action、delete_deployment)。そのベアラートークンと、その基盤となるVCF Automationのリフレッシュトークンは、監視対象環境全体でVMを作成・削除できる認証情報と同じように扱ってください。実際、それらはまさにそのような認証情報です。
セットアップ
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env # then fill in your VCF Automation details必須設定(.env または実際の環境変数):
変数 | 説明 |
| VCF Automation アプライアンスのベースURL(例: |
| UIで生成されたAPIリフレッシュトークン(My Account > API Tokens) |
| 認証対象のテナント組織名。プロバイダー("system")レベルの場合は未設定のままにします |
| 上級設定: 算出されたOAuthトークンエンドポイントを上書きします |
| 自己署名ラボのインスタンスに対するTLS検証をスキップするには |
| リクエストごとのタイムアウト(秒)(デフォルト |
| IaaS API 用の |
| Catalog API 用の |
| Deployment API 用の |
リフレッシュトークンの取得
VCF Operations(ユーザー名/パスワード)とは異なり、VCF AutomationはUIで一度だけ生成する長期有効なAPIリフレッシュトークンで認証します。このサーバーは、あなたの代わりに、そのトークンを短期有効(約1時間)のベアラーアクセストークンと交換し、キャッシュおよび更新を透過的に処理します。
サーバーにその組織(テナント)として機能させたい組織でVCF AutomationのUIにサインインします。
右上にある自分のユーザー名をクリックし、My Account > API Tokens > New の順に進みます。
トークンに名前を付けて作成し、それを
VCFA_REFRESH_TOKENにコピーします。VCFA_ORGをその組織の名前(Provider Portalに表示されているもの)に設定します。どこかで提供("system")レベルでトークンを生成した場合は、設定しなくても問題ありません。
正確なトークン交換パス(VCFA_TOKEN_URL)は、VCF Automationのリリースによってドキュメントに一貫性がありません。このサーバーはデフォルトで /tm/oauth/tenant/<org>/token(テナント)または /oauth/provider/token(プロバイダー)を使用し、インスタンスの実際のパスが異なる場合にはオーバーライドできます。
サーバーのトランスポート/認証設定(こちらも .env または実際の環境変数):
変数 | 説明 |
|
|
| streamable-httpのバインドホスト(デフォルト |
| streamable-httpのバインドポート(デフォルト |
| streamable-httpでは必須です。クライアントは |
| DNSリバインディング対策用の、カンマ区切りのHostヘッダー許可リスト |
Related MCP server: AI Core MCP Server
実行
デフォルトでは、streamable-httpでスタンドアロンのリモートサーバーとして実行され、127.0.0.1:8000 にバインドされ、すべてのリクエストでベアラートークンが必要です:
export VCFA_MCP_BEARER_TOKEN="$(openssl rand -hex 32)"
vcf-automation-mcp
# or
python -m vcf_automation_mcpGET /healthz は認証されていません(ロードサーバー/オーケストレーターの死活チェック用)。その他のすべてにはベアラートークンが必要です。127.0.0.1 はローカルのみをリッスンするため、別のホストから実際に到達するには、VCFA_MCP_HOST=0.0.0.0 を設定するか(またはリバースプロキシの背後で実行)、ベアラートークンがネットワークと管理対象環境全体でインフラをプロビジョニングおよび削除できる認証情報との間の唯一の保護であることを確認してください。つまり、他のシークレットと同じように扱い、信頼できないネットワーク上で平文HTTPで送るのではなく、TLS終端(例: リバースプロキシ)を前段に置くことを推奨します。
VCFA_MCP_HOST が 127.0.0.1/localhost でない場合、FastMCP独自のDNSリバインディング保護(受信リクエストの Host ヘッダーへのチェック)はデフォルトで許可リストに何も登録されません。ループバックホストに対してのみ許可リストを自動構成するためです。未設定のままでは、Host ヘッダーのチェックは実施されず、ベアラートークンのみが唯一のゲートになります。これは信頼できるネットワークでは問題ありませんが、共有または信頼できないネットワークでは、多層防御のために、クライアントが実際に接続するホスト名/IP:port のカンマ区切りリストを VCFA_MCP_ALLOWED_HOSTS に設定してください。
MCPクライアントを streamable-http サーバーとして向けます。例として Claude Code での設定:
claude mcp add --transport http vcf-automation http://<host>:8000/mcp \
--header "Authorization: Bearer <your-token>"stdio での実行(代替方法)
ローカル使用(MCPクライアントがサーバー自体をサブプロセスとして起動する場合、ネットワーク公開は不要)では、VCFA_MCP_TRANSPORT=stdio を設定します。このモードではベアラートークンは不要です。Claude Desktopの設定例:
{
"mcpServers": {
"vcf-automation": {
"command": "/absolute/path/to/.venv/bin/vcf-automation-mcp",
"env": {
"VCFA_MCP_TRANSPORT": "stdio",
"VCFA_BASE_URL": "https://vcfa.example.com",
"VCFA_REFRESH_TOKEN": "changeme",
"VCFA_ORG": "my-tenant-org"
}
}
}
}ツール
プロジェクト
list_projects— プロビジョニングされたリソースの可視性/分離境界get_project— 1つのプロジェクトの完全な詳細
カタログ
list_catalog_items— リクエストに利用可能なブループリント/テンプレートを参照(プロジェクトによる絞り込みも可能)get_catalog_item— 1つのカタログアイテムの完全な詳細list_catalog_item_versions— リクエスト可能なカタログアイテムの公開済みバージョンrequest_catalog_item— カタログアイテムから新しいデプロイメントをプロビジョニングします
デプロイメント
list_deployments— ブループリンド/カタログアイテムのプロビジョニング済みインスタンスget_deployment— 1つのデプロイメントの完全な詳細list_deployment_resources— デプロイメント内のリソース(VM、ネットワーク、ディスクなど)get_deployment_resource— デプロイメント内の1つのリソースの完全な詳細list_deployment_actions— デプロイメントで利用可能なDay-2アクション(例: ChangeLease)list_deployment_resource_actions— リソースで利用可能なDay-2アクション(例: PowerOff)run_deployment_action— デプロイメント上でDay-2アクションを実行しますrun_deployment_resource_action— リソース上でDay-2アクションを実行しますdelete_deployment— デプロイメントとそのプロビジョニングされたリソースを破棄します
リクエスト
get_request— 非同期リクエスト(デプロイメント/Day-2アクション)のステータスをポーリングします
テスト
pip install -e ".[dev]"
pytestテストは respx でVCF AutomationのHTTP APIをモックしています。実インスタンスは不要です。
注記
mcp<2.0.0固定にしています: MCP Python SDKの2.x系ではFastMCPがMCPServerに改名され、mcp.server.mcpserverに移動しました。このプロジェクトは確立された1.x系のmcp.server.fastmcp.FastMCPAPI を対象としています。VCF AutomationのREST APIの表面は広大です(クラウドアカウント、ネットーミング、ポリシー、オンボーディング、ブルーブリンドなど)。このサーバーは意図的に「利用/デイ2」のパスのみ(プロジェクト、カタログ、デプロイメント、リクエスト)をカバーし、インフラストラクチャのセットアップ(クラウドアカウント、ゾーン、リージョン)はカバーしていません。
This server cannot be installed
Maintenance
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
- FlicenseNot gradedqualityDmaintenanceEnables file system operations, web scraping, and AI-powered search through MCP tools for use by LLM agents.1
- AlicenseNot gradedqualityDmaintenanceExposes SAP AI Core APIs as MCP tools, enabling AI assistants to manage AI Core lifecycle and administration through natural language.5MIT
- AlicenseNot gradedqualityCmaintenanceEnables natural language interaction with VMware SDDC Manager and vCenter APIs through MCP tools, allowing users to query workload domains, VMs, clusters, and more.MIT
- AlicenseAqualityDmaintenanceExposes Azure AI Foundry agents, workflows, and AI Search vector-database capabilities as MCP tools, enabling natural language interaction with agents, semantic search, and index management.102MIT
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Manage SRG+ hubs, channels, content, assets, users, and workspaces from any MCP-aware AI agent.
MCP Hub: AI service discovery, per-user OAuth, and multi-service workflow orchestration
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/mdegrasse/vcf-automation-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server