Ink Dev MCP
Provides tools for inspecting, validating, and debugging React/Ink terminal applications, including analyzing dependencies and Ink/React versions, launching Ink CLIs, sending keystrokes, resizing the terminal, waiting for output, and capturing screen snapshots.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Ink Dev MCPrun my Ink CLI, wait for the prompt, press ArrowDown and Enter, then inspect the screen"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Ink Dev MCP
Local stdio-only MCP server for inspecting, exercising and debugging React/Ink terminal applications.
Install
Requires Node.js 24.11+ and a native build toolchain for node-pty (Python, make, C/C++ compiler).
npm install
npm run buildConfigure your MCP client to spawn the server over stdio:
{
"mcpServers": {
"ink-dev": {
"command": "node",
"args": ["/absolute/path/to/ink-mcp/dist/index.js"],
"env": {
"INK_MCP_WORKSPACE_ROOT": "/absolute/path/to/workspace",
"INK_MCP_ALLOW_EXECUTION": "1"
}
}
}
}This is not an HTTP service. It does not listen on a port and must not print diagnostics to stdout.
Related MCP server: ptywright
MCP tools
Tool | Description |
ink_project_inspect | Inspect package dependencies, scripts and Ink/React versions |
ink_project_validate | Find missing dependencies and version compatibility issues |
ink_docs_search | Query bundled Ink reference snippets; no network requests |
ink_run_start | Start an Ink CLI with a real pseudoterminal |
ink_run_screen | Inspect the current visible screen using xterm/headless |
ink_run_keys | Send text, arrows, Enter, Escape, Tab, Backspace and Ctrl keys |
ink_run_resize | Resize the PTY and screen emulator |
ink_run_wait | Wait for text, screen change, stability or exit |
ink_run_output | Retrieve bounded raw PTY output (combined stdout/stderr) |
ink_run_status | Inspect process state and exit code |
ink_run_stop | Terminate and clean up a run |
Example development loop
Call ink_project_inspect with projectRoot ".".
Call ink_run_start with projectRoot ".", executable "node" and args ["dist/cli.js"].
Use ink_run_wait with condition "text_present" and the expected prompt.
Send keys with ink_run_keys (for example ["ArrowDown", "Enter"]).
Inspect the current screen with ink_run_screen, and verify the expected result.
Stop the process with ink_run_stop.
Run handles persist across MCP calls until explicitly stopped or until the server disconnects. The screen snapshot is the current terminal viewport, not raw output with ANSI stripped.
Local execution safety
PTY code execution is disabled by default. Set INK_MCP_ALLOW_EXECUTION=1 to enable it. INK_MCP_WORKSPACE_ROOT defaults to the server working directory and restricts project paths. The server bounds simultaneous processes, history, terminal dimensions, user input and waits.
Local code execution is not sandboxed. A trusted project's executable has the user's permissions. Do not use this server to execute untrusted projects. Do not expose the stdio process through a network bridge without separately designing isolation and authentication.
ESM and CommonJS
The published @xterm/headless package has a CommonJS entry point that may fail when imported with ESM named exports on Node 24. The runtime uses createRequire(import.meta.url) to load it and node-pty, and Vite leaves both dependencies external.
Development
npm run lint
npm run format:check
npm run build
npm run test:ci
npm run test:smoke
npm run verify:skill-packageThe smoke test launches the compiled dist/index.js over MCP stdio and checks tool discovery. This protects against type-check-passing but runtime-failing ESM import regressions.
Use MCP Inspector to exercise the server:
npx @modelcontextprotocol/inspector node ./dist/index.jsDocumentation guidance is bundled and indicative. Verify API details against the exact Ink version installed in the target project.
Repo structure
src/index.ts — stdio entry point
src/tools.ts — MCP tool registration and validated schemas
src/runtime/registry.ts — PTY lifecycle and headless terminal screen
src/runtime/project.ts — project analysis and curated documentation
src/skills.ts and skills/ — agent skill publishing
scripts/smoke-stdio.mts — compiled entry-point integration test
This server cannot be deployed
Maintenance
Related MCP Connectors
Live browser debugging for AI assistants — DOM, console, network via MCP.
Develop, manage, and debug Railway projects, services, and deployments from within agents.
Drive and test your React Native and Expo apps end-to-end on iOS and Android. Supports real devices, simulators, and emulators. Snapshots, taps, typing, swipes, screenshots, deep links, reloads, builds and runtime errors.
MCP server for visual regression testing: triage a PR's UI diffs from your coding agent.
Related MCP Servers
- AlicenseAqualityDmaintenanceWhat Chrome DevTools MCP is for the browser, tui-mcp is for the terminal. Launch any TUI app, take screenshots, send keystrokes, read text - works with any framework.1322 npm14MIT
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients to launch and interact with terminal/TUI programs, providing tools to inspect and control live CLI/TUI sessions.6 npm1Apache 2.0
- AlicenseBqualityDmaintenanceEnables AI assistants to test Terminal User Interface (TUI) applications by launching, interacting with, and verifying programmatic output and behavior.1219MIT
- FlicenseNot gradedqualityCmaintenanceEnables end-to-end testing of CLI applications, REPLs, and TUIs by driving interactive pseudo-terminal sessions and reading clean rendered output through any MCP client.-