Skip to main content
Glama

GPT Harness

Una pasarela MCP autoalojada que permite que ChatGPT Web ejecute comandos de shell en un servidor que tú controlas.

[!ADVERTENCIA] Esto es un experimento personal, no un producto. Entrega comandos de shell completos a un modelo de lenguaje y los ejecuta en tu servidor. Lee Acerca del modelo de seguridad antes de ejecutarlo.

Por qué existe esto

ChatGPT Web razona bien sobre código. Con el conector de GitHub lee y edita un repositorio. Lo que no puede hacer es ejecutar nada, porque su propio entorno no tiene acceso a la red. No puede instalar una dependencia ni ejecutar una suite de pruebas.

Codex puede hacer ambas cosas, pero el uso agéntico se factura y limita por separado del chat. El chat se agota mucho más tarde, o no se agota.

La pasarela cierra esa brecha. ChatGPT decide qué hacer, y tu servidor lo hace. Tu cuota de mensajes se convierte en el límite en lugar de una asignación de agente.

@gpt-harness work this ticket
  git clone, write code, npm ci, npm test, repeat until green

@gpt-harness review this PR <link>
  gh pr checkout, run its tests, report back

Related MCP server: Personal AIVA MCP Bootstrap

Lo que expone

Cuatro herramientas: bash, bash_output, bash_kill y write_file. La Referencia de herramientas documenta los argumentos, resultados y límites.

No hay herramienta de espacio de trabajo ni concepto de espacio de trabajo. Los proyectos son directorios bajo HARNESS_ROOT, y ChatGPT usa ls y mkdir como cualquier otra persona.

Tres de las cuatro herramientas existen por una única restricción. Una sola llamada a herramienta no puede permanecer abierta durante los varios minutos que tarda npm ci, así que bash devuelve un identificador cuando un comando supera su espera de 20 segundos, bash_output lee desde un cursor, y bash_kill detiene un comando que no termina.

Los comandos no son interactivos. stdin lee fin de archivo inmediatamente, así que ChatGPT tiene que pasar banderas como npm ci y gh --yes. Cada comando se ejecuta en su propio grupo de procesos, así que detener uno detiene todo lo que inició.

Requisitos

  • Un servidor Linux con systemd, un dominio y TLS

  • Node.js 24

  • Un inquilino de Auth0

  • Una cuenta de ChatGPT con modo desarrollador disponible

Ejecútalo localmente

git clone https://github.com/salman-frs/gpt-harness.git
cd gpt-harness
npm ci
cp .env.example .env

Apunta HARNESS_ROOT a un directorio que puedas desechar, completa los valores de Auth0 desde Conecta ChatGPT a la pasarela, y luego inícialo:

npm run dev
curl -fsS localhost:8787/healthz

/healthz no necesita token. Cada solicitud a /mcp necesita un token válido para el propietario configurado, incluida initialize.

Ejecutar la pasarela localmente no te da confinamiento. ProtectSystem=strict y el resto provienen de la unidad systemd, que solo se aplica en el servidor.

Demuestra que funciona

npm run build && npm run prove

scripts/prove.mjs inicia dist/main.js como su propio proceso solo a partir de variables de entorno. Sirve un endpoint JWKS HTTPS real que la pasarela obtiene a través de la red, acuña un token RS256 real y maneja el resultado con el cliente MCP ordinario. Escribe un proyecto, instala una dependencia desde el registro, ejecuta las pruebas y comprueba que matar un comando también mata los procesos que ese comando inició.

Nada en el script importa src/.

Documentación

Licencia

MIT

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/salman-frs/gpt-harness'

If you have feedback or need assistance with the MCP directory API, please join our Discord server