This project provides a simple MCP (Model Context Protocol) server that interacts with a Cisco APIC controller. If you'd like to understand how this works in detail, please check out this blog post
- Tested with Claude Desktop and Visual Studio Code in Agent mode with Copilot.
- The server runs in STDIO mode, intended for local execution.
- Exposes two tools for APIC interaction (see
app/main.py
for details). - Easily configurable via environment variables.
-
Specify APIC credentials in the
.env
file. -
If you want Claude or VS Code to run the Python code directly (no container), install UV
-
Register the MCP server with Claude or VS Code.
For VS Code, create a
.vscode/mcp.json
file like this in your workspace:{ "servers": { "ciscoApicServer": { "type": "stdio", "command": "C:\\Users\\cpaggen\\.local\\bin\\uv.EXE", "args": [ "run", "--with", "mcp[cli]", "mcp", "run", "C:\\MCP\\app\\main.py" ] } } }
-
Instruct Claude Desktop or VS Code to use it:
-
Install MCP client tools locally if you invoke the MCP server with
uv run mcp
as above.- Use
uv add "mcp[cli]"
orpip install "mcp[cli]"
- Use
You can run the server directly using UV, or build a Docker image and run it as a container. If using Docker, adapt the mcp.json
config accordingly.
Note: Local installation of MCP client tools is recommended for debugging the server code.
Below are some screenshots demonstrating the MCP server in action and its integration with Claude Desktop and VS Code:
MCP Server Registered | Tool Registered in Claude | Claude Tools List |
---|---|---|
![]() |
![]() |
![]() |
MCP Server Output | Sample Question in VS Code | Sample Question in Claude |
---|---|---|
![]() |
![]() |
![]() |
How to Use ACI Backup |
---|
![]() |
These images illustrate the registration process, available tools, and example interactions.