Skip to main content
Glama

Proxy de comando MCP

Un servidor MCP (Protocolo de contexto de modelo) que actúa como proxy para comandos CLI, diseñado específicamente para el desarrollo de Expo pero adaptable para cualquier aplicación de línea de comandos.

Cómo usar en Cursor (ejemplo de Expo)

  1. Vaya al directorio de su proyecto Expo

  2. Ejecute npx mcp-command-proxy --prefix "ExpoServer" --command "expo start" --port 8383

  3. Vaya a Configuración del cursor -> MCP -> +Agregar nuevo servidor MCP, de la siguiente manera:
    agregar_servidor_mcp

  4. Establezca el nombre en "ExpoServer", escriba "SSE" y la URL en http://localhost:8383/sse

  5. Haz clic en "Guardar" y ya podrás usar el servidor MCP en Cursor. Así:servidor mcp en el cursor

Se recomienda usar el indicador --port 8383 para evitar conflictos con otros servidores. También puede agregar la siguiente instrucción al archivo .cursorrules:

You can use MCP getRecentLogs tool to get the most recent logs from Expo server. And if needed, you can send key presses to the running process using sendKeyPress tool.

Related MCP server: iTerm MCP

Características

  • Proxy de comandos : ejecute cualquier comando CLI a través del servidor MCP

  • Recopilación de registros : captura y almacena registros de procesos en ejecución (tamaño de búfer configurable)

  • Reenvío de pulsaciones de teclas : reenvía las pulsaciones de teclas del cliente al proceso en ejecución

  • Experiencia transparente : el usuario final ve el resultado del comando exactamente como si lo ejecutara directamente

  • Comandos interactivos : funciona con herramientas CLI interactivas como Expo

  • Integración con MCP : creada con el SDK de MCP para una fácil integración con Claude y otros asistentes de IA habilitados para MCP

Cómo funciona

  1. El servidor inicia un comando especificado en una pseudo-terminal (PTY)

  2. Toda la salida stdout/stderr es:

    • Transmitido al cliente en tiempo real

    • Almacenado en un buffer circular (tamaño configurable, predeterminado 300 líneas)

  3. Las pulsaciones de teclas del cliente se reenvían al proceso en ejecución

  4. El servidor proporciona herramientas para:

    • Ver registros recopilados

    • Enviar pulsaciones de teclas al proceso

    • Obtener el estado actual del proceso

Casos de uso

  • Desarrollo de Expo : Ejecute expo start e interactúe con él mientras recopila registros

  • Procesos de compilación : supervisar los procesos de compilación y analizar los registros

  • Servicios de larga duración : supervisar los servicios y mantener el historial de registros reciente

  • Ejecución remota de comandos : ejecutar y supervisar comandos desde clientes remotos

Requisitos

  • Node.js 18+

  • Mecanografiado

  • pnpm (recomendado) o npm

Instalación

# Install dependencies
pnpm install

# Build the project
pnpm build

# Run directly
pnpm start -- --prefix "MyServer" --command "expo start"

# Or install globally
pnpm install -g
mcp-command-proxy --prefix "MyServer" --command "expo start"

Uso

Uso básico

# Using the CLI
mcp-command-proxy --prefix "ExpoServer" --command "expo start"

# Or programmatically
import { createServer } from 'mcp-command-proxy';

const server = await createServer({
  prefix: 'ExpoServer',
  command: 'expo start',
  bufferSize: 500,
  port: 8080
});

// To stop the server later
server.stop();

Opciones

  • --prefix, -p : Nombre/prefijo del servidor (predeterminado: "CommandProxy")

  • --command, -c : Comando a ejecutar (obligatorio)

  • --buffer-size, -b : Número de líneas de registro que se mantendrán en la memoria (predeterminado: 300)

  • --port : Puerto para el servidor HTTP (predeterminado: 8080)

  • --help, -h : Mostrar ayuda

Integración MCP

Este servidor implementa las siguientes herramientas MCP:

  1. getRecentLogs : Devuelve los registros más recientes del búfer

    • Parámetros:

      • limit (opcional): Número de registros a devolver (predeterminado: 100)

      • types (opcional): tipos de registros a incluir (stdout, stderr, sistema) (predeterminado: todos)

  2. sendKeyPress : envía una pulsación de tecla al proceso en ejecución

    • Parámetros:

      • key : Tecla para enviar (ej. "enter", "a", "1", "espacio")

  3. getProcessStatus : Devuelve el estado actual del proceso

    • Parámetros: Ninguno

Ejemplos

Inicio de la Expo Running

mcp-command-proxy -p "ExpoServer" -c "expo start" -b 500

Usando con Claude

  1. Configurar a Claude para conectarse a este servidor MCP (punto final SSE: http://localhost:8080/sse )

  2. Pídele a Claude que ejecute Expo u otros comandos

  3. Claude puede analizar registros y ayudar a solucionar problemas.

Desarrollo

# Clone the repository
git clone https://github.com/hormold/mcp-command-proxy.git
cd mcp-command-proxy

# Install dependencies
pnpm install

# Build the project
pnpm build

# Run in development mode
pnpm dev

Licencia

Instituto Tecnológico de Massachusetts (MIT)

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    C
    maintenance
    A server that enables AI assistants to execute terminal commands and retrieve outputs via the Model Context Protocol (MCP).
    3
    26
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that gives AI models access to your iTerm terminal session, allowing them to read output, write commands, and send control characters.
    3
    556 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI assistants to interact with iTerm2 terminals, allowing creation and management of terminal sessions, command execution, and reading terminal output.
    5
    46 npm
    14
    ISC
  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that provides development and debugging tools for Expo-based React Native applications, enabling developers to manage Expo servers, capture logs, and manipulate project files.
    5
    1
    MIT