cx-programmer-mcp
cx-programmer-mcp
MCP-сервер для программного редактирования лестничных диаграмм (Ladder) OMRON CX-Programmer — без открытия графического интерфейса.
Работает с файлами .CXP / .CXT для ПЛК серий OMRON CJ/CP/CS.
Область действия: только программы, секции, мнемоника лестничных диаграмм, комментарии к цепям (rung) и таблица символов.
Не затрагивает: настройки PLC, таблицу ввода/вывода, сетевую конфигурацию, пароли и передачу в ПЛК.
Как это работает
OMRON документирует .CXP как сжатый вариант .CXT. .CXT — это текстовый формат, который CX-Programmer умеет импортировать и экспортировать. Этот сервер читает .CXP или .CXT, редактирует программу в памяти, затем сохраняет результат как .CXT / .CXP для проверки в CX-Programmer перед загрузкой в реальный ПЛК.
Использует Python MCP SDK v2 (MCPServer) с транспортом stdio.
Related MCP server: TwinCAT Validator MCP Server
Требования
Python >= 3.10
Менеджер пакетов uv
Установленный CX-Programmer (для открытия
.cxpи загрузки в ПЛК)
Установка
cd cx-programmer-mcp
uv sync
uv run cx-programmer-mcpНастройка шаблона проекта
Встроенный шаблон (CJ2M CPU11)
В комплект входит родной шаблон CJ2M CPU11. Создайте пустой проект:
uv run python make_template.pyДругие модели ПЛК
У каждой модели ПЛК своя двоичная конфигурация. Для моделей, отличных от CJ2M CPU11:
Откройте CX-Programmer на вашем компьютере
Создайте новый пустой проект для вашей модели ПЛК (CP1L, CS1G и т.д.)
Сохраните его как
.CXPили.CXTПоместите файл в папку
project/Обновите
make_template.py, указав ваш файл:
SRC = Path(__file__).parent / "project" / "your_blank_template.cxp"Запустите
make_template.pyодин раз
Пример программы
Пример лестничной диаграммы включён в комплект: project/example_basic_io.cxp
Он демонстрирует простой контроллер конвейера с:
Ручным управлением выходом (удержание для включения)
Автоматическим запуском по расписанию через RTC (настраивается через DM)
Таймером длительности
Защёлкой SET/RSET
Аварийным сбросом
Чтобы пересобрать его из исходников:
uv run python make_template.py
uv run python build_program.pyРезультат: project/example_basic_io.cxp — откройте в CX-Programmer для проверки и загрузки.
Проверка программы
uv run python review_program.pyНастройка MCP-клиента
Добавьте в конфигурацию MCP-клиента (Claude Desktop, Kiro, Cline и т.д.):
{
"mcpServers": {
"cx-programmer": {
"command": "uv",
"args": ["run", "cx-programmer-mcp"],
"cwd": "ABSOLUTE_PATH_TO_THIS_FOLDER"
}
}
}Пример для Windows:
"cwd": "C:\\Users\\yourname\\cx-programmer-mcp"Необязательно — ограничьте доступ к файлам только нужными папками:
CX_MCP_ALLOWED_ROOTS=C:\PLC_ProjectsИзменение расписания во время работы
Используйте CX-Programmer Online Mode → PLC Memory → DM Area:
DM | Функция | По умолчанию |
| Час запуска расписания 1 | 6 |
| Минута запуска расписания 1 | 0 |
| Час запуска расписания 2 | 16 |
| Минута запуска расписания 2 | 0 |
| Длительность работы, x100 мс | 300 (=30 с) |
Изменения вступают в силу сразу, без перезагрузки ПЛК.
Запуск тестов
uv run pytest -qДоступные MCP-инструменты
Инструмент | Описание |
| Загрузить файл |
| Список всех программ в проекте |
| Список секций в программе |
| Полное содержимое лестничной диаграммы программы |
| Получить цепи (rungs) в секции |
| Заменить инструкции цепи |
| Вставить новую цепь |
| Удалить цепь |
| Установить комментарий цепи |
| Пакетное редактирование цепей (атомарно) |
| Добавить новую секцию |
| Переименовать существующую секцию |
| Добавить или обновить символ |
| Очистить все символы в области видимости |
| Список всех символов |
| Проверить структуру XML |
| Сохранить как |
| Перекодировать и сохранить как |
| Список доступных встроенных шаблонов |
| Создать новый проект из шаблона |
| Проверить мнемонику инструкций |
| Логическая симуляция цепи |
| Анализ структуры цепи |
| Полная диагностика программы |
| Семантический JSON-снимок для ИИ-анализа |
| Сохранить и открыть в CX-Programmer (Windows) |
Структура проекта
cx-programmer-mcp/
├── src/cx_programmer_mcp/ # MCP server and CXT library
│ ├── server.py # MCP tool definitions
│ ├── cxt.py # CXT/CXP parser and editor
│ ├── ladder.py # Mnemonic compiler and simulator
│ ├── diagnostics.py # Program diagnostics
│ ├── recipes.py # Reusable ladder patterns
│ ├── templates/ # Built-in PLC templates
│ │ └── CJ2M_CPU11.cxt # Native CJ2M CPU11 template
│ └── ...
├── tests/ # Test suite (16 tests)
├── project/ # Output folder
│ └── example_basic_io.cxp # Example ladder program
├── build_program.py # Builds the example ladder program
├── write_build.py # Regenerates build_program.py
├── make_template.py # Generates blank template from base
├── review_program.py # Prints program content to console
└── pyproject.tomlПримечания
Всегда запускайте Program Check в CX-Programmer перед загрузкой в реальный ПЛК.
Этот инструмент редактирует только логику программы — таблица ввода/вывода, настройки модулей и конфигурация ПЛК сохраняются как в шаблоне.
Выходной
.CXPсовместим с CX-Programmer 9.73 для CJ2M CPU11.Для других моделей ПЛК предоставьте собственный пустой шаблон
.CXP(см. Настройка шаблона проекта).
Maintenance
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
- AlicenseNot gradedqualityFmaintenanceA Model Context Protocol server that enables seamless interaction between MCP clients (like Claude Desktop) and CODESYS V3 programming environments, allowing automation of project management, POU creation, code editing, and compilation tasks.131114MIT
- AlicenseBqualityCmaintenanceAn MCP server for validating, auto-fixing, and scaffolding TwinCAT 3 XML files using deterministic code quality tools and IEC 61131-3 OOP checks. It enables AI assistants to perform structural validation, apply safe fixes, and generate canonical code skeletons for industrial automation projects.1633MIT
- FlicenseNot gradedqualityAmaintenanceMCP server that connects AI assistants to Siemens TIA Portal via the Openness API. AI-assisted PLC programming, project management, hardware configuration, cross-reference analysis, and deployment. 16 tools, 166 actions.27
- AlicenseBqualityBmaintenanceMCP server that enables AI agents to read, edit, and create PLC projects in EcoStruxure Control Expert via COM automation.52MIT
Related MCP Connectors
MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.
MCP server for generating rough-draft project plans from natural-language prompts.
2,000+ MCP servers read at source level. Know what one does before you connect. Free, no key.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/BlackUppsss/Cx-Proggrammer-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server