gx3-cli-mcpSAFE
Trace a GX Works3 ladder without opening GX Works3 — read-only CLI + MCP server so anyone (or an AI agent) can find why a coil never turns on.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
日本語 · English · 简体中文 · 한국어
[](https://pypi.org/project/gx3-cli-mcp/) [](https://pypi.org/project/gx3-cli-mcp/) [](https://github.com/purinzan/gx3-cli-mcp/actions/workflows/ci.yml) [](LICENSE.txt) [](https://glama.ai/mcp/servers/purinzan/gx3-cli-mcp)
Work out why a coil never turns on, without opening GX Works3.
Reads a GX Works3 .gx3 project on your own machine and answers questions about it — where a device is written, what has to be true for a coil to turn on, which conditions come from outside the PLC, which branches can never be true. Read-only: it never writes back to the project.
It is a CLI, and the same analysis is a stdio MCP server, so an AI agent can answer from indexed facts instead of guessing at a binary file.
日本語: 三菱電機 MELSEC の .gx3 を GX Works3 を開かずに解析する CLI / MCP サーバーです。「このコイルがなぜ ON にならないか」をラダーから追います。 読み取り専用で、元のプロジェクトは書き換えません。
中文: 不用打开 GX Works3,也能分析三菱电机 MELSEC 的 .gx3 工程, 从梯形图追查「这个线圈为什么不导通」。只读,不改写原工程。 完整中文说明见 README.zh-CN.md。
Install
pip install gx3-cli-mcp
Python 3.10+. Installs two console scripts: gx3-cli and gx3-mcp-server.
Try it in 30 seconds
No project needed — generate one:
gx3-cli synthetic-project demo.gx3 --profile demo-line gx3-cli guide --root demo.gx3
guide reads the project and tells you which commands are worth running on it, and why. That is the answer to "there are sixty commands, where do I start".
On a project
gx3-cli doctor --root project.gx3 # does it
6f638bf765caOBSERVED · 2026-10-11Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add gx3-cli-mcp -- None gx3-cli-mcp==0.2.0
Trust audit
SAFEgrade B · trust 85/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (5 observation(s))
- Network
- declared (7 observation(s))
- Shell
- declared (1 observation(s))
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (11)
module = importlib.import_module(f"{PACKAGE}.{module_name}")return hashlib.sha1(data).hexdigest()
digest = hashlib.sha1(key.encode("utf-8")).hexdigest()[:12]digest = hashlib.sha1(key.encode("utf-8")).hexdigest()[:10].upper()frame = bytes.fromhex(str(plan["request_hex"]))
QPG_NAME_MARKER = bytes.fromhex("489a0c79c2511f38275a466efabc2398")code=bytes.fromhex('0700010000ff07 05a0010105 0700010200ff07 05a0010205 0700010000ff07 05a0010305 0700010200ff07 05a0010405 0701010100ff07 0702010000ff07 05a0111005')note=bytes.fromhex('07c103024e0007') # N, a separately sized note record(5,'V1:0:end{type=end:dim=1x1}',1,bytes.fromhex('0702021500ff07'),[2]),from __future__ import annotations
Gates applied: no_behavioural_pass.
6f638bf765cafull audit observations/trust-audit/mcp-server/purinzan__gx3-cli-mcp.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-11 | 6f638bf765ca | SAFE | B | 85 | first audit |
Questions
What is the gx3-cli-mcp MCP server?
Trace a GX Works3 ladder without opening GX Works3 — read-only CLI + MCP server so anyone (or an AI agent) can find why a coil never turns on.
Is gx3-cli-mcp safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (85/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does gx3-cli-mcp need?
No credential environment variables were found in its source, so it appears to need none.
How does gx3-cli-mcp run?
It speaks stdio, so it runs as a local process your client starts. It is published on PyPI as gx3-cli-mcp.
How current is this page?
The grade is for one exact copy of the source (6f638bf765ca), read on 2026-10-11. The repository is watched and re-audited when it changes.