Connect
Personal plugin marketplace of Claude Code skills (slash commands)
npx -y skills add chienchuanw/chuan-skills --skill connectAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Install, register, and verify the gma2 MCP server so Claude can drive a grandMA2 lighting console (or onPC) over Telnet. Use this whenever the user wants to "connect to grandMA2", "set up the MA2 console", "install gma2 mcp", "hook up the lighting desk", asks why the gma2 tools aren't available, or is about to run any other gma2 skill (presets / setlist / bpm) and the server isn't connected yet. This is the entry point for the whole gma2 plugin — run it first.
SKILL.md
3.5 KB, as published. Nobody here has run it
gma2 connect
Register the gma2 MCP server with Claude Code, point it at the console, and
confirm the link is live by reading back the patch. Every other gma2 skill
(presets, setlist, bpm) assumes this server is connected.
What you need from the user
- Console IP (
GMA_HOST) — the address of the machine running grandMA2 / onPC, reachable on the network (e.g. an Ethernet link). Required. - User / password — default
administrator/admin. Ask only if non-default. - Path to the
gma2-mcprepo — the MCP server's code. Required to register it. Ask if you don't already know it (commonly~/Documents/gma2-mcp).
Steps
-
Register the server (replace the IP and repo path):
claude mcp add gma2 \ -e GMA_HOST=<IP> -e GMA_USER=administrator -e GMA_PASSWORD=admin \ -- uv --directory <path-to-gma2-mcp> run python -m src.serverTo re-point an existing registration,
claude mcp remove gma2first. -
Confirm registration:
claude mcp get gma2should show ✔ Connected. This only means the server process speaks the protocol — not that the Telnet link to the console is up (that happens lazily on the first real command). -
Heads-up the user about the next-session rule: a freshly added MCP server's tools (the
mcp__gma2__*tools) load on the next Claude Code session, not the current one. So you usually can't call them in the same session you added them. Tell the user to start a new session, then verify with a real command. -
Verify the console link (next session, or as a fallback now): ask Claude to run a harmless read like "list the groups" / "list fixtures 1 thru 60", or use the
send_raw_commandtool withList Group. Getting real patch data back is the true proof the Telnet link works.
Reading the patch (recommended)
Map the rig before doing anything else — other skills need the Fixture IDs. Query
List Fixture 1 Thru 1000 and List Group. This tells you which fixture types are
patched and at which IDs (e.g. frame = Fine 600L at 101–109).
Read-back gotcha: this console's Telnet truncates long replies if read too
fast. Use a generous read delay (≈1.5 s) and reasonable timeout, and prefer
List Fixture 1 Thru 1000 in one shot over many small ranges.
Troubleshooting
- First command fails / no patch — Telnet not enabled on the onPC (Setup → Network), wrong IP, or user/password mismatch. Port 30000 is the command port; 30001 is read-only log output.
Fixand "current page" are per-user — the server logs in asAdministrator, but the operator usually runs as a different user. Show data (sequences, macros, pages, views, executor assignments, button functions) is global and shared; only executor Fix and the current page are user-scoped. So aFixissued over this connection only affects Administrator's pages — the operator must fix on their own user. Correct syntax here isFix Executor x.y(a toggle); do not addOn.