使用说明
RADKit MCP服务器
A. 模型上下文协议(MCP)服务器 将AI助手(如Claude、Cursor或任何兼容MCP的客户端)与 思科RADKit --通过自然语言实现人工智能驱动的网络设备交互、诊断和自动化。
目录
概述
RADKit (远程访问和诊断工具包)是一个思科工具,提供对网络设备的安全、零信任远程访问。该项目涵盖了 RADKit MCP服务器社区 将RADKit打包成Docker就绪部署,将RADKit功能作为MCP服务器公开。
通过这种集成,AI助手可以:
- 🔍 查询网络设备 --运行show命令,检索设备状态
- 🛠️ 诊断网络问题 --利用人工智能推理实时设备数据
- ⚙️ 自动化网络操作 --通过自然语言指令执行工作流
- 🔐 安全访问设备 --所有流量都通过RADKit的零信任基础设施进行隧道传输
建筑
┌─────────────────────┐ MCP/stdio ┌──────────────────────┐
│ AI Assistant │◄────────────────────►│ RADKit MCP Server │
│ (Claude, Cursor...) │ │ (this project) │
└─────────────────────┘ └──────────┬───────────┘
│ RADKit API
▼
┌────────────────────────┐
│ Cisco RADKit Cloud │
└────────────┬───────────┘
│
▼
┌────────────────────────┐
│ Network Devices │
│ (Routers, Switches...) │
└────────────────────────┘
先决条件
在开始之前,请确保您已经:
- 码头工人 和 Docker Compose 已安装(安装Docker)
- 有效的 Cisco RADKit帐户 与:
- RADKit 服务序列号 数字
- RADKit 身份 (电子邮件/CCO ID)
- 您的RADKit 客户端私钥密码
- 访问a RADKit注册的网络设备
💡 RADKit新手?访问 思科RADKit文档 开始吧。
快速开始
1.克隆存储库(带子模块)
git clone --recurse-submodules https://github.com/kickouille/radkit-mcp.git
cd radkit-mcp
如果你已经克隆了 --recurse-submodules:
git submodule update --init --recursive
2.配置环境变量
编辑 compose.yml 并填写您的RADKit凭据:
RADKIT_MCP_SERVICE_SERIAL=<your-service-serial>
RADKIT_MCP_IDENTITY=<your-radkit-identity>
RADKIT_MCP_CLIENT_PRIVATE_KEY_PASSWORD=<your-private-key-password>
⚠️ 安全说明: 考虑使用
.env文件或Docker机密,而不是硬编码凭据compose.yml.
3.构建和运行
docker compose up --build
配置
服务器是通过环境变量配置的:
| 变量 | 必填 | 描述 |
|---|---|---|
RADKIT_MCP_SERVICE_SERIAL |
✅ 是 | 您的RADKit服务序列号 |
RADKIT_MCP_IDENTITY |
✅ 是 | 您的RADKit身份(CCO ID/电子邮件) |
RADKIT_MCP_CLIENT_PRIVATE_KEY_PASSWORD |
✅ 是 | RADKit客户端私钥的密码 |
持久凭据数量
RADKit凭据存储在Docker卷中(radkit-credentials)安装在 /root/.radkit 在容器内。这可确保凭据在容器重新启动时保持不变。
Docker使用
手动构建图像
docker build -t radkit-mcp .
使用Docker Compose运行
# Start in foreground
docker compose up
# Start in background
docker compose up -d
# View logs
docker compose logs -f
# Stop
docker compose down
直接运行容器
docker run -it \
-e RADKIT_MCP_SERVICE_SERIAL=your-serial \
-e RADKIT_MCP_IDENTITY=your-identity \
-e RADKIT_MCP_CLIENT_PRIVATE_KEY_PASSWORD=your-password \
-v radkit-credentials:/root/.radkit \
radkit-mcp
连接MCP客户端
克劳德桌面
将以下内容添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"radkit": {
"command": "docker",
"args": [
"compose",
"-f", "/path/to/radkit-mcp/compose.yml",
"run", "--rm", "-i",
"radkit-mcp"
]
}
}
}
游标/其他MCP客户端
配置您的MCP客户端,将Docker容器作为基于stdio的MCP服务器启动。容器预先配置了 stdin_open: true 和 tty: true 用于交互式使用。
项目结构
radkit-mcp/
├── .gitmodules # Git submodule configuration
├── Dockerfile # Docker image definition
├── compose.yml # Docker Compose service definition
├── README.md # This file
└── radkit-mcp-server-community/ # Git submodule (CiscoDevNet)
# Core MCP server Python package (radkit_mcp)
| 文件 | 目的 |
|---|---|
Dockerfile |
使用以下命令构建服务器映像 uv Python 3.12 slim |
compose.yml |
定义Docker服务、环境变量和持久卷 |
radkit-mcp-server-community/ |
子模块 radkit_mcp CiscoDevNet的Python包 |
运作原理
- Docker构建 通过安装
radkit-mcp-server-communityPython包使用uv - 在运行时,集装箱发射
python -m radkit_mcp,启动MCP服务器 - MCP服务器 通过stdio与AI客户端通信,继 模型上下文协议
- 当AI发出工具调用时,MCP服务器 使用Cisco RADKit进行身份验证 使用提供的凭据和代理命令注册网络设备
- 返回结果 作为结构化MCP响应发送给AI客户端
贡献
欢迎投稿!拜托:
- 分叉存储库
- 创建要素分支(
git checkout -b feature/my-feature) - 提交您的更改(
git commit -m 'Add my feature') - 推到您的分支(
git push origin feature/my-feature) - 打开拉取请求
对于核心MCP服务器逻辑的问题,请向上游存储库投稿: 👉 CiscoDevNet/radkit mcp服务器社区
相关项目
- 🔗 CiscoDevNet/radkit mcp服务器社区 --核心MCP服务器实现
- 🔗 思科RADKit --RADKit官方文档
- 🔗 模型上下文协议 --MCP规范
许可证
该项目根据 Apache许可证2.0.
这 radkit-mcp-server-community 子模块由思科DevNet维护,并受其自身许可条款的约束。
Made with ❤️ for the network automation community