Sno Station
Sno Station은 AI 에이전트를 하나의 팀으로 묶는 오픈소스 워크스테이션으로, 로컬 머신에서 에이전트 협업을 가능하게 함
MX Stage는 AI 비서가 로컬 시트에서 IBM Maximo 데이터를 수정하도록 돕습니다
MX Stage lets your AI assistant (Claude, ChatGPT, IBM Bob) correct IBM Maximo data on a local staging sheet. Review the diff, then commit yourself.
플러그인TypeScript · JavaScriptGitHub @mxstage온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Local-only AI workbench for correcting IBM Maximo data: every change is staged, diffed and approved by a human before it is written to Maximo.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
MX Stage is a local-only AI workbench for correcting IBM Maximo data with your own AI assistant (Claude Desktop, ChatGPT, IBM Bob): every change is staged, diffed and approved by a human before it is written to Maximo.README 전문 보기 ↗English | 日本語
MX Stage is a local-only AI workbench for correcting IBM Maximo data with your own AI assistant (Claude Desktop, ChatGPT, Antigravity, IBM Bob): every change is staged, diffed and approved by a human before it is written to Maximo.
Website: https://mxstage.tsunagi.app · Contact: [email protected]
mxstage-demo.pages.dev (nothing is sent). Installs made with the setup script then update themselves while no work is open (the new version from GitHub, its packages from the npm registry); the Claude Desktop extension downloads the new file from GitHub and checks it for you to install. A small local process (the bridge) serves the work screen, talks MCP to your AI assistant and relays requests to Maximo, so Maximo needs no CORS settings. Your Maximo API key is saved on this PC by the bridge, encrypted with Windows data protection (DPAPI), and is not sent to the browser (on macOS, untested, the Keychain protects it; on Linux, a file only your user can read). Every window of the work screen — the installed app, a browser tab, or the browser inside your AI assistant — connects automatically, even after a restart, and you can switch between saved Maximo environments in Settings. (You can also connect without saving; the key then stays only in the tab's memory.)Several Maximo MCP servers let the AI call the REST API. That is fine for reading, but risky for bulk changes: you cannot see what the AI is about to write, and a wrong guess goes straight into production. MX Stage puts a staging sheet, a diff, an undo and a human approval in between.
| Assistant | Status |
|---|---|
| Claude Desktop (chat and Code tab) | Supported |
| ChatGPT desktop — Codex or Work mode (Chat mode cannot use local MCP servers) | Supported |
| Antigravity (2.0, IDE) | Supported (registered by the installer) |
| IBM Bob | Supported (registered by the installer) |
| Claude Code, Codex CLI and IDE extension | Work, not officially supported |
npx @mxstage/mxstage) needs Node.js 20 or later./maximo/api and an API keymxstage-<version>.mcpb from the latest release.http://127.0.0.1:8788/app in Chrome or Edge and enter your Maximo URL and API key in Settings. Never paste the API key into the chat.The extension needs no Node.js or Git: Claude Desktop runs it. To use MX Stage from other assistants as well (ChatGPT desktop, IBM Bob, Claude Code in the terminal, Antigravity), use the installer below; it detects the extension and does not register MX Stage twice.
No Maximo at hand? MX Stage includes a demo: a fictional Maximo with three waste incineration plants (assets, locations, about 52,000 work orders, inventory and the data quality problems migrations leave behind), in Japanese or English, running inside the bridge on your PC.
http://127.0.0.1:8788/settings#demo.mxstage-demo.pages.dev and checks it against a SHA-256 built into this version.Commits change only the copy on your PC (Reset to the initial state puts it back), and no license is needed. The demo takes about 0.5 GB of memory while in use. Five sample Excel files to merge with Maximo (purchase orders without work order numbers, a legacy equipment register, daily work reports printed as A4 forms (a repair log table in the English data), an equipment register ahead of Maximo, a star chart) are in the same tab. See docs/demo.en.md.
The mxstage plugin in plugin/ adds two Skills to Claude (planning a safe bulk correction of Maximo data; explaining, installing and troubleshooting MX Stage) and, in Claude Code and Cowork, starts the MX Stage server with npx @mxstage/mxstage (Node.js 20 or later). Chat does not start local servers, so use the extension there. In Claude Code: /plugin marketplace add mxstage/mxstage, then /plugin install mxstage@mxstage.
Ask Claude Code (or the Code tab of Claude Desktop) to install it: give it this repository's URL and say "install this". It follows Installation steps for Claude Code below and asks before running each command.
To install by hand, clone this repository to %USERPROFILE%\mxstage and run node scripts/setup-local.mjs in it.
One install registers MX Stage with every supported assistant found on this PC. Then restart the assistant you use, open mxstage on the desktop (or http://127.0.0.1:8788/app), and enter your Maximo URL and API key in Settings. Never paste the API key into the chat.
In Settings, also choose for each Maximo whether it is production or test. Committing to production needs a license (see License); everything else is free.
MCP clients that start servers with npm can also run the server alone with npx -y @mxstage/mxstage (Node.js 20 or later; the Skills and shortcuts come only with the installer).
To update, say "update MX Stage"; to remove it, say "uninstall MX Stage" (see Uninstall).
~ is %USERPROFILE%. The installer only touches assistants that are installed (Claude Desktop: its settings folder exists; Antigravity: ~\.gemini; Codex: ~\.codex; IBM Bob: ~\.bob), backs up every file before changing it (to ~\.config\mxstage\backup\), and never changes other servers' settings. node scripts/setup-local.mjs --status shows what is registered without changing anything. To leave an assistant out, add --no-claude-desktop, --no-antigravity, --no-codex or --no-bob (--no-skills copies no Skills). --claude-code registers Claude Code even when the extension is enabled.
| Assistant | MCP server | Skills | After installing or updating |
|---|---|---|---|
| Claude Code (CLI) | mcpServers.mxstage in ~\.claude.json. Not registered when the MX Stage extension (.mcpb) is enabled in Claude Desktop, because the Code tab already gets MX Stage from the extension and would show every tool twice (an entry the installer added earlier is removed). Add --claude-code to register anyway for Claude Code in a terminal (remembered for later runs) | ~\.claude\skills\<name>\SKILL.md | Restart Claude Code |
| Claude Desktop (Code tab) | Same as Claude Code, or the extension (.mcpb) when it is enabled | Same as Claude Code | Quit Claude Desktop from the system tray and open it again |
| Claude Desktop (chat) | mcpServers.mxstage in %APPDATA%\Claude\claude_desktop_config.json. Microsoft Store version: also in %LOCALAPPDATA%\Packages\Claude_<publisher ID>\LocalCache\Roaming\Claude\claude_desktop_config.json when that folder exists. Not registered when the MX Stage extension (.mcpb) is installed and enabled in Claude Desktop (an entry the installer added earlier is removed) | Not copied (see Skills) | Quit from the system tray (closing the window is not enough) and open again |
| Antigravity | mcpServers.mxstage in ~\.gemini\config\mcp_config.json | ~\.gemini\config\skills\<name>\SKILL.md | Start a new conversation |
| Codex (ChatGPT desktop, CLI, IDE extension) | [mcp_servers.mxstage] in ~\.codex\config.toml | ~\.agents\skills\<name>\SKILL.md | Restart Codex |
| IBM Bob | mcpServers.mxstage in ~\.bob\settings\mcp.json | ~\.bob\skills\<name>\SKILL.md | Restart IBM Bob |
The installer copies the 17 built-in Skills (the index mxstage-workbench, the basic operations mxstage-core-* and the standard objects mxstage-obj-*) and your own Skills (in ~\.config\mxstage\skills\). Assistants that get no Skill files (Claude Desktop chat, the agy CLI) still receive the index and the list of Skills in tool results (see Skills).
Screen names are those in each product's documentation (English UI, September 2026).
| Assistant | MCP (mxstage and its tools) | Skills (mxstage-workbench and others) |
|---|---|---|
| Claude Code (CLI) | /mcp in a conversation (list and connection state). In a shell: claude mcp list, claude mcp get mxstage | /skills in a conversation. Typing / shows /mxstage-workbench |
| Claude Desktop (Code tab) | + in the input box → Connectors | Type / in the input box, or + → Slash commands |
| Claude Desktop (chat) | + in the input box → Connectors → Manage connectors shows the tools. Connection state and logs: Settings → Developer (log: %APPDATA%\Claude\logs\mcp-server-mxstage.log) | Not shown (no files are copied). Ask "show the MX Stage Skills" and the tools return the list |
| Antigravity 2.0 | Settings at the bottom left (Ctrl+,) → Customizations → Installed MCP Servers (refresh to reload) | The same Customizations. Call one with /<name> in a conversation |
| Antigravity IDE | … at the top of the agent panel → MCP Servers → Manage MCP Servers (View raw config opens the file) | Customizations in the agent panel |
agy CLI | /mcp in a conversation | Not shown (no files are copied) |
| Codex (ChatGPT desktop) | Settings → MCP servers. /mcp in the input box | Skills on the left. Type @ in the input box to pick one |
| Codex CLI | codex mcp list. /mcp in a conversation | /skills in a conversation, or $mxstage-workbench |
| Codex IDE extension | Gear menu → MCP servers | /skills, or type $ to pick one |
Say "uninstall MX Stage" to Claude Code, or run in %USERPROFILE%\mxstage:
node scripts/setup-local.mjs --uninstall
This removes the mxstage entries from every assistant (restoring any setting the installer replaced), the Skills it copied (unless you edited them), the sign-in shortcut and desktop shortcut, and the bridge it started. It keeps your own Skills (~\.config\mxstage\skills\) and the backups. To remove everything, also delete %USERPROFILE%\mxstage and ~\.config\mxstage (the backups are full copies of the original settings files, including any tokens in them), and clear the site data for 127.0.0.1:8788 in your browser.
The installer has no option to remove a single assistant, so delete only the mxstage entry from that assistant's settings. Other servers' settings stay.
| Assistant | Remove the MCP server | Remove the Skills |
|---|---|---|
| Claude Code (CLI) | claude mcp remove --scope user mxstage | In ~\.claude\skills\, delete the folders MX Stage copied (mxstage-workbench, mxstage-core-*, mxstage-obj-* and your own Skills' names) |
| Claude Desktop (chat and Code tab) | Settings → Developer → Edit Config opens claude_desktop_config.json: delete the "mxstage" entry under mcpServers and reopen Claude Desktop. To remove it from the Code tab too, also remove it from Claude Code | None in chat. The Code tab uses Claude Code's |
| Antigravity | Delete the "mxstage" entry under mcpServers in ~\.gemini\config\mcp_config.json (View raw config in the IDE opens it) | Delete the same folders in ~\.gemini\config\skills\ |
| Codex | Delete the [mcp_servers.mxstage] table (up to the next [ line) in ~\.codex\config.toml and reopen Codex | Delete the same folders in ~\.agents\skills\ |
| IBM Bob | Delete the "mxstage" entry under mcpServers in ~\.bob\settings\mcp.json and restart IBM Bob | Delete the same folders in ~\.bob\skills\ |
Running the installer again registers it with that assistant again, unless you add --no-claude-desktop, --no-antigravity, --no-codex or --no-bob (Claude Code has no such option, but it is not registered while the MX Stage extension is enabled in Claude Desktop, unless you add --claude-code).
When the user asks to install MX Stage, follow these steps and get the user's approval before each command.
node --version (22.6 or later) and git --version. If missing, with the user's agreement install them with winget install OpenJS.NodeJS.LTS / winget install Git.Git, then confirm node and git work in a new shell.%USERPROFILE%\mxstage (~/mxstage on macOS and Linux):
git clone <this repository URL> "%USERPROFILE%\mxstage"git pull --ff-only in it (if local changes block it, stop and tell the user)node scripts/setup-local.mjs --json. This also runs npm install and builds the work screen. Do not use mxstage.cmd (it waits for a key press at the end).steps has "level": "error". For error or warn, tell the user its message and hint and follow the hint. Do not edit settings files by guesswork.http://127.0.0.1:8788/app), and never to paste the API key into the chat.Update: steps 2 to 4. Ask the user to restart their assistant afterwards so the new bridge is used. Uninstall: node scripts/setup-local.mjs --uninstall --json. Status: node scripts/setup-local.mjs --status --json (changes nothing).
| What | Details |
|---|---|
| Bridge | Starts on port 8788 (fixed, never shifted). There is one per PC; bridges started by AI assistants relay to it |
| MCP and Skills | Registers them as in Where it is registered. To leave some out: --no-claude-desktop, --no-antigravity, --no-codex, --no-bob, --no-skills |
| Startup and shortcuts | A shortcut that starts the bridge at sign-in, and mxstage on the desktop |
Running it again is safe. See docs/local.md (in Japanese) for details.
A Skill is a procedure the AI assistant follows.
| Location | Contents | Updates | |
|---|---|---|---|
| Built-in: index | skills/mxstage-workbench | The rules for every task and which Skill to read when | Replaced with MX Stage updates; do not edit |
| Built-in: basic operations | skills/mxstage-core-* (8) | Loading, analysing, changing, matching, importing, committing, the work screen, writing Skills | Same |
| Built-in: standard Maximo objects | skills/mxstage-obj-* (8) | Assets and meters, locations, classifications and specifications, work orders, PMs and job plans, items and inventory, purchasing, reference data: what Maximo does with them, what MX Stage can change and the traps | Same |
| A customer's | The connection's folder, with its dictionaries (skills/<name>/versions/) | That customer's environment (custom objects, attributes, rules) and repeated tasks | Shared with the members who use the same folder; every save is a new version. Given to the AI only while the work screen is connected to that customer |
| Yours on this PC | ~/.config/mxstage/skills/<name>/SKILL.md | Your own procedures for any connection | Kept across updates and never sent anywhere. Names starting with mxstage are reserved |
get_skill.The detailed guides are in Japanese for now, except the demo guide:
npm run typecheck # tsc (app and bridge)
npx vitest run # tests (app, bridge and the demo data generator)
npm run test:setup # installer tests (write only to temporary folders)
npm run build # build the built-in Skills and the work screen (dist/app)
npm run dev:app # dev server for the work screen (http://localhost:5173/app?samples=1 shows sample data; relays to the dev bridge on 8790)
npm run dev:fake-maximo # a fake Maximo at https://127.0.0.1:9797 (API key: test-api-key)
npm run dev:bridge # a bridge on port 8790 that accepts the development license for the fake Maximo
node scripts/check-publish.mjs --worktree # checks before pushing (docs/publish.md)
Disable IBM telemetry when installing dependencies ($env:IBM_TELEMETRY_DISABLED='true'; npm install in PowerShell); the installer does this itself. See dev/README.md for developing and testing license checks.
Only test commits against a development Maximo with dummy data. There is no automatic rollback of changes written to Maximo.
MX Stage is licensed under the Business Source License 1.1. The source is available, but it is not open source. The LICENSE file is authoritative; this is a summary.
IBM and Maximo are trademarks of International Business Machines Corporation. MX Stage is an independent product and is not affiliated with or endorsed by IBM.