pulsonix-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@pulsonix-mcprun DRC on C:/design.pcb and list violations"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
pulsonix-mcp
MCP-сервер для Pulsonix 10.x (проверено на 10.5 build 7883) через встроенный ActiveX Scripting API. Позволяет ИИ-агентам (Claude, Codex, Cursor, Copilot, Gemini…) читать и менять схемы и платы Pulsonix: компоненты, цепи, netlist, BOM, атрибуты, ERC/DRC, CAM-выводы, библиотеки — и выполнять произвольные скрипты.
MCP server for Pulsonix 10.x PCB/schematic CAD via its legacy ActiveX scripting API (Windows, stdio).
Требования
Windows с установленным Pulsonix 10.x и лицензией, в которой есть Scripting (меню Tools → Run Script).
Python 3.10+.
Сервер работает по stdio на той же машине, где стоит Pulsonix (облачные агенты без локального доступа его не запустят).
Related MCP server: KiCad MCP Server
Установка
pip install git+https://github.com/meepo161/pulsonixMCP.gitили из клона в режиме разработки:
git clone https://github.com/meepo161/pulsonixMCP.git
cd pulsonixMCP
pip install -e .После установки появляется команда pulsonix-mcp (лежит в папке Scripts вашего Python).
Узнать полный путь:
python -c "import sysconfig; print(sysconfig.get_path('scripts'))"Если в PATH эта папка не добавлена — в конфигах ниже указывайте полный путь,
например C:\\Users\\<you>\\AppData\\Roaming\\Python\\Python314\\Scripts\\pulsonix-mcp.exe.
Вместо pulsonix-mcp везде можно использовать python -m pulsonix_mcp.
Без установки, через uv: команда uvx, аргументы
--from git+https://github.com/meepo161/pulsonixMCP.git pulsonix-mcp.
Первый запуск Pulsonix
Один раз откройте Pulsonix вручную и закройте стартовые диалоги (например, «проверять обновления?»). В скрытом режиме такой диалог заблокирует скрипт, и вызов упадёт по таймауту.
Подключение к ИИ-агентам
Во всех примерах pulsonix-mcp можно заменить полным путём к exe. Необязательные переменные окружения — в разделе
Настройки. Операция в headless-режиме занимает ~2 с, но на медленных машинах поднимите таймаут
инструмента клиента до 2–3 минут.
Claude Code
claude mcp add pulsonix --scope user -- pulsonix-mcp
claude mcp list--scope user — во всех проектах; без него — только в текущем.
Claude Desktop
Settings → Developer → Edit Config (файл %APPDATA%\Claude\claude_desktop_config.json).
Правьте, когда Claude Desktop закрыт — иначе приложение может перезаписать файл.
{
"mcpServers": {
"pulsonix": {
"command": "pulsonix-mcp",
"args": []
}
}
}OpenAI Codex CLI
codex mcp add pulsonix -- pulsonix-mcpили в ~/.codex/config.toml:
[mcp_servers.pulsonix]
command = "pulsonix-mcp"
args = []
tool_timeout_sec = 180Cursor
~/.cursor/mcp.json (глобально) или .cursor/mcp.json в проекте:
{
"mcpServers": {
"pulsonix": { "command": "pulsonix-mcp", "args": [] }
}
}VS Code (GitHub Copilot, режим Agent)
.vscode/mcp.json в проекте (или MCP: Add Server из палитры команд):
{
"servers": {
"pulsonix": { "type": "stdio", "command": "pulsonix-mcp", "args": [] }
}
}Gemini CLI
~/.gemini/settings.json:
{
"mcpServers": {
"pulsonix": { "command": "pulsonix-mcp", "args": [], "timeout": 180000 }
}
}Windsurf / Cline / LM Studio / другие
Используют тот же формат mcpServers, что и Claude Desktop:
Windsurf — ~/.codeium/windsurf/mcp_config.json, Cline — MCP Servers → Configure,
LM Studio — mcp.json в настройках программы.
Свой агент (Python MCP SDK)
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
params = StdioServerParameters(command="pulsonix-mcp")
async with stdio_client(params) as (r, w), ClientSession(r, w) as s:
await s.initialize()
res = await s.call_tool("pulsonix_bom", {"design": r"C:\path\design.sch"})Проверить сервер вручную: npx @modelcontextprotocol/inspector pulsonix-mcp.
Как это работает
Агент ──MCP/stdio──► pulsonix_mcp (Python)
│ генерирует job.jse (runtime + ops + параметры)
├─ headless: Pulsonix.exe -hidden -scriptfile job.jse (~2 с на вызов)
└─ live: DDE "Pulsonix|System" → [psx_script_file("job.jse")]
▼
Pulsonix выполняет скрипт → result.json (UTF-16) → Python → агентheadless (по умолчанию): скрытый Pulsonix открывает временную копию файла из параметра
design. Инструменты записи безsave/save_as— пробный прогон (dry run), оригинал не меняется.save=trueперезаписывает оригинал, предварительно сохранив<имя>.bak-ГГГГММДД-ччммсс.<ext>;save_asпишет результат в новый файл.live (
mode="live"): работа с уже открытым окном Pulsonix — активный документ или тот, что указан вdesign. Изменения видны в окне сразу; сохраняете сами (илиsave=true).Не сохраняйте в headless-режиме файл, который сейчас открыт в окне Pulsonix: окно останется со старой версией.
Инструменты
Чтение | Запись (dry run без save) | Вывод / прочее |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
Координаты — в миллиметрах (1 мм = 100000 DSU). Выводы в цепях — REF:PIN (например KM1:9).
pulsonix_api_reference при первом вызове извлекает справочник API из Scripting.chm вашей установки
Pulsonix (через hh.exe) в рабочую папку. Сама справка © WestDev Ltd и в репозиторий не входит.
Примеры запросов агенту:
«Сделай BOM по схеме
C:\work\board.schи сохрани в Excel»«Найди компоненты без атрибута Value и неподключённые выводы»
«Переименуй R1..R20 в R101..R120 и сохрани в
board_v2.sch»«В открытом Pulsonix передвинь C5 на (120; 45) мм»
Настройки
Переменная | По умолчанию | Назначение |
|
| путь к Pulsonix.exe |
|
| рабочая папка (скрипты, копии, кэш справки) |
|
| таймаут одной операции, с |
| — |
|
Пример с переменными (Claude Desktop / Cursor и т. п.):
"pulsonix": {
"command": "pulsonix-mcp",
"env": { "PULSONIX_EXE": "D:\\Pulsonix10.5\\Pulsonix.exe", "PULSONIX_MCP_TIMEOUT": "300" }
}Особенности Pulsonix 10.x, учтённые в сервере
COM-объект
Pulsonix.Applicationзарегистрирован, но наружу методов не отдаёт — управление только через скрипты, которые Pulsonix выполняет сам (-scriptfileили DDE-командаpsx_script_file).Движок скрипта выбирается по расширению файла через реестр Windows.
.jsчасто перехвачен редакторами (WebStorm, VS Code…) — тогда у ассоциации нет ключаScriptEngine, и скрипты молча не запускаются. Поэтому сервер пишет скрипты как.jse(движокJScript.Encodeисполняет обычный JScript).В JScript-движке Pulsonix нет объекта
JSON— сериализатор свой (pulsonix_mcp/jscript/runtime.jse).Document.Save()возвращает неtrueдаже при успехе — сохранение проверяется по времени изменения файла.Component.Padsв схеме отдаёт выводы только первого гейта; связь вывод→цепь строится по узлам цепей.DDE-клиент из
pywin32способен уронить Pulsonix (heap corruption) — в сервере собственный клиент DDEML на ctypes.
Разработка и тесты
python tests/smoke_test.py path\to\design.sch # мост, headless, только чтение
python tests/mcp_client_test.py path\to\design.sch # MCP по stdio; запись только в %TEMP%
python tests/live_test.py # нужен открытый Pulsonix с документомСтруктура:
pulsonix_mcp/
server.py MCP-инструменты (FastMCP)
bridge.py запуск скриптов: headless / live, копии, бэкапы
dde.py DDEML-клиент (ctypes, Unicode)
apidocs.py извлечение справки из Scripting.chm
jscript/runtime.jse JSON-сериализатор и хелперы для скриптов
jscript/ops.jse операции (OPS.summary, OPS.bom, ...)Новая операция = функция OPS.<имя>(D, A) в ops.jse + обёртка @mcp.tool() в server.py.
Лицензия
MIT. Pulsonix — товарный знак WestDev Ltd; проект не связан с WestDev и не содержит их документации.
This server cannot be deployed
Maintenance
Related MCP Connectors
Verified KiCad footprints, symbols & 3D models for AI agents. No signup, CC-BY-4.0, quality-gated.
EasyGerber brings AI printed circuit board (PCB) design, layout, and routing to MCP-compatible assistants. Describe a circuit or start from firmware pin assignments, search published electronic components, and build schematics using catalog parts with their footprints and available 3D models. Create and revise boards, generate layouts with automatic component placement and routing, inspect previews, and check saved layouts for blocking design issues. Export manufacturing ZIPs containing Gerber and drill files, a bill of materials, and component placement data, or download an editable EasyGerber (.egb) file. Start without signing up. Your agent creates a private guest session for one board, including catalog access, edits, layout, checks, previews, and exports. Sign in through OAuth to work with saved account boards, access permitted organization boards, or save the guest design to your account. Guest support depends on your MCP client and installed integration.
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
- OwlCADOAuthcom.owlcad
Parametric 3D CAD for AI agents: build print-ready parts, check them, export STL, 3MF or STEP.
Related MCP Servers
- AlicenseCqualityCmaintenanceEnables AI coding assistants to control JLCPCB EDA for PCB automation, exposing 39 tools for component manipulation, routing, copper pour, DRC, and more. Includes a built-in PCB agent for orchestrating multi-step tasks.59260MIT
- AlicenseCqualityDmaintenanceEnables LLMs to inspect, edit, analyze, and render PCB layouts in real-time using the KiCad IPC API, providing tools for board configuration, footprints, tracks, zones, nets, text, shapes, dimensions, exports, screenshots, and CLI automation.1001MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to read and modify KiCAD PCB designs through the KiCAD IPC API, providing tools for board queries, footprint placement, track creation, DRC, and export.14MIT
- AlicenseBqualityBmaintenanceEnables AI assistants to interact with KiCAD for PCB design automation, including schematic editing, component placement, routing, DRC/ERC, and export.10012 npm1MIT