关于 Juniper Routing Director MCP Server
连接 AI 客户端与 Juniper Routing Director、用于网络运维和监控的 MCP 服务。支持基本认证或令牌认证,并可通过 HTTP 或 stdio 通信。
主要功能
- 01设备管理与监控
- 02部署配置模板
- 03VPN 服务管理
- 04查看拓扑与 KPI
- 05基本认证和令牌认证
- 06HTTP 与 stdio 传输
适用场景
- 01监控设备和网络 KPI
- 02部署配置模板
- 03管理 VPN 服务
- 04查看网络拓扑
MCP 相关
向 MCP 客户端提供 Routing Director 的功能,并可通过组件筛选可用工具。服务支持 HTTP 和 stdio 传输,也可在 HTTP 模式下使用基于文件的令牌验证客户端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Routing Director MCP Server
一个 MCP(Model Context Protocol)服务,可与 Juniper 的 Routing Director 平台集成,提供对网络路由、保障、优化和智能分析功能的智能访问。
功能
- 灵活的身份验证:支持基本身份验证和基于令牌的身份验证
- 多种传输选项:HTTP 和 stdio 传输协议
- 设备管理与监控
- 配置模板部署
- VPN 服务管理
- 网络拓扑可视化
- KPI 监控与可观测性
- 客户与组织管理
先决条件
- Python >= 3.10,<= 3.14
- Juniper Routing Director 实例
- 可连接到 Routing Director API 的网络
- 有效的 Routing Director 凭据(用户名/密码或 API 令牌)
安装
从源代码安装
git clone https://github.com/Juniper/routing-director-mcp-server.git
cd routing-director-mcp-server
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -r requirements.txt
从 MCP Registry 安装
待定
配置
配置文件(config.json)
创建一个 config.json 文件,结构如下:
基本身份验证:
{
"http_url": "https://your-routing-director-host/",
"org_id": "your-organization-id",
"auth": {
"type": "basic",
"username": "[email protected]",
"password": "your-password"
}
}
令牌身份验证:
{
"http_url": "https://your-routing-director-host/",
"org_id": "your-organization-id",
"auth": {
"type": "token",
"token": "your-api-token"
}
}
注意:此身份验证用于 MCP 服务与 Routing Director 实例之间。MCP 服务将代表连接到它的客户端处理与 Routing Director 的身份验证。
配置参数
- http_url(必需):Routing Director 实例的 URL
- org_id(必需):Routing Director 中的组织 ID
- auth(必需):身份验证配置
- type:
basic或token - username:Routing Director 用户名(用于基本身份验证)
- password:Routing Director 密码(用于基本身份验证)
- token:API 令牌(用于令牌身份验证)
- type:
- components(可选):用于筛选 MCP 服务所公开工具和功能的附加组件配置。如果用户希望仅针对特定组件筛选 openapi 规范,可以使用
components字段提供组件列表,以筛选该规范。
组件可以是以下之一:
ems- 用于警报相关信息(搜索、确认和取消确认 Routing Director 上报告的警报)juniper-resiliency-interface- 用于设备 syslog 信息(检索 Routing Director 上收集的 syslog 消息)device-kpi- 用于获取 Routing Director 上收集的 Juniper Resiliency Interface(JRI)相关异常事件(转发、路由和 OS)
使用
启动服务
python RoutingDirectorMCP.py --config config.json
命令行选项
python RoutingDirectorMCP.py --help
可用选项:
-H, --host:服务主机(默认:127.0.0.1)-p, --port:服务端口(默认:30030)-t, --transport:传输类型:streamable-http或stdio(默认:streamable-http)-c, --config:配置文件路径(必需)-v, --verbose:启用详细日志
示例:使用自定义配置启动
python RoutingDirectorMCP.py \
--config config.json \
--host localhost \
--port 8000 \
--transport streamable-http \
--verbose
MCP 服务与 MCP 主机(Claude/Copilot 等)之间的身份验证
令牌管理
服务支持通过令牌管理器进行基于令牌的身份验证。如果令牌文件存在,HTTP 传输将自动启用身份验证。
对于 stdio 传输,将绕过身份验证,因为它通常用于安全的本地环境。
启用 MCP 服务与 MCP 客户端之间的身份验证。
你可以使用基于文件的令牌身份验证,在 MCP 客户端与 MCP
服务之间进行通信。若要生成令牌,请在本地系统上执行以下命令:
python utils/mcp/token_cli.py generate --client-id [email protected] --description "Token for SV"
其中,
client-id - 用于生成身份验证令牌的 ID。
以下是生成结果示例:
Generated new token:
ID: my-client
Token: apa_CA98sH_VwEBd79aHA6O9NxbhXQN_RqaK
Description: Production API
将生成的令牌保存到 .tokens 文件中。默认情况下,令牌会保存在 GitHub MCP 仓库的根目录中。
日志记录
启用详细日志以进行调试:
LOG_LEVEL=DEBUG python RoutingDirectorMCP.py --config config.json --verbose
连接到 MCP 服务
用户可以使用任何 MCP Host(如 Claude、Copilot、Chatgpt 等)连接到 MCP 服务。配置 MCP Host 时,请使用启动 MCP 服务时指定的相同传输类型、主机和端口。
配置 Claude
配置 Claude:
- 在文本编辑器中打开 Claude 配置文件。
• 在 macOS 设备上,在终端中运行以下命令:~/Library/Application Support/Claude/claude_desktop_config.json• 在 Windows 设备上,打开命令提示符并输入:%APPDATA%\Claude\claude_desktop_config.json - 按如下所示添加 MCP 服务配置:
{
"mcpServers": {
"RoutingDirector": {
"command": "/Users/username/path-to-virtual-environment/.mcp_venv/bin/python",
"args": [
"/Users/username/path-to-mcp-python-script/RoutingDirectorMCP.py",
"-c",
"/Users/username/path-to-config-json/config.json",
"-t",
"stdio"
]
}
}
}
- 保存文件。
- 重启 Claude。
- 验证 Claude 是否已连接到 MCP 服务。
如果在 + > Connectors 下列出了 MCP 服务工具,则表示 Claude 已连接到 MCP 服务。
配置 Copilot:
配置 Copilot:
- 打开 Virtual Studio (VS) code。
或者,你也可以使用任何其他支持 Copilot 和 MCP 服务的集成开发环境 (IDE)。 - 使用以下任一方法打开 MCP 设置文件:
• 在 macOS 上,在终端中运行以下命令:打开~/Library/Application\ Support/Code/User/mcp.json其中,user 是你在 macOS 设备上的用户名。
• 在 Windows 设备上,打开命令提示符并输入:C:/Users/YourUserName/AppData/Roaming/Code/User/mcp.json其中,user 是你在 Windows 设备上的用户名。 - 按如下所示将 MCP 服务配置添加到设置文件中:
{
"mcpServers": {
"RoutingDirector": {
"command": "/Users/username/path-to-virtual-environment/.mcp_venv/bin/python",
"args": [
"/Users/username/path-to-mcp-python-script/RoutingDirectorMCP.py",
"-c", "/Users/username/path-to-config-json/config.json",
"-t", "stdio"
]
}
}
}
- 保存文件。
- 关闭并重新打开 VS code,使 MCP 配置更改生效。
- 验证 Copilot 是否已连接到 MCP 服务。
如果在 VS code 的 Output 面板中看到指示成功连接到 MCP 服务的消息,则表示 Copilot 已连接到 MCP 服务。
或者,你可以在 VS code Extensions 中查看列出的 MCP 服务工具(API 调用)。
要确认 MCP 服务已正确启动,请查看 MCP 服务日志。日志会根据与 AI Agent 的通信类型生成:
• 如果使用 stdio,则会显示 Starting MCP server 'Juniper Routing Directory' with transport 'stdio'。
• 如果使用 streamable-http,则会显示 INFO Starting MCP server 'Juniper Routing Directory' with transport 'http' on http://127.0.0.1:30030/mcp。
有关在 MCP Host 应用中配置 MCP 服务的更多详情,请参阅: VS code Copilot:https://code.visualstudio.com/docs/copilot/customization/mcp-servers Claude:https://code.claude.com/docs/en/mcp
故障排除
问题:"Config file path is required"
解决方案:确保使用有效的配置文件路径提供 --config 标志。
问题:"Mandatory key missing in MCP config file"
解决方案:确认 config.json 包含所有必需的键:http_url、org_id 和 auth。
问题:"Failed to authenticate"
解决方案:
- 验证 Routing Director 凭据
- 确保可以通过配置的 http_url 访问 Routing Director 实例
- 检查用户名/密码或 API 令牌是否正确
- 验证与 Routing Director 主机的网络连接
问题:连接被拒绝
解决方案:
- 确认服务器正在运行,并且
--host和--port与客户端配置一致 - 检查防火墙规则是否允许配置端口上的流量
问题:"No tokens file found. Authentication DISABLED"
解决方案:对于需要身份验证的 HTTP 传输,请确保令牌文件已正确初始化。在开发/测试环境中,这通常是可以接受的。
版本 2.10.0
当前版本:v2.10.0
Juniper Routing Director 2.10.0 用户指南:https://www.juniper.net/documentation/us/en/software/juniper-routing-director2.10.0/user-guide/index.html
有什么新内容?
- 支持 python 3.14
- 错误修复
已知问题:
- MCP 服务的命令黑名单仅覆盖运行模式命令。删除、恢复出厂、加载出厂默认配置等破坏性配置命令及其 NETCONF 等效命令不在拦截范围内,如果用户提示词或 LLM 生成的操作触发了这些命令,就可能执行并导致设备关键配置丢失。 解决方法:建议避免使用可能触发破坏性配置变更的提示词。此外,请启用 MCP 审批工作流,在设备上执行任何更改配置的命令前要求手动确认。
致谢
此 MCP 服务集成了 Juniper Networks 的 Routing Director 平台,可提供企业级网络智能和优化能力。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。