mcpField
J
Juniper Routing Director MCP Server

Juniper Routing Director MCP Server

本地服务
github.com/Juniper云与基础设施511 周前更新

关于 Juniper Routing Director MCP Server

连接 AI 客户端与 Juniper Routing Director、用于网络运维和监控的 MCP 服务。支持基本认证或令牌认证,并可通过 HTTP 或 stdio 通信。

主要功能

  1. 01设备管理与监控
  2. 02部署配置模板
  3. 03VPN 服务管理
  4. 04查看拓扑与 KPI
  5. 05基本认证和令牌认证
  6. 06HTTP 与 stdio 传输

适用场景

  1. 01监控设备和网络 KPI
  2. 02部署配置模板
  3. 03管理 VPN 服务
  4. 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 令牌(用于令牌身份验证)
  • 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:

  1. 在文本编辑器中打开 Claude 配置文件。
    • 在 macOS 设备上,在终端中运行以下命令:~/Library/Application Support/Claude/claude_desktop_config.json • 在 Windows 设备上,打开命令提示符并输入:%APPDATA%\Claude\claude_desktop_config.json
  2. 按如下所示添加 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"  
                ]  
             }  
          }  
      }  

  1. 保存文件。
  2. 重启 Claude。
  3. 验证 Claude 是否已连接到 MCP 服务。

如果在 + > Connectors 下列出了 MCP 服务工具,则表示 Claude 已连接到 MCP 服务。

配置 Copilot:
配置 Copilot:

  1. 打开 Virtual Studio (VS) code。
    或者,你也可以使用任何其他支持 Copilot 和 MCP 服务的集成开发环境 (IDE)。
  2. 使用以下任一方法打开 MCP 设置文件:
    • 在 macOS 上,在终端中运行以下命令:打开 ~/Library/Application\ Support/Code/User/mcp.json 其中,user 是你在 macOS 设备上的用户名。
    • 在 Windows 设备上,打开命令提示符并输入:C:/Users/YourUserName/AppData/Roaming/Code/User/mcp.json 其中,user 是你在 Windows 设备上的用户名。
  3. 按如下所示将 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"  
            ]  
         }  
     }  
}  
  1. 保存文件。
  2. 关闭并重新打开 VS code,使 MCP 配置更改生效。
  3. 验证 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
  • 错误修复
已知问题:
  1. MCP 服务的命令黑名单仅覆盖运行模式命令。删除、恢复出厂、加载出厂默认配置等破坏性配置命令及其 NETCONF 等效命令不在拦截范围内,如果用户提示词或 LLM 生成的操作触发了这些命令,就可能执行并导致设备关键配置丢失。 解决方法:建议避免使用可能触发破坏性配置变更的提示词。此外,请启用 MCP 审批工作流,在设备上执行任何更改配置的命令前要求手动确认。

致谢

此 MCP 服务集成了 Juniper Networks 的 Routing Director 平台,可提供企业级网络智能和优化能力。


评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。