Skip to main content
Glama

ShadowRun

Un proxy stdio local-first para servidores MCP. Se sitúa entre un agente de IA (Claude Code, Cursor, etc.) y un servidor MCP real, intercepta llamadas a herramientas destructivas (escrituras, eliminaciones, mutaciones SQL, ...) antes de que se ejecuten, y las mantiene en memoria hasta que confirmes (commit) o descartes (discard) desde un panel local.

A diferencia de un interceptor ingenuo de "éxito falso", ShadowRun no responde al agente hasta que se resuelve una llamada interceptada. Fingir una respuesta (por ejemplo, para un INSERT ... RETURNING id) permite que el agente actúe sobre datos que aún no existen y desvía su estado de creencia de la realidad — por lo que las llamadas interceptadas simplemente esperan (con un tiempo de espera) en su lugar.

Alcance (v0.1)

Esto es intencionadamente limitado: un CLI para un solo desarrollador para servidores MCP locales (Postgres, sistema de archivos, etc.) usado con Claude Code / Cursor. No es una puerta de enlace para aplicación de políticas de equipo, no tiene autenticación y no tiene persistencia entre reinicios — consulta Limitaciones a continuación antes de confiar en ello para algo más allá que tu propia máquina.

Related MCP server: Agentrim MCP

Instalación y ejecución

npm install
npm run build

Apunta la configuración de tu agente al proxy en lugar del servidor real:

{
  "mcpServers": {
    "postgres": {
      "command": "node",
      "args": [
        "/path/to/shadowrun-mcp/dist/index.js",
        "npx", "-y", "@modelcontextprotocol/server-postgres",
        "postgresql://localhost:5432/devdb"
      ]
    }
  }
}

Abre http://127.0.0.1:4040 para ver las mutaciones pendientes, y Confirma (Commit) o Descarta (Discard) cada una. Las llamadas de solo lectura (get*, list*, search*, ...) pasan directamente y nunca aparecen en el panel.

Cómo funciona la clasificación

Consulta src/interceptor.ts — DEFAULT_CONFIG. Una llamada a una herramienta se intercepta si su nombre coincide con un patrón de verbo mutante (write, delete, create, ...) y no coincide primero con un patrón de lectura segura, o si algún argumento de cadena contiene una palabra clave de mutación SQL (insert into, drop table, ...). Esto es una heurística, no una garantía — consulta Limitaciones.

Limitaciones

  • Clasificador heurístico. Las expresiones regulares sobre nombres de herramientas y texto de argumentos pasarán por alto herramientas mutantes con nombres ingeniosos y pueden interceptar en exceso herramientas de lectura con nombres extraños. Trátalo como un tope de velocidad, no como un límite de seguridad.

  • Sin autenticación en el panel. Se vincula solo a 127.0.0.1, pero cualquier proceso local (o una página maliciosa que haga DNS rebinding, en teoría) que pueda alcanzar ese puerto puede confirmar/descartar. No ejecutes esto en una máquina compartida o no confiable.

  • Solo en memoria. Reiniciar el proxy elimina todas las mutaciones pendientes — la llamada original del agente simplemente agotará el tiempo de espera.

  • Desarrollador único, uso local. No hay un registro de auditoría compartido ni aplicación de políticas a nivel de equipo. Si necesitas eso, considera mejor una puerta de enlace MCP alojada.

Licencia

AGPL-3.0

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Zero-dependency local proxy that wraps any MCP server to redact secrets, strip hidden-Unicode prompt injection, and block writes to protected paths like ~/.ssh and .env.
    4
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A least-privilege enforcement proxy for MCP servers. It sits between MCP clients and upstream servers, enforcing tool policies, hiding denied tools, requiring human approval for risky actions, and providing a structured audit trail.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A zero-infrastructure, local proxy that wraps any stdio MCP server to add audit logging, policy enforcement with regex guards, and per-session/per-day budgets.
    MIT