1. Conduid
  2. Communication
  3. Ciscou 2385 Radkit MCP
MCP server · Communication

Ciscou 2385 Radkit MCP

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

34Low

Scored 6 months ago · breakdown

About Ciscou 2385 Radkit MCP

Ciscou 2385 Radkit MCP is an MCP server in the Communication category: source code of the session CISCOU-2385: Chatting With My Network via Cisco RADKit and FastMCP.

Install

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

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Ciscou 2385 Radkit MCP

Powered by Claude · Grounded in docs

I know everything about Ciscou 2385 Radkit MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

⚠️ 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.
<frozen radkit_client.async_.client>: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 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:
    mcpServers:
      ciscou-radkit:
        url: http://192.168.1.XXX:8000/sse  # Replace with your host IP
    
  • Find your host IP:
    # 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

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Ciscou 2385 Radkit MCP

How do I install Ciscou 2385 Radkit MCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Ciscou 2385 Radkit MCP safe to use with an AI agent?

Its trust score is 34 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Ciscou 2385 Radkit MCP still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.