apic-mcp-server
Think Smarter. Design Smarter. Build Smarter Networks.
Install / Use
claude mcp add beletea -- npx -y github:beletea/apic-mcp-serverIf the server publishes to npm under a different name, use that package instead โ check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Development & EngineeringSupported Platforms
Our assessment of apic-mcp-server
apic-mcp-server scores 66/100 on our quality scale, 3919th of 4,650 Development & Engineering skills we index.
Its MCP Server is 19 KB long, well organised into 97 sections with 32 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated about 15 months ago. Expect some instructions to reference tool versions or APIs that have since changed.
- Our last check on 2026-09-23 found the source still online.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 75/100, with 3 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit โ read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-10-06. Automated pattern scan on 2026-10-06. It catches known dangerous patterns, not every risk โ read a skill before letting an agent act on it.
apic-mcp-server compared with similar skills
All 4 of these similar skills score higher than apic-mcp-server; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| apic-mcp-server (this skill)by beletea | 66 | 3 | 15mo ago | MCP Server |
| taste-skillby Leonxlnx | 100 | 111.7k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 110.0k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 79.1k | today | CLAUDE.md |
| ai-job-searchby ai-job-search-dev | 100 | 70.3k | today | CLAUDE.md |
Frequently asked questions
- How do I install apic-mcp-server?
- Run
claude mcp add beletea -- npx -y github:beletea/apic-mcp-server. The install tabs above show the steps for each supported agent. - Which AI agents does apic-mcp-server work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is apic-mcp-server safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is MIT-licensed and scores 75/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is apic-mcp-server still maintained?
- The repository was last updated about 15 months ago. Expect some instructions to reference tool versions or APIs that have since changed.
Skill content
View source on GitHubAuthentication
Authentication to the APIC is always performed using credentials from the .env file. The authenticate_apic MCP tool ignores any arguments passed to it and will only use the following environment variables:
APIC_URL=https://apic.example.com
APIC_USERNAME=admin
APIC_PASSWORD=mypassword
APIC_VERIFY_SSL=false
Make sure your .env file is present in the project root and contains the correct values. use .env.template as a reference. Arguments to the authenticate_apic function are ignored.
Example usage:
authenticate_apic()
This will always use the credentials from .env.
APIC-MCP-Server
A comprehensive Model Context Protocol (MCP) server for managing and analyzing Cisco ACI (Application Centric Infrastructure) fabrics. This tool provides a powerful interface for network administrators and developers to interact with Cisco APIC controllers, perform analysis, and generate detailed reports.
๐ What is APIC-MCP-Server?
The APIC-MCP-Server is a Python-based MCP server and it provides:
- ๐ Direct APIC Integration: Seamless authentication and communication with Cisco APIC controllers
- ๐ Comprehensive Analysis: Detailed tenant, EPG, BD, VRF, and security policy analysis
- ๐ Security Monitoring: Contract deny logging, vulnerability checking via PSIRT API
- ๐ Documentation Generation: Automated document generation for infrastructure reports
- โก Fabric Monitoring: Fabric health monitoring and troubleshooting capabilities
๐๏ธ Architecture Overview
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Client Apps โ โ APIC-MCP-Server โ โ Cisco APIC โ
โ โ โ โ โ Controllers โ
โ โข VS Code โโโโโบโ โข FastMCP โโโโโบโ โ
โ โข Claude โ โ โข Authentication โ โ โข REST API โ
โ โข Custom Tools โ โ โข Analysis Tools โ โ โข Policy Data โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโ
โ External APIs โ
โ โ
โ โข Cisco PSIRT โ
โ โข Field Notices โ
โ โข Vulnerability โ
โ Database โ
โโโโโโโโโโโโโโโโโโโ
๐ฆ Components
Core Components
1. apic_mcp_server.py (Main Server)
- FastMCP Framework: Primary MCP server implementation
- 20+ Tools: Comprehensive set of APIC management tools
- Document Generation: Creates professional reports
2. auth_utils.py (Authentication)
- APIC Authentication: Secure JWT token management
- Session Management: Persistent connection handling
- Error Handling: Robust authentication error recovery
Configuration Files
3. .env.template (Environment Template)
- Environment Setup: Template for environment variables
- APIC Configuration: Connection settings and credentials
- Security: PSIRT API configuration for vulnerability checking
4. .vscode/ (VS Code Integration)
- MCP Configuration: VS Code MCP server settings
- Development Setup: IDE configuration for development
# APIC Connection Settings
APIC_URL=https://your-apic.example.com
APIC_USERNAME=admin
APIC_PASSWORD=your-password
APIC_VERIFY_SSL=false
# PSIRT API Settings (Optional)
MY_PSIRT_API_URL=https://api.cisco.com/security/advisories
MY_PSIRT_CLIENT_ID=your-client-id
MY_PSIRT_CLIENT_SECRET=your-client-secret
๐ ๏ธ Available Tools
Authentication & Status
authenticate_apic()- Authenticate to APIC controllerget_apic_status()- Check current session statuslogout_apic()- Logout and cleanup session
Fabric Discovery
get_tenants()- List all tenantsget_fabric_nodes()- List fabric switches and controllerssearch_objects_by_name()- Search for specific objects
Tenant Management
get_application_profiles()- List application profilesget_epgs()- List endpoint groupsget_bridge_domains()- List bridge domainsget_vrfs()- List VRFsget_contracts()- List security contracts
Security Analysis
get_denied_logs_for_tenant()- Check audit violationsget_contract_denies_for_tenant()- Analyze contract deniesget_contract_permit_logs_for_tenant()- Review permitted traffic
External Connectivity
fetch_apic_class()- Generic APIC class queriesget_node_interface_status()- Interface operational status
Security Intelligence
verify_apic_vulnerability()- Check APIC vulnerabilitiescheck_cisco_aci_switches_psirt()- PSIRT advisory lookupget_apic_field_notices()- APIC field noticesget_nexus_9000_field_notices()- Switch field notices
Documentation
create_tenant_analysis_document()- Generate reports
โ ๏ธ Dangerous Operations
create_apic_object()- Create an APIC object in the fabricdelete_apic_object()- Delete an APIC object from the fabric
Warning: These tools perform changes directly on your Cisco ACI fabric. Creating or deleting objects can disrupt production environments, cause outages, or result in data loss. Always double-check your parameters and use these tools only if you understand the impact. It is recommended to test in a non-production environment first.
Confirmation Workflow for Create/Delete Actions
For all dangerous operations (such as creating or deleting APIC objects), the MCP server enforces a confirmation workflow:
- Preview Step: When you request a create or delete action (e.g., creating a tenant or deleting an EPG), the server will first show you a preview of what will be pushed or deleted. This includes the full payload or distinguished name (DN) of the object.
- Explicit Confirmation Required: The operation will only proceed if you explicitly confirm (e.g., by replying "yes" or confirming in the UI). If you do not confirm, the action is cancelled and no changes are made.
- Safety: This workflow helps prevent accidental changes and ensures you have a chance to review all destructive or impactful actions before they are executed.
Example: Creating a Tenant
# Request to create a tenant
result = create_apic_object(parent_dn="uni", object_payload={"fvTenant": {"attributes": {"name": "mcp-server"}}}, confirm=False)
# You will receive a preview and must confirm before proceeding
if result["status"] == "pending":
# Review the payload, then confirm
result = create_apic_object(parent_dn="uni", object_payload={"fvTenant": {"attributes": {"name": "mcp-server"}}}, confirm=True)
Example: Deleting a Tenant
# Request to delete a tenant
result = delete_apic_object(object_dn="uni/tn-mcp-server", confirm=False)
# You will receive a preview and must confirm before proceeding
if result["status"] == "pending":
# Review the DN, then confirm
result = delete_apic_object(object_dn="uni/tn-mcp-server", confirm=True)
This confirmation workflow applies to all create and delete operations exposed by the MCP server.
๐ Getting Started
Prerequisites
- Python 3.12+ for best compatibility
- Access to Cisco APIC controller
- Network connectivity to APIC management interface
- VS Code (for VS Code integration) or Claude Desktop (for Claude integration)
Installation
- Clone the Repository
git clone <your-repo-url>
cd <your-project-directory>
- Install Dependencies
# Install all dependencies
pip install -r requirements.txt
The requirements.txt includes:
- fastmcp (core MCP server framework)
- requests (HTTP client)
- python-dotenv (environment variable management)
- beautifulsoup4 (HTML parsing)
- python-docx (Word document generation)
- uvicorn (optional, async server)
pytest, flake8 (optional, for testing/linting)
- Configure Environment
# Copy and edit environment file
cp .env.template .env
# Edit .env with your APIC and credentials
# PSIRT client id and client secret are optional but recommended for security analysis
Edit the .env file with your APIC details:
# APIC Connection Settings
APIC_URL=https://your-apic.example.com
APIC_USERNAME=admin
APIC_PASSWORD=your-password
APIC_VERIFY_SSL=false
# PSIRT API Settings (Optional)
MY_PSIRT_API_URL=https://api.cisco.com/security/advisories
MY_PSIRT_CLIENT_ID=your-client-id
MY_PSIRT_CLIENT_SECRET=your-client-secret
๐ง MCP Client Configuration
Option 1: VS Code Integration
-
Install the MCP Extension
- Install the "Model Context Protocol" extension in VS Code
- Or install "Claude Dev" extension which supports MCP
-
Configure MCP Server
Create or update your VS Code
.vscode/mcp.json:{ "servers": { "cisco-aci-apic": { "command": "uv", "args": [ "run", "--with", "mcp", "mcp", "run", "<path-to-your-apic_mcp_server.py>" ] } } }
Replace <path-to-your-apic_mcp_server.py> with the full path to your apic_mcp_server.py file.
3. **Restart VS Code** and the MCP server will be available in your VS Code environment.
#### Option 2: Claude Desktop Integration
1. **Locate or create Claude Desktop Config**
```bash
# macOS
~/Library/Application Support/Claude/claude_desktop_config.json
# Windows
%APPDATA%\Claude\claude_desktop_config.json
# Linux
~/.config/Claude/claude_desktop_config.json
-
Add MCP Server Configuration
Edit
claude_desktop_config.json:{ "mcpServers": { "cisco-aci-apic": { "command": "uv", "args": [ "run", "--with", "mcp", "mcp", "run", "<full-path-to-your-apic_mcp_server.py>" ] } } }
Replace <full-path-to-your-apic_mcp_server.py> with the full path to your apic_mcp_server.py file.
If you encounter issues with the project path, you may need to adjust the path accordingly, like this:
{
"mcpServers": {
"cisco-aci-apic": {
"command": "<full-path-to-your-uv>",
"args": [
"run",
"--project",
"<full-path-to-your-apic_mcp_server>",
"python",
"<full-path-to-your-apic_mcp_server.py>"
]
}
}
}
Replace <full-path-to-your-uv> with the full path to your uv executable, and <full-path-to-your-apic_mcp_server>
with the directory containing your apic_mcp_server.py.
- Restart Claude Desktop and the APIC tools will be available in your conversations.
๐งช Testing Your Setup
- Test Environment Variables
# Verify your .env file is loaded correctly
python -c "
import os
from dotenv import load_dotenv
load_dotenv()
print(f'APIC URL: {os.getenv(\"APIC_URL\")}')
print(f'Username: {os.getenv(\"APIC_USERNAME\")}')
"
# Ensure APIC URL and credentials are correct
- Test MCP Server
# Verify MCP server is running
curl -X GET http://localhost:5000/mcp/status
```bash
# Basic import test
python -c "
from apic_mcp_server import mcp
print('โ
MCP Server loaded successfully')
"
- Test APIC Connectivity
# Test network connectivity to your APIC
curl -k https://your-apic.example.com/api/class/topSystem.json
๐ฏ Using the APIC-MCP Server
Once configured with VS Code or Claude Desktop, you can use natural language to interact with your ACI fabric:
In VS Code with MCP Extension:
Ask: "Show me all tenants in my ACI fabric"
Ask: "List EPGs in the 'Production' tenant"
Ask: "Check for contract denies in tenant 'Production'"
Ask: "Generate a security analysis report for tenant 'DMZ'"
In Claude Desktop:
Ask: "Auth
Truncated for display โ read the full file on GitHub.
Related Skills
taste-skill
111.7kAgent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
Agent-Reach
110.0kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu โ one CLI, zero API fees.
headroom
79.1kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
ai-job-search
70.3kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit โ see the Safety scan above for what the skill file itself contains.
