Skip to main content
Glama
cvz-dev

Packet-Tracer-MCP

by cvz-dev

Packet Tracer MCP

MCP-сервер, который позволяет Claude Code создавать и настраивать топологии в Cisco Packet Tracer на естественном языке: создавать устройства, соединять их кабелями, применять команды IOS, VLAN, OSPF, NAT, ACL, VoIP или воспроизводить целую сеть по изображению диаграммы.

Tu -> Claude Code --stdio--> mcp_server.py --HTTP--> bridge :54321
                                                         |
                              Packet Tracer  <-----------+
                              modulo Builder:
                                bridge.js         (pagina: hace el polling)
                                bridge_runner.js  (motor: ejecuta y devuelve)

HTTP-мост работает внутри MCP-сервера: не нужно отдельного терминала для его запуска. А цикл опроса живёт внутри модуля Builder: в Packet Tracer тоже ничего вставлять не нужно.

Требования

uv

управляет Python и зависимостями

Cisco Packet Tracer

проверено в 9.0.0 (Windows)

Claude Code

клиент MCP

Related MCP server: packet-tracer-mcp

Запуск (однократно)

1. Зависимости

uv sync

2. Установка модуля Builder в Packet Tracer

packet_tracer/Builder.pts — это скриптовый модуль, который определяет внутри PT функции, используемые этим проектом (addDevice, addLink, addModule, configureIosDevice, configurePcIp, getDevices, removeLink, addLabel, saveTopology), и мост, связывающий его с HTTP-мостом. Без этого модуля ничего не работает.

В Packet Tracer (меню на английском, проверено в PT 9.0.0):

  1. Extensions -> Scripting -> Configure PT Script Modules

  2. Add -> выберите packet_tracer/Builder.pts из этого репозитория

  3. Выберите Builder в списке -> Settings -> отметьте On Startup, чтобы модуль запускался автоматически при каждом открытии PT

  4. Чтобы убедиться, что он работает: в меню Extensions должен появиться пункт Builder Code Editor. Если его нет, модуль не запустился.

При запуске модуль сам открывает окно Builder Code Editor. Это окно содержит цикл опроса, поэтому оно должно оставаться открытым во время работы; если в его заголовке написано "bridge activo", мост работает.

3. Открытие проекта в Claude Code

Из терминала в папке проекта:

claude

Claude Code читает .mcp.json и автоматически запускает MCP-сервер (а вместе с ним и HTTP-мост). При первом запуске может попросить подтвердить, что вы доверяете папке.

Чтобы проверить, что сервер подключён, введите /mcp внутри Claude Code: должен появиться packet-tracer с его инструментами.

Ежедневное использование

1. Abre Packet Tracer
   -> la ventana "Builder Code Editor" se abre sola y debe quedarse abierta

2. En una terminal, en la carpeta del proyecto:
      cd ruta/al/pt_MCP
      claude

3. Dentro de Claude Code:
      /pt-iniciar     -> confirma que las 3 piezas responden

Больше ничего запускать не нужно: ни main.py, ни вставки скриптов в Packet Tracer, ни дополнительных терминалов.

И дальше — на естественном языке:

  • «Создай два роутера 2911, соединённых по serial, с сетью 10.0.0.0/30 и по одной PC в каждой LAN»

  • /pt-desde-imagen diagramas/ejemplo-red1.jpeg — воспроизводит топологию диаграммы

  • «Настрой VLAN 10 VENTAS на SW1 и переведи порты 1-4 в access»

Если что-то не появляется на холсте, попросите Claude вызвать verificar_entorno(): он скажет, какая из трёх частей упала и как её поднять.

Структура

Файл

Роль

mcp_server.py

MCP-сервер: 38 сетевых инструментов + встроенный HTTP-мост

main.py

FastAPI-приложение моста (очереди команд и результатов)

packet_tracer/Builder.pts

Скриптовый модуль PT, готовый к импорту

packet_tracer/bridge.js

Цикл опроса (находится в Custom Interfaces модуля)

packet_tracer/bridge_runner.js

Исполнитель с обратным каналом (находится в Script Engine)

CLAUDE.md

Инструкции и правила, которым следует Claude Code

.claude/commands/

/pt-iniciar и /pt-desde-imagen

diagramas/

Входные диаграммы для /pt-desde-imagen (см. его README)

build_red1.py

Отдельный скрипт, который говорит напрямую с мостом: пример и отладка без Claude

Оба .js из packet_tracer/ уже находятся внутри Builder.pts; в репозитории они лежат отдельно, чтобы их можно было читать, версионировать и при необходимости переимпортировать.

uv run python main.py по-прежнему можно использовать для запуска моста отдельно, без MCP (это нужно тем отладочным скриптам).

Как проходит команда

  1. Claude вызывает инструмент MCP, который переводит запрос в строку JS для PT.

  2. mcp_server.py ставит её в очередь через POST /add_command.

  3. bridge.js внутри окна Builder Code Editor забирает её через GET /next_command (каждые 2 с) и вызывает $se('runCodeBridge', codigo).

  4. bridge_runner.js выполняет её в script engine и, если она возвращает значение, передаёт его обратно на страницу через evaluateJavaScriptAsync.

  5. Страница публикует его через POST /command_result, и mcp_server.py его получает.

Шаг 4 необходим, потому что $se() только подтверждает, что вызов отправлен (разрешается в true), но никогда не возвращает значение выполненного кода.

Каждый запрос отправляется с уникальной меткой (a1b2c3d4|...), и принимается только результат, который возвращается с этой меткой. Без этого запоздавший ответ остаётся в очереди, и следующий запрос получит не тот ответ.

Известные ограничения

  • Packet Tracer не отдаёт вывод команд IOS: hacer_ping() и obtener_tabla_routing() отправляют команду, но её вывод виден только в консоли устройства внутри PT. Запросы через API (getDevices(), состояние портов) данные возвращают.

  • crear_dispositivo(), conectar_dispositivos(), agregar_modulo_router() и eliminar_conexion() подтверждают реальный результат ([OK] / [ERROR]). Остальные команды записи (конфигурация IOS) ставятся в очередь без подтверждения: Exito: Comando enviado означает «поставлено в очередь», а не «выполнено».

  • При создании некоторых устройств PT автоматически добавляет на холст Power Distribution Device0. Он появляется в инвентарях, и это не ошибка.

  • obtener_puertos_dispositivo() читает реальные порты устройства в PT, включая порты установленных карт, и сообщает, какие из них свободны.

  • diagnosticar_red() не видит субинтерфейсы 802.1Q, VLAN и таблицы маршрутизации: отсутствие сообщений об ошибках не гарантирует связность.

  • Окно Builder Code Editor должно оставаться открытым: именно там живёт цикл.

Install Server
F
license - not found
B
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Generate cloud architecture diagrams, flowcharts, and sequence diagrams.

  • Turns vague automation requests into tool stacks, prompts, QA checks, and human boundaries.

  • Designs, prices, and deploys AWS/GCP cloud infrastructure from plain-English requirements.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cvz-dev/Packet-Tracer-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server