Ikenga iyke (control bridge) MCP server
io.github.Royalti-io/ikenga-pkg-mcp-iyke·v0.1.2Drive a running Ikenga desktop app from MCP clients — DOM, click, type, navigate, screenshot.
0 stars234 downloads/wk
Reviews
Write oneNobody has reviewed Ikenga iyke (control bridge) yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Ikenga iyke (control bridge) tools (19, 1 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
iyke_clickClick an element. Specify exactly one of `ref` (from iyke_dom), `selector` (CSS), or `text` (innerText match). Refs are most reliable.
iyke_closeClose a pane (or the focused pane if pane_id omitted). Closes the entire pane and all its tabs — to close a single tab from the in-app keyboard, use ⌘⇧W (⌘W closes the whole pane). Refuses to close the last remaining pane.
iyke_devtoolsOpen Chrome DevTools for the main webview (debug builds only). Returns 503 in production builds.
iyke_domTake an accessibility-tree snapshot of the focused pane. Returns Playwright-style text plus structured JSON. Each interactive element gets a stable ref like e1, e2; pass that ref to iyke_click / iyke_type / iyke_key. Refs invalidate on the next snapshot or page navigation. Use `query` for substring filter, `all=true` to include hidden elements.
iyke_focusFocus a specific pane. Provide either pane_id (leaf id from iyke_state response — shell.panes.leaves[].id) or index (1-based DFS leaf index, matching the in-app ⌃1..⌃6 keyboard shortcuts).
iyke_goNavigate the focused pane to a route path inside the Ikenga desktop app (e.g. "/notes/today"). Path must start with "/". This replaces the focused pane's active tab content; use iyke_open with kind=route to add a new tab instead.
iyke_iframe_sendwrite actionSend a fire-and-forget postMessage to an iframe pane. The iframe bridge listens for known kinds (e.g. "story-select") and acts on the payload. Use to drive mini-app actions from outside the running app.
iyke_iframe_stateRead the latest published state object for an iframe pane (storyboard cursor, comp current frame, etc.). Iframes call publishState(key, value) from their iyke-bridge to expose runtime state for inspection.
iyke_keyDispatch a keyboard combo. Use names like "Enter", "Escape", "Tab", "ArrowDown", and modifiers Ctrl/Alt/Shift/Meta separated by + or , (e.g. "Ctrl+S", "Meta+K"). Optional `ref`/`selector` targets a specific element; otherwise the active element receives.
iyke_logsRead recent console + error logs (last 500) from the running webview. Includes window error and unhandledrejection captures.
iyke_modeSwitch the activity-bar sidebar mode. Valid modes: app, files, agents, sessions, settings, storyboard, video-engine, canvas-design, image-generator. The first five are core; the rest are mini-apps.
iyke_networkRead recent fetch + XHR network activity (last 100). Each entry has method, url, status, duration_ms, and error if it failed.
iyke_openOpen a new tab in the focused pane. `kind` selects the view type. For "route" pass `path`; "terminal" optionally `cmd` (a shell command string); "chat" requires `session_id`; "artifact" requires `path`; "mini-app" requires `name`.
iyke_query_cacheDump the TanStack Query cache: queryKey, status, fetchStatus, isStale, dataUpdatedAt, errorUpdatedAt, error, and a 200-char data preview for each entry. Useful for diagnosing stale data or failed fetches.
iyke_screenshotCapture a PNG screenshot of either the full window or a specific pane. Returns the saved path, dimensions, and byte count. Default writes to ~/.local/share/ikenga/screenshots/.
iyke_splitSplit the focused pane (or a specific pane via pane_id) into two. "horizontal" splits side-by-side; "vertical" splits top-bottom. Subject to the in-app MAX_LEAVES cap (currently 6).
iyke_stateGet the current state of the Ikenga desktop app — sidebar mode, focused pane route, and the full pane tree under shell.panes. shell.panes has shape { leaves: [{ id, focused, activeTabIdx, tabs: [{kind,title}] }], tree: <recursive PaneNode> }; use leaves[].id with iyke_focus or iyke_close (pane_id) to operate on a specific pane. Call this before iyke_go / iyke_mode / iyke_focus / iyke_close to chec
iyke_typeType text into an input/textarea/contenteditable element. Specify exactly one of `ref` or `selector`. By default appends; pass `replace=true` to overwrite the existing value.
iyke_waitWait until a predicate is satisfied or timeout. Use this after iyke_click / iyke_go to wait for the new state to render, instead of fixed sleeps. Returns { satisfied, elapsed_ms, message? }.
Public scan report
scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it
- Code scan11 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancerepository archived0/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year9/10
Findings (1)
- highRepository is archived
maint.archived
How Ikenga iyke (control bridge) compares
Against every graded Productivity MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 71/100
- higher than 32% of 1,299 Productivity servers
- Tools
- 19
- the typical Productivity server has 7
- Tools that change things
- 5%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 234
- more than 73% of 427 Productivity servers with a package
What its tools let an agent do: 18 read · 1 change
Install Ikenga iyke (control bridge) in Claude Code, Cursor or VS Code
Runs npx -y @ikenga/mcp-iyke on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add ikenga-pkg-mcp-iyke -- npx -y @ikenga/mcp-iyke
What the publisher says
From the Ikenga iyke (control bridge) repository's README, as published. We do not edit it. Read it on GitHub
[!IMPORTANT]
## This repository has moved — do not build from it
Development of @ikenga/mcp-iyke continues in the ikenga-pkgs monorepo:
### → Royalti-io/ikenga-pkgs/packages/mcp/iyke
This repo was last updated on 15 May 2026 and is now archived and read-only.
Why this matters if you cloned it. The state left here is neither the last
release nor the current one: its package.json declares 0.1.2, but its
source carries a partially-migrated tool set from the period before the code
moved back into the monorepo. Building from this tree gives you something that
was never published. Anything you install from npm is unaffected.
- npm (unchanged, still the right package): @ikenga/mcp-iyke
- Issues and PRs: please open them on ikenga-pkgs
@ikenga/mcp-iyke
A Model Context Protocol server that exposes the Ikenga desktop app's iyke control bridge — so any MCP client (Claude Code, Cursor, custom agents) can drive a running Ikenga session the same way a developer types into the iyke CLI at a shell.
What this is
Ikenga is a Tauri-based AI workspace shell with a manifest-driven package kernel. While the app is running, it exposes a localhost HTTP server (with a bearer token in control.json) that lets external tools introspect and drive the live UI: switch panes, navigate routes, take DOM snapshots, click elements, read logs, capture screenshots.
This package wraps that HTTP server in MCP so an LLM agent can use it natively. Tools mirror the iyke CLI subcommands.
Install
Via Claude Code (recommended)
npm install -g @ikenga/mcp-iyke
claude mcp add iyke -s user -- iyke-mcpAfter that, any Claude Code session can call iykestate, iykego, iykemode, iykeopen, iykesplit, iykefocus, iykeclose, plus the runtime-inspection tools (iykedom, iykelogs, iykenetwork, iykescreenshot, iykewait, iykeclick, iyketype, iykekey, iykequerycache, iykedevtools), iframe tools (iykeiframestate, iykeiframesend) and project tools (iykeprojectcreate, iykeprojectupdate, iykeprojectlist, iykeprojectarchive, iykeprojectsetactive, iykeprojectgetactive).
Via npx (no install)
claude mcp add iyke -s user -- npx -y @ikenga/mcp-iykeFrom source (for contributors)
git clone https://github.com/Royalti-io/ikenga-pkg-mcp-iyke.git
cd ikenga-pkg-mcp-iyke
npm install
npm run buildThen point your MCP client at node /path/to/ikenga-pkg-mcp-iyke/dist/index.js.
Tools
Layout & navigation
Runtime inspection & driving
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Ikenga iyke (control bridge): common questions
- Is Ikenga iyke (control bridge) MCP server safe?
- Mostly: it is graded B (71/100). Read the Ikenga iyke (control bridge) safety report
- How do I install Ikenga iyke (control bridge)?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Ikenga iyke (control bridge) need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Ikenga iyke (control bridge) maintained?
- The last commit was 85 days ago (2026-08-11). The latest release is v0.1.2.
- What can I use instead of Ikenga iyke (control bridge)?
- Servers from other publishers that do the same job: DOMShell MCP server, Renforge MCP server and iPhone Use MCP server. Compare all Ikenga iyke (control bridge) alternatives.
- How does Ikenga iyke (control bridge) compare with other Productivity MCP servers?
- safety score 71/100 (higher than 32% of 1,299 Productivity servers); tools 19 (the typical Productivity server has 7); tools that change things 5% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Ikenga iyke (control bridge)
Same job from other publishers: the closest match first, then the best rated.
DOMShellDrive Chrome with filesystem commands (ls, cd, grep, click, type). One MCP tool, multi-agent.not reviewedGrowingA- RenforgeInspect, drive and debug a running Ren'Py game: state, screenshots, guarded clicks, saves, builds.not reviewedGrowingA
iPhone UseDrive a real iPhone from a Mac: read the screen as text, tap, type, scroll, replay saved flows.not reviewedGrowingB- HunchFocus-free macOS control for AI agents: drive your real Mac apps in the background, no stolen focus.not reviewedGrowingA
- TailscaleDrive a Tailscale node and its tailnet through the CLI and the control-plane APInot reviewedGrowingB