sylo-allen-bradley
Studio 5000 Logix Designer SDK wrapper — harness-neutral MCP server (Claude Code, Codex, pi via pi-mcp-adapter): controller upload/download and ACD↔L5X export/import. The SDK itself is not bundled (operator-licensed wheel); PLC comms live in sylo-plc-comm
Package details
Install sylo-allen-bradley from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:sylo-allen-bradley- Package
sylo-allen-bradley- Version
0.2.0- Published
- Oct 9, 2026
- Downloads
- 367/mo · 3/wk
- Author
- yeti-trix
- License
- MIT
- Types
- package
- Size
- 61.5 KB
- Dependencies
- 0 dependencies · 0 peers
Pi manifest JSON
{
"mcp": [
"./.mcp.json"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
sylo-allen-bradley
Sylo package: Studio 5000 Logix Designer SDK wrapper — controller
upload/download and .acd↔L5X export/import (allen_bradley_sdk_* tools).
The SDK itself is not bundled and cannot be redistributed — it ships with
the licensed Studio 5000 v36+ installation (Windows, Python 3.12 only) and
requires a valid Studio 5000 license.
Split out of the old monolith on 2026-09-09:
sylo-plc-comms— CIP/OPC UA tag tools (plc_comms_*). No SDK required.sylo-logicforge— L5X parse/review/IO-scaffold, Parse Rules UI, bundled LogicForge backend, canonical download allowlist.- This package — SDK tools only:
allen_bradley_sdk_upload_from_plc,allen_bradley_sdk_download_to_plc,allen_bradley_sdk_export_l5x,allen_bradley_sdk_import_l5x.
Logix Designer SDK wheel (not bundled)
The Rockwell-proprietary logix_designer_sdk Python wheel ships with your own
licensed Studio 5000 v36+ install. Resolution order (scripts/_sdk_paths.py):
LOGIX_DESIGNER_SDK_WHEELenvironment variable — explicit wheel pathLOGIX_DESIGNER_SDK_SITE— unpacked SDK tree- A wheel dropped under
packages/sylo-logicforge/vendor/logicforge/(local only, not committed) - Legacy sibling checkout (
~/Documents/GitHub/sylo-allen-bradley/) LOGICFORGE_SOURCEdev-checkout overlay- Rockwell install locations (
C:\Program Files (x86)\Rockwell Software\...)
Without the SDK the package still loads — only the direct .acd operations
report that the SDK is missing. Use sylo-plc-comms for live tag reads/writes
(no SDK) and sylo-logicforge for L5X parse/IO-scaffold work.
Downloads are allowlist-gated
allen_bradley_sdk_download_to_plc is the only tool that writes to a live
controller project. It is hard-gated by the operator-managed allowlist whose
canonical file lives in sylo-logicforge
(packages/sylo-logicforge/assets/download-allowlist.json) — the agent cannot
download to any IP not present and enabled there.
Install
Harness-neutral MCP server — same package, three ways:
pi (via pi-mcp-adapter): pi install npm:sylo-allen-bradley. The adapter
reads the bundled .mcp.json (declared as pi.mcp in package.json) and
registers the server automatically. Set toolPrefix: "none" in adapter
settings so tool names stay exactly allen_bradley_sdk_*.
Claude Code: git clone the repo — Claude Code picks up the root .mcp.json
natively. No extra deps for the MCP server itself (stdlib only).
Codex: git clone, then codex mcp add allen-bradley -- python server/server.py.
Python: the MCP server runs on any 3.10+; the wrapped SDK scripts run on the
SDK Python 3.12 (SYLO_SDK_PYTHON env or py -3.12 on Windows) and need the
licensed Studio 5000 v36+ wheel (resolution order in scripts/_sdk_paths.py).
Without it, tools load but report the SDK is missing.
Releases publish automatically from GitHub Actions (npm trusted publishing, with provenance): bump version in package.json, commit, tag vX.Y.Z, push the tag.
0.2.0: the pi TypeScript extension was removed — the MCP server (
server/server.py, officialmcpSDK) is now the only tool surface. Tools, args, JSON contracts, timeouts and allowlist enforcement are unchanged. Also fixes the intermittent false-error regression where SDK INFO lines emitted after the scripts' JSON result were reported as tool errors (server/_trailing_json.py, regression-tested intests/)