AgentStack
MCP verified Apache-2.0 Self-run

Ciscou 2385 Radkit Mcp

mcp-ponchotitlan-ciscou-2385-radkit-mcp · by ponchotitlan

Source code of the session CISCOU-2385: Chatting With My Network via Cisco RADKit and FastMCP

No reviews yet
0 installs
1 views
0.0% view→install

Install

$ agentstack add mcp-ponchotitlan-ciscou-2385-radkit-mcp

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Ciscou 2385 Radkit Mcp? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

✨CISCOU-2385✨Chatting With My Network via Cisco RADKit and FastMCP

Demo code of the CiscoU-2385 session. This is a stand-alone MCP server built with FastMCP that exposes key functionalities of the Cisco RADKit SDK as MCP tools. It is designed to be connected to any MCP client and LLM of your choice, enabling intelligent interaction with network devices through Cisco RADKit.

> ⚠️ Disclaimer: This MCP Server is not an official Cisco product. It was developed for learning purposes as part of Cisco U.

🚀 Overview

This MCP server acts as a lightweight middleware layer between the Cisco RADKit service and an MCP-compatible client. It allows the LLM to inspect and interact with devices onboarded in the RADKit inventory, fetch device attributes, and even execute CLI commands — all through structured MCP tools.

The following diagram shows how this MCP works with your favourite LLM and your Cisco RADKit onboarded network:

> Only CLI operations are supported by this experimental MCP server

🧰 Exposed MCP Tools

| Tool Name | Description | Inputs | Returns | Use Case | |------------|--------------|---------|----------|-----------| | get_device_inventory_names() | Returns a string containing the names of devices onboarded in the Cisco RADKit inventory. | None | str: List of onboarded devices (e.g. {"p0-2e", "p1-2e"}) | Use this first when the user asks about "devices", "network", or "all devices". | | get_device_attributes(target_device: str) | Returns detailed information about a specific device in JSON format. | target_device (str): Target device name. | str: JSON with attributes including name, host, type, configs, SNMP/NETCONF status, capabilities, etc. | Use this when the user asks about a specific device. | | exec_cli_command_in_device(target_device: str, cli_commands: [str]) | Executes a CLI command on a target device and returns the raw text result. | target_device (str): Device name.cli_commands ([str]): CLI command to execute. | str: Raw output of the executed command. | Use this only if info is unavailable in get_device_attributes() or when explicitly asked to “run” or “execute” a command. |

🧩 Requirements

🛠️ Installation

Clone the repository in your deployment environment.

git clone https://github.com/ponchotitlan/ciscou-2385-radkit-mcp
cd ciscou-2385-radkit-mcp

⚙️ Setup

Execute the included assistant script in a terminal:

uv sync
uv run ciscou-radkit-onboarding

The following assistant will be triggered:

╭─────────────────────────────────────────╮
│ 🚀 Cisco RADKit MCP Server Utility Tool │
╰─────────────────────────────────────────╯
? Choose an option: (Use arrow keys)
 » 1. 👾 Onboard user to non-interactive Cisco RADKit authentication
   2. 📚 Generate .env file for Cisco RADKit MCP server
   Exit

👾 1. Non-interactive Cisco RADKit authentication setup

The MCP server makes use of certificate login to avoid asking for Web UI authentication every time a tool is used. For that, the certificates need to be generated in the host. Select the first option and follow the instructions.

╭─────────────────────────────────────────╮
│ 🚀 Cisco RADKit MCP Server Utility Tool │
╰─────────────────────────────────────────╯
? Choose an option: 1. 👾 Onboard user to non-interactive Cisco RADKit authentication
? Enter Cisco RADKit username: ponchotitlan@cisco.com
╭───────────────────────────────────────────────────────────────────╮
│ Starting Cisco RADKit onboarding for user: ponchotitlan@cisco.com │
╰───────────────────────────────────────────────────────────────────╯

A browser window was opened to continue the authentication process. Please follow the instructions there.

Authentication result received.
New private key password: ***********
Confirm: ***********
The private key is a very sensitive piece of information. DO NOT SHARE UNDER ANY CIRCUMSTANCES, and use a very strong passphrase. Please consult the documentation for more details.
:891: UserWarning: The private key is a very sensitive piece of information. DO NOT SHARE UNDER ANY CIRCUMSTANCES, and use a very strong passphrase. Please consult the documentation for more details.

Take note of the password provided, as it will be needed for the 2nd option! Now, select the second option:

📚 2. Generate .env file

Provide the information requested. The password is the one just setup in the first option.

? Choose an option: 2. 📚 Generate .env file for Cisco RADKit MCP server
╭───────────────────────────────────────────────────────────────────────────────╮
│ Warning: Make sure Cisco RADKit certificates for this username already exist. │
│ If not, run the onboarding process first using option 1.                      │
╰───────────────────────────────────────────────────────────────────────────────╯
? Enter Cisco RADKit username: ponchotitlan@cisco.com
? Enter Cisco RADKit service code: aaaa-bbbb-cccc
? Enter non-interactive authentication password: ***********
╭──────────────────────────────────────╮
│ ✅ .env file generated successfully! │
│ Saved as .env                        │
╰──────────────────────────────────────╯

The file .env is generated with environment variables that the MCP Server needs. ✅ Your MCP server is ready for use!

To run it, simply use the following command in your terminal:

uv run ciscou-radkit-mcp

You should see the following screen. The URL will change depending on the kind of transport that you setup in your .env file (stdio, http, sse):

2026-01-06 08:43:21,374 - ciscou_radkit_mcp.radkit_mcp_server - INFO - Starting MCP server with sse transport on 0.0.0.0:8000

                                  ╭──────────────────────────────────────────────────────────────────────────────╮                                   
                                  │                                                                              │                                   
                                  │                         ▄▀▀ ▄▀█ █▀▀ ▀█▀ █▀▄▀█ █▀▀ █▀█                        │                                   
                                  │                         █▀  █▀█ ▄▄█  █  █ ▀ █ █▄▄ █▀▀                        │                                   
                                  │                                                                              │                                   
                                  │                                FastMCP 2.13.1                                │                                   
                                  │                                                                              │                                   
                                  │                                                                              │                                   
                                  │                   🖥  Server name: CiscoURADKitMCP                            │                                   
                                  │                                                                              │                                   
                                  │                   📦 Transport:   SSE                                        │                                   
                                  │                   🔗 Server URL:  http://0.0.0.0:8000/sse                    │                                   
                                  │                                                                              │                                   
                                  │                   📚 Docs:        https://gofastmcp.com                      │                                   
                                  │                   🚀 Hosting:     https://fastmcp.cloud                      │                                   
                                  │                                                                              │                                   
                                  ╰──────────────────────────────────────────────────────────────────────────────╯                                   

[01/06/26 08:43:21] INFO     Starting MCP server 'CiscoURADKitMCP' with transport 'sse' on http://0.0.0.0:8000/sse                     server.py:2055
INFO:     Started server process [55969]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
INFO:     127.0.0.1:54860 - "GET /sse HTTP/1.1" 200 OK

⚡️ Usage example: LibreChat app

LibreChat is an open-source app for all your AI conversations, fully customizable and compatible with any AI provider and MCP server, including ours. For this demo, we will use the Docker version of this app for a local deployment.

> You need to have Docker installed in your host environment to run this deployment.

Prerequisites

  • Docker and Docker Compose installed
  • LibreChat v0.7.0 or later
  • CiscoU RADKit MCP Server running in SSE mode (configured in previous steps)

Setup Steps

1. Clone and Setup LibreChat

Clone the LibreChat repository and copy the default environment file:

git clone https://github.com/danny-avila/LibreChat.git
cd LibreChat
cp .env.example .env
2. Configure LibreChat for RADKit MCP

Copy the pre-configured files from this repository into your LibreChat directory:

# From the ciscou-2385-radkit-mcp directory
# Replace /path/to/LibreChat with your actual LibreChat local repository path
cp librechat_setup/librechat.yaml /path/to/LibreChat/librechat.yaml
cp librechat_setup/docker-compose.override.yml /path/to/LibreChat/docker-compose.override.yml

> Note: The librechat.yaml file already includes the RADKit MCP server configuration at http://host.docker.internal:8000/sse

3. Start Your MCP Server

In a separate terminal, ensure your RADKit MCP server is running in SSE mode:

# From the ciscou-2385-radkit-mcp directory
# Make sure your .env has: MCP_TRANSPORT=sse
uv run ciscou-radkit-mcp

You should see output confirming SSE transport:

🔗 Server URL: http://0.0.0.0:8000/sse
4. Start LibreChat

Now start all containers using Docker Compose:

# From the LibreChat directory
docker compose up -d
5. Connect MCP Server in LibreChat
  1. Open LibreChat in your browser: http://localhost:3080/
  2. Create an account and log in
  3. Navigate to the left sidebar and click the + button next to Filter MCP servers by name
  4. The MCP server should already be configured from the librechat.yaml file
  5. Verify the connection is active (green indicator)

> Important: The MCP server URL in the configuration is http://host.docker.internal:8000/sse to allow the Docker container to access your host machine's MCP server.

6. Create an agent (optional)

For enforcing additional guardrails and a more defined persona for network automation, you can create a custom agent in the LibreChat UI.

On the main screen, navigate to the right menu and click on Agent Builder > Create New Agent.

In the Instructions box, copy/paste the text of the [AGENT.md](librechat_setup/AGENT.md) file included in this repository.

Finally, scroll down and select the RADKit MCP server which should be available in the options.

You can now use this agent for interactions with your RADKit network.

Usage Examples

Once connected, you can interact with your network devices through natural language.

Example conversations:

User: "Show me all my devices"
User: "What are the details of device p0-2e?"
User: "Check the interface status on p0-2e"
User: "Show me the running config for all devices"

Troubleshooting

MCP server not connecting:

  • Verify the MCP server is running: uv run ciscou-radkit-mcp
  • Check the server is using SSE transport on port 8000
  • Ensure MCP_TRANSPORT=sse in your .env file
  • For Linux users: host.docker.internal may not work. Use your host's IP address instead in librechat.yaml:

``yaml mcpServers: ciscou-radkit: url: http://192.168.1.XXX:8000/sse # Replace with your host IP ``

  • Find your host IP:

```bash # Linux ip addr show | grep "inet " | grep -v 127.0.0.1

# macOS ipconfig getifaddr en0 ```

Agent not appearing:

  • Verify the agents directory was created and the file was copied before starting Docker Compose
  • Check the container has the volume mounted: docker exec librechat-api ls -la /app/agents/
  • Check LibreChat logs for configuration errors: docker compose logs api | grep -i agent
  • If you added the agent after starting containers, restart LibreChat: docker compose restart api

Volume mount issues:

  • Ensure docker-compose.override.yml is in the LibreChat root directory
  • Verify the file has correct YAML syntax (indentation matters!)
  • Check Docker Compose reads the override file: docker compose config | grep -A 5 volumes

Security Considerations

⚠️ Important:

  • Never commit your .env file with real credentials
  • Restrict LibreChat access to authorized personnel
  • The MCP server includes safety guardrails to prevent destructive operations
  • Monitor MCP server logs for suspicious activity
  • Use strong passwords for RADKit authentication

Made with ☕️ by Poncho Sandoval - Developer Advocate 🥑 @ DevNet - Cisco Systems 🇵🇹

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.