Token导航 LogoToken导航

MCP Server · 运维云端

gns3 over MCP

GNS3 MCP服务器是一个通过Claude Code和Claude Desktop控制GNS3网络拓扑的工具,提供项目管理、节点操作、链接管理和拓扑控制等功能。

stdio官方级别未说明来源级核验工具 18
PythonClaude云端部署Claude Desktop

快速开始

作者 / 组织
JMartinCreuzburg
提供方
JMartinCreuzburg
运行时
Python

工具数量

18

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

gns3 over MCP 属于运维云端类 MCP Server,公开资料标注 18 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

运维云端

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

python3 -m venv venv

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 18 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

GNS3 MCP服务器

模型上下文协议(MCP)服务器,用于通过Claude Code和Claude Desktop控制GNS3网络拓扑。

特性

  • 项目管理:创建、打开、关闭、删除GNS3项目
  • 节点操作:添加、删除、启动、停止网络节点(VM、路由器、交换机)
  • 链路管理:创建和删除节点之间的连接
  • 拓扑控制:启动/停止项目中的所有节点
  • 状态监测:获取项目统计数据和当前状态

需求

  • Python 3.12.3+
  • GNS3服务器2.2.55(本地或远程)
  • FastMCP 2.0+
  • 克劳德代码或克劳德桌面

安装

1.克隆存储库

cd /gns3_over_mcp

2.创建虚拟环境

python3 -m venv venv
source venv/bin/activate

3.安装依赖项

pip install -r requirements.txt

4.配置GNS3连接

创建 gns3_config.json (已存在,具有默认的localhost设置):

{
  "gns3": {
    "host": "localhost",
    "port": 3080,
    "protocol": "http",
    "verify_ssl": true,
    "timeout": 30,
    "auth_required": false
  }
}

对于具有身份验证的远程服务器,请创建 .env:

cp .env.example .env
# Edit .env and add your credentials:
# GNS3_USERNAME=your_username
# GNS3_PASSWORD=your_password
# GNS3_AUTH_REQUIRED=true

与Claude整合

克劳德桌面

增添 ~/.config/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "gns3": {
      "command": "python3",
      "args": [
        "//gns3_over_mcp/gns3_mcp_server.py"
      ]
    }
  }
}

更新配置后重新启动Claude Desktop。

克劳德代码

如果您通过以下方式配置服务器,Claude Code将自动发现它:

# Add to Claude Code MCP configuration
# The examples/claude_code_config.json shows the format

可用工具

MCP服务器提供18个工具:

项目管理(6个工具)

  • create_project -创建新的GNS3项目
  • list_projects -列出所有项目
  • get_project -按ID获取项目详细信息
  • open_project -打开一个已关闭的项目
  • close_project -关闭打开的项目
  • delete_project -永久删除项目

节点管理(5个工具)

  • list_nodes -列出项目中的所有节点
  • create_node -创建新节点(VM、路由器、交换机等)
  • delete_node -从项目中删除节点
  • start_node -启动特定节点
  • stop_node -停止特定节点

链接管理(3个工具)

  • list_links -列出项目中的所有链接
  • create_link -在两个节点之间创建链接
  • delete_link -删除链接

拓扑操作(4个工具)

  • start_all_nodes -启动项目中的所有节点
  • stop_all_nodes -停止项目中的所有节点
  • get_project_stats -获取统计数据(节点计数、链接计数、状态)
  • list_templates -列出可用节点模板

使用示例

通过克劳德代码或克劳德桌面

配置后,您可以通过自然语言与GNS3交互:

Create a new GNS3 project called "NetworkLab"
List all available templates
Add two VPCS nodes named PC1 and PC2 to the project
Create a link between PC1 port 0 and PC2 port 0
Start all nodes in the project
Get statistics for the current project
Stop all nodes and close the project

建筑

文件结构

gns3_over_mcp/
├── gns3_mcp_server.py      # Main MCP server entry point
├── gns3_client.py          # GNS3 REST API client wrapper
├── config.py               # Configuration management
├── tools/                  # Modular tool definitions
│   ├── __init__.py         # Tool module exports
│   ├── project_tools.py    # Project management (7 tools)
│   ├── node_tools.py       # Node operations (7 tools)
│   ├── link_tools.py       # Link management (3 tools)
│   └── template_tools.py   # Template operations (1 tool)
├── gns3_config.json        # GNS3 connection settings
├── .env                    # Environment variables (sensitive data)
├── .env.example            # Template for .env
├── requirements.txt        # Python dependencies
├── examples/               # Example configurations
│   ├── claude_desktop_config.json
│   └── claude_code_config.json
└── README.md               # This file

配置优先级

服务器使用三层配置系统:

  1. 环境变量 (最高优先级)
  2. gns3_configure.json 文件
  3. 默认值 (最低优先级)

这使您能够:

  • 将连接设置存储在 gns3_config.json
  • 为不同环境覆盖环境变量
  • 将敏感数据(密码)保存在 .env 文件

故障排除

连接问题

问题:无法连接到GNS3服务器

解决方案:

  1. 验证GNS3服务器是否正在运行:
   curl http://localhost:3080/v2/version
  1. 检查 gns3_config.json 设置与GNS3服务器配置匹配
  1. 对于远程服务器,请确保在中配置了身份验证 .env

工具错误

问题:工具返回错误消息

解决方案:

  1. 检查克劳德日志:

- Linux: ~/.config/Claude/logs/ - 检查连接错误或API响应问题

  1. 验证项目ID和节点ID是否正确:
   List all projects first to get valid project IDs
  1. 确保GNS3服务器具有必要的权限和资源

模板问题

问题:无法使用特定模板创建节点

解决方案:

  1. 首先列出可用模板:
   List all available templates
  1. 使用正确的 template_id 从模板列表中
  1. 验证模板是否正确安装在GNS3中

添加新工具

  1. 添加方法 GNS3Client 在 gns3_client.py
  2. 添加 @mcp.tool() 装饰功能到相应的工具模块:

- 工具/项目工具.py 用于项目运营 - 用于节点操作 - 工具/link_tools.py 用于链接操作 - 工具/template_tools.py 用于模板操作 - 或者在中创建一个新模块 tools/ 对于新类别

  1. 在模块中注册新工具 register_*_tools() 函数
  2. 使用新的工具文档更新此README

未来的增强功能

未来版本的潜在功能:

  • 快照管理(创建、还原、删除快照)
  • 控制台访问流
  • 数据包捕获集成
  • 节点配置导入/导出
  • 多项目批量操作
  • 实时状态通知
  • 网络图导出
  • 支持GNS3计算节点

许可证

MIT许可证

支持

对于问题或疑问:

  • 检查GNS3文档:https://docs.gns3.com/
  • 查看FastMCP文档:https://gofastmcp.com/
  • GNS3 API文件:https://gns3-server.readthedocs.io/

贡献

欢迎投稿!拜托:

  1. 复刻仓库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

版本历史记录

v0.2.0(当前)

  • 将服务器重构为模块化架构
  • 组织成语义模块(项目、节点、链接、模板)的工具
  • 提高了可维护性和可扩展性
  • 将主服务器文件从459行减少到42行

v0.1.0(初始版本)

  • 18个用于GNS3控制的MCP工具
  • 支持项目、节点、链接和拓扑操作
  • 使用环境变量进行配置管理
  • Claude Code和Claude Desktop集成
  • 全面的错误处理

工具与能力

工具数量

18

资源数量

0

提示词数量

0

能力标签

网络模拟Python本地部署拓扑控制项目管理节点操作链接管理

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 工具数量 18 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
gns3 over MCP

MCP World · 本页

18stdio有1 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

gns3 over MCP 怎么安装?

公开资料给出的安装命令是 python3 -m venv venv,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

gns3 over MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

gns3 over MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

gns3 over MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

gns3 over MCP 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP