
automateyournetwork/aci_mcp
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
Cisco Application Centric Infrastructure(ACI) 애플리케이션 정책 인프라 컨트롤러(APIC)를 위한 모델 콘텍스 프로토콜 서버
개요
구조화된 자연적인 언어 도구를 통해 Cisco ACI API에 충분히 제공하는 모형 Context 의정서 (MCP) 서버. 이 서버는 configurable urls.json 파일에서 모든 관련 ACI 엔드포인트를 노출하고 읽기 (GET) 및 쓰기 (POST) 작업에 대한 도구를 동적으로 구축합니다. FastMCP 프레임 워크에 내장되어 있으며 LangGraph, Claude, ChatGPT 및 VS Code Copilot과 완벽하게 호환됩니다. - ✅ 토큰 기반 Cisco APIC 인증 - ✅ 전체 지원 GET 및 POST (선택 사항 PUT, DELETE와 함께 CRUD-ready) - ✅ ACI 엔드 포인트 지원 - ✅ 유효성 및 자동 랩 APIC-compliant 페이로드 - ✅ Claude, VS Code, 또는 LangGraph의 사용을 위해 표준 STDIO 호환 - ✅ 사용 .env 및 구조화 로깅 - JSON의 자동 발견 도구 `bash ACI MCP/ ├─ aci mcp/ │ ├─ main.py # MCP 서버 │ ── urls.json # Endpoints 카테고리별로 그룹화 ─── .env # 비밀 (APIC URL, USERNAME, PASSWORD) ─── README.md # 이 파일 This 환경 변수 생성 .
개요(AI 번역)
완전한 **CRUD 액세스 **를 구조화된 자연적인 언어 도구를 통해 Cisco ACI API에 제공하는 Model Context Protocol (MCP) 서버. 이 서버는 구성 가능한 urls.json]의 모든 관련 ACI 엔드 포인트를 노출하고 읽기 (GET) 및 쓰기 (POST) 작업에 대한 도구를 동적으로 구축합니다.
FastMCP 프레임 워크에 내장되어 있으며 LangGraph, Claude, ChatGPT 및 VS Code Copilot과 완벽하게 호환됩니다.
₢ 킹
- ✅ 토큰 기반 Cisco APIC 인증
- ✅
GET및POST]에 대한 전체 지원 (선택 [T3]]],DELETE]) - ✅ ** 그룹 및 ungrouped** ACI 엔드포인트 지원
- ✅ 검증 및 자동 랩 APIC-compliant 페이로드
- ✅ Claude, VS Code 또는 LangGraph의 사용을 위해 STDIO 호환
- ✅
.env및 구조화 로깅 사용 - JSON에서 Auto Auto-discovers 도구 스키마
F 폴더 구조
₢ 킹 사이트맵 ├─ aci mcp/ │ ── main.py # MCP 서버 │ └─ urls.json # 카테고리별 엔드포인트 ├─ .env # 당신의 비밀 (APIC URL, USERNAME, PASSWORD) ├─ README.md # 이 파일 환경 변수 프로젝트의 루트에 .env 파일을 만듭니다:
뚱 베어 관련 기사 제품정보 APIC URL=https://sandboxapicdc.cisco.com USERNAME=관리자
이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요.
README
원문 README의 일부입니다. 원문 보기.
🚀 ACI FastMCP Server
A Model Context Protocol (MCP) server that provides full CRUD access to the Cisco ACI API via structured natural language tools. This server exposes all relevant ACI endpoints from a configurable urls.json file and dynamically builds tools for read (GET) and write (POST) operations.
Built on the FastMCP framework and fully compatible with LangGraph, Claude, ChatGPT, and VS Code Copilot for AI-assisted infrastructure operations.
🔧 Features
- ✅ Token-based Cisco APIC authentication
- ✅ Full support for
GETandPOST(CRUD-ready with optionalPUT,DELETE) - ✅ Support for grouped and ungrouped ACI endpoints
- ✅ Validates and auto-wraps APIC-compliant payloads
- ✅ STDIO-compatible for use in Claude, VS Code, or LangGraph
- ✅ Uses
.envand structured logging - 🧠 Auto-discovers tool schema from JSON
📁 Folder Structure
ACI_MCP/
├── aci_mcp/
│ ├── main.py # MCP server
│ └── urls.json # Endpoints grouped by category
├── .env # Your secrets (APIC_URL, USERNAME, PASSWORD)
├── README.md # This file
🧪 Environment Variables
Create a .env file in the root of your project:
env
Copy
Edit
APIC_URL=https://sandboxapicdc.cisco.com
USERNAME=admin
PASSWORD=!v3G@!4@Y
URLS_PATH=aci_mcp/urls.json
🚀 How to Run
🧑💻 In VS Code (Copilot / LangGraph):
Use the following JSON entry in your MCP client config:
json
Copy
Edit
"aci": {
"type": "stdio",
"command": "wsl",
"args": [
"env",
"APIC_URL=https://sandboxapicdc.cisco.com",
"USERNAME=admin",
"PASSWORD=!v3G@!4@Y",
"URLS_PATH=/home/johncapobianco/ACI_MCP/aci_mcp/urls.json",
"python3",
"/home/johncapobianco/ACI_MCP/aci_mcp/main.py"
]
}
This launches the MCP server inside WSL, using stdin/stdout for tool discovery and calling.
🤖 In Claude or any A2A-compatible agent:
Claude-compatible assistants can auto-discover tools using this STDIO-based server via Model Context Protocol.
📦 Tools Exposed
Grouped tools (e.g. BGP, L3, L2): one tool per group, with dynamic endpoint selection
Ungrouped tools: each endpoint gets its own:
GET tool (e.g. tenants_get)
POST tool (e.g. tenants_post)
🧠 Example Prompts
How many tenants are in my fabric?
Create a tenant named MCP_Tenant
Get all IP addresses
Show me BGP peers and Route Reflectors
Get the health status of the fabric
Post to /api/node/mo/uni/tn-NewTenant.json with status "created"
📄 Example POST Payload
json
Copy
Edit
{
"fvTenant": {
"attributes": {
"name": "MCP_Tenant",
"rn": "tn-MCP_Tenant",
"status": "created"
}
}
}
Make sure you include "status": "created" and correct rn (e.g., tn-) for APIC to accept the POST.
📘 Extending It
You can easily extend this server:
Add more groups to urls.json
[
{
"Group": "L3",
"Endpoints": [
{
"URL": "/api/node/class/l3extOut.json",
"Name": "Layer 3 Out"
},
설치
This server does not publish a one-line install command.
Open the repository installation guide MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →