npm.io
0.5.0 • Published 1h agoCLI

@eyejack-creator/mcp

Licence
UNLICENSED
Version
0.5.0
Deps
3
Size
55 kB
Vulns
0
Weekly
0

@eyejack-creator/mcp

EyeJack Creator MCP server — connect Claude Code / Codex / Cursor to a live EyeJack editing session. Your AI reads the scene, edits it (revision-checked writes land in the open editor live, with a human-readable action log) and sees it — the screenshot tool renders the editor's current view back to the model, closing the read → edit → inspect loop.

Claude Code ──stdio──► @eyejack/mcp ──► @eyejack/creator-api ──► AppSync (agent session token)

Connect

  1. Open your artwork in the EyeJack Creator and press Connect AI — it mints a short-lived session token scoped to that artwork only and shows the exact command:
claude mcp add eyejack \
  --env EYEJACK_SESSION_TOKEN=<token> \
  --env EYEJACK_STAGE=dev \
  -- npx -y @eyejack-creator/mcp

Other MCP clients consume the same {command, args, env} triple — Cursor (.cursor/mcp.json or Settings → MCP), Claude Desktop (claude_desktop_config.json), Codex (~/.codex/config.toml mcp_servers).

  1. Ask away: "What's in my scene?" · "Arrange the panels in a row" · "Duplicate the logo panel and place it on the left" — edits appear in your open editor as they happen.

The token lives as long as your editor tab (the tab heartbeats it; closing the tab lets it lapse within minutes). Pressing Connect AI anywhere supersedes the previous session — one active AI session per account.

Tools

Tool Does
get_scene Full structured snapshot: metadata, parsed scene document (unity-space, degrees), sceneRevision, referenced files
list_assets The artwork's asset files with usedInScene resolution
import_asset Upload a local media file (image/video/GLB) — the open editor ingests it through its normal transcode/upload pipeline and auto-places it in the scene
update_scene Whole-document, revision-checked scene write — applied live in the open editor with your ops action log; conflicts return the current scene to rebase on
publish_artwork Publish the artwork to its public launch URL (draft/disabled → published)
screenshot JPEG of the editor's current view, rendered by the open tab and relayed over AppSync (auto-degraded under the transport cap) — the agent's eyes
get_session_status Session scope, active state, expiry

Tool descriptions embed the scene-format contract so models handle coordinates/conventions correctly without external docs.

Develop

pnpm --filter @eyejack-creator/mcp build
# End-to-end smoke (spawns the server over stdio like a real client):
EYEJACK_SESSION_TOKEN=<token> node examples/smoke-client.mjs