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 refresh token은 모니터링하는 환경 전체에서 VM을 생성하고 파괴할 수 있는 자격 증명과 동일한 수준으로 취급하십시오. 실제로 그런 자격 증명이기 때문입니다.
Setup
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env # then fill in your VCF Automation details필수 구성(.env 또는 실제 환경 변수를 통해):
Variable | Description |
| VCF Automation 어플라이언스의 기본 URL(예: |
| UI에서 생성한 API 갱신 토큰(My Account > API Tokens) |
| 인증할 테넌트 org 이름입니다. 프로바이더("system") 수준으로 사용하려면 설정을 비워 둡니다. 프로바이더("system") 수준에서만 두십시오. |
| 고급 사용자용: 자동으로 계산된 OAuth 토큰 엔드포인트를 재정의합니다. |
| 자체 시그인된 b 인스턴스에 대헤 TLS 검즘을 하려면 하려면 |
| 요청 당 시간아웃(초 단위, 기본값 |
| IAmount API용 |
| Catalog API용 |
| DepoDeployment용 |
refresh token 발급받기
VCF Operations(사용자 이름/비밀번호)와는 다리, VCF Automation은 UI에서 한 번 생성을 하는 장주의 API refresh token으로 인증합니다. 이 서버는 이 토큰을 사용자를 대신 단기간(대략 1시간) 유효한 베에러 access to큰으로 교환한 뒤, 투명하게 캐시하고 갱신합니다:
서버가 대신 작동하게 만들 org(테넌) 자격으로 VCF Automation UI에 로그인합니다.
오른쪽 위 상단의 사용자 이름을 크리하고 My Account > API Tokens > New > 률택합니다.
토큰 (token)을 이름 지정해 만든 후
VCFA_REFRESH_TOKEN에 복사합니다.VCFA_ORG를 해당 org의 이름(Provider Management Portal에 그 표시된 대신)로 설증합니다. 만약 토큰을 배포이더("시스템") 수준에서 생했다면 그대로 구성 하지 않아도 됩니다.
정확한 토큰 교환 경로(VCFA_TOKEN_URL)는 VCFA 배포 버전에 따라 덜 일정한 방식으로 문서화되어 있습니다. 이 Server는 기본적으로 /tm/oauth/tenant/<org>/token(테넌트) 또는 /oauth/provider/token(프로바이더)을 사용하며, 인스턴스의 실제 경로가 다르면 재정의할 수 있습니다.
서버 전송/인증 구성(역시 .env 또는 실제 환경 변수를 통해서):
Variable | Description |
|
|
| 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으로 바인딩하거나(또는 리버스 프록시) 뒤에서 실행하고, 네트워크와 자격이 있는 호스트 사이에서 인프라를 프로비저닝/삭제할 수 있는 자격 가진 그 사이의 유일한 관문이 베어러 토큰가 되도록 하십시오. 다른 시크릿트처럼 취급하고, 신할 수 없는 네트워크에서는 평문보다는 전방에 TLS 종단(예: 리버스 프록시)을 두는 것을 권장하다.
VCFA_MCP_HOST이 127.0.0.1/localhost가 아닐면, FastMCP 자신의 DNS-리바인딩 보호(들어오 청의 Host 헤더 검사)가 기본적으로 허용 목록(빈)을 갖지 않습니다. 자체적인 host에서는 그 헤스탑가 로록백을 위해 자동구성 되지만요. VCFA_MCP_ALLOWED_HOSTS를 설정되지 않았으면 Host-헤더 검사가 시햏되지 않고 베어러 토큰만 유일한 관문이 됩니다. 믿는 있음, 신할 수 있는 네트워크에서는 찬지만, 신할 수 없거나 공유 네트워크에서는 추가 보안을 위해실 제 클라인트가 접속하 는 호스트명(들)/IP:포트에 VCFA_MCP_ALLOWED_HOSTS를 (썸표-구분으로) 설정하십시오.
예를 들어 Claude Code에서 MCP 클라이언트를 streamable-http, 서버로 지정합니다:
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"
}
}
}
}도구들
Projects
list_projects— 프로비저닝된 리소스에 대한 가시성/격리 경계get_project— 단일 프로젝트에 대한 전체 상세 정보
Catalog
list_catalog_items— 요청 가능한 청사진/템플릿 탐색(프로젝트 단위로도 가능)get_catalog_item— 단일 카탈로그 항목의 전체 상세 정보list_catalog_items_versions— 요청 가능한 카탈로그 항목의 배포(발행) 버전request_catalog_item— 카탈로그 항목으로부터 새 배포를 프로비저닝
Deployments
list_deployments— 프로비저닝된 블루프린트/카탈로그 항목 인스턴스get_deployment— 단일 배포에 대한 전체 상세 정보list_deployment_resources— 배포 내 리소스(VM, 네트워크, 디스크 등)get_deployment_resource— 배포 내 단일 리소스에 대한 전체 상세 정보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— 배포와 프로비저닝된 리소스들을 삭제
Requests
get_request— 비동기 요청(배포/day-2 작업)의 상태를 폴링
테스트
pip install -e ".[dev]"
pytest테스트는 respx로 VCF Automation HTTP API를 모킹하므로 라이브 인스턴스가 필요 없다.
참고
mcp<2.0.0으로 고정(pinned)됨: MCP Python SDK의 2.x 계열에서FastMCP가MCPServer로 이름이 바뀌었고mcp.server.mcpserver로 이동했다. 이 Project는 기존성이 검증된 1.x의mcp.server.fastmcp.FastMCPAPI를 대상으로 한다.VCF Automation REST API의 범위는 매우 넓다(클라우드 계정, 네트워킹, 정책, 온보딩, 블루프린트 등). 이 서버는 의도적으로 소비/day-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