Allows running Expo development server commands, specifically 'expo start', with the ability to capture logs and interact with the Expo CLI through key presses
Click on "Install 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., "@MCP Command Proxyshow me the recent logs from the Expo server"
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.
MCP Command Proxy
An MCP (Model Context Protocol) server that acts as a proxy for CLI commands, specifically designed for Expo development but adaptable for any command-line application.
How to use in Cursor (Expo example)
Go to the directory of your Expo project
Run
npx mcp-command-proxy --prefix "ExpoServer" --command "expo start" --port 8383Go to Cursor settings -> MCP -> +Add new MCP server, like this:

Set the name to "ExpoServer", Type to "SSE", URL to
http://localhost:8383/sseClick "Save" and you should now be able to use the MCP server in Cursor. Like this:

Recommended to use the --port 8383 flag to avoid conflicts with other servers.
Also, you can add following instruction to .cursorrules file:
Related MCP server: OpenAPI to Model Context Protocol (MCP)
Features
Command Proxying: Run any CLI command through the MCP server
Log Collection: Capture and store logs from running processes (configurable buffer size)
Key Press Forwarding: Forward key presses from client to the running process
Transparent Experience: The end user sees the command output exactly as if they ran it directly
Interactive Commands: Works with interactive CLI tools like Expo
MCP Integration: Built using the MCP SDK for easy integration with Claude and other MCP-enabled AI assistants
How It Works
The server starts a specified command in a pseudo-terminal (PTY)
All stdout/stderr output is:
Streamed to the client in real-time
Stored in a circular buffer (configurable size, default 300 lines)
Key presses from the client are forwarded to the running process
The server provides tools to:
View collected logs
Send key presses to the process
Get the current state of the process
Use Cases
Expo Development: Run
expo startand interact with it while collecting logsBuild Processes: Monitor build processes and analyze logs
Long-running Services: Monitor services and keep recent log history
Remote Command Execution: Execute and monitor commands from remote clients
Requirements
Node.js 18+
TypeScript
pnpm (recommended) or npm
Installation
Usage
Basic Usage
Options
--prefix, -p: Name/prefix for the server (default: "CommandProxy")--command, -c: Command to run (required)--buffer-size, -b: Number of log lines to keep in memory (default: 300)--port: Port for HTTP server (default: 8080)--help, -h: Show help
MCP Integration
This server implements the following MCP tools:
getRecentLogs: Returns the most recent logs from the bufferParameters:
limit(optional): Number of logs to return (default: 100)types(optional): Types of logs to include (stdout, stderr, system) (default: all)
sendKeyPress: Sends a key press to the running processParameters:
key: Key to send (e.g. "enter", "a", "1", "space")
getProcessStatus: Returns the current status of the processParameters: None
Examples
Running Expo Start
Using with Claude
Configure Claude to connect to this MCP server (SSE endpoint: http://localhost:8080/sse)
Ask Claude to run Expo or other commands
Claude can analyze logs and help troubleshoot issues
Development
License
MIT