Skip to main content
Glama

chatgpt-mcp

Un servidor MCP sin estado que expone capacidades configuradas explícitamente en un ordenador Linux a ChatGPT o a cualquier cliente MCP compatible.

ChatGPT / MCP client
        |
        | MCP 2026-07-28
        v
chatgpt-mcp
        |
        | typed ComputerAdapter seam
        v
local operating system

ChatGPT elige qué herramienta llamar. chatgpt-mcp valida la llamada contra la configuración de capacidades local y realiza la operación. Es un adaptador de protocolo ligero, no un segundo planificador, y no añade su propio bucle de aprobación interactivo.

Arquitectura: SPEC.md. Historial de entrega: PLAN.md. Guía detallada de ChatGPT/túnel: docs/CHATGPT.md.

Capacidades

Toda familia excepto system.info es opcional. Las familias de capacidades deshabilitadas se omiten del descubrimiento de herramientas MCP cuando es práctico.

Herramienta

Propósito

system.info

Información del host/entorno y resumen de capacidades concedidas

fs.list

Listar un directorio permitido

fs.read

Leer un archivo de texto UTF-8 permitido

fs.write

Crear, sobrescribir o añadir a un archivo de texto permitido

fs.mkdir

Crear un directorio permitido

fs.move

Mover/renombrar dentro de las raíces permitidas

fs.delete

Eliminar dentro de las raíces permitidas

shell.exec

Ejecutar un ejecutable permitido con una matriz de argumentos

process.list

Listar procesos visibles

process.kill

Enviar una señal a un PID

service.status

Leer el estado de un servicio del sistema permitido

service.control

Iniciar, detener o reiniciar un servicio permitido

app.launch

Lanzar una aplicación configurada con nombre

app.close

Cerrar una aplicación lanzada previamente a través de su manejador

browser.open

Abrir un esquema de URL permitido

screen.capture

Capturar el escritorio como una imagen MCP PNG

input.move

Mover el puntero del escritorio

input.click

Hacer clic con el puntero del escritorio

input.type

Escribir texto literal en la aplicación enfocada

input.key

Enviar una secuencia de teclas a la aplicación enfocada

Requisitos

Servidor principal:

  • Linux

  • Node.js 22+

  • pnpm 11.20.0 (el instalador obtiene la versión fijada mediante Corepack o npx)

  • servicios de usuario systemd para el túnel persistente instalado por ./install.sh

Los comandos opcionales del host dependen de lo que habilites:

  • servicios: systemctl

  • apertura de navegador: xdg-open

  • entrada de escritorio: xdotool

  • capturas de pantalla: uno de grim, gnome-screenshot, scrot o ImageMagick import

El instalador rápido puede instalar el tunnel-client oficial actual de OpenAI y los ayudantes de escritorio comunes de Debian/Ubuntu cuando faltan.

Instalación rápida: ChatGPT + tu ordenador Linux

Para un ordenador, la ruta recomendada es:

ChatGPT Developer Mode
        |
OpenAI Secure MCP Tunnel
        |
        | outbound HTTPS
        v
tunnel-client on your computer
        |
        | stdio
        v
chatgpt-mcp

No se requiere un oyente de entrada público.

El instalador rápido usa intencionadamente config.full.example.json, que concede acceso amplio controlado por el propietario: lectura/escritura del sistema de archivos desde /, acceso a ejecutables con comodín, control de procesos/servicios, apertura de navegador, capturas de pantalla y entrada de escritorio donde se admita. Si quieres una autoridad más restringida, usa config.example.json y la configuración manual en su lugar.

1. Crear un túnel MCP de OpenAI

Abre:

https://platform.openai.com/settings/organization/tunnels

Crea un túnel y copia su ID. Se parece a:

tunnel_0123456789abcdef0123456789abcdef

Para uso con ChatGPT, asocia el túnel con el espacio de trabajo/cuenta de ChatGPT que debería poder verlo.

División de permisos actual:

  • crear/editar/eliminar túnel: Tunnels Read + Manage

  • ejecutar tunnel-client o seleccionar el túnel en ChatGPT: Tunnels Read + Use

2. Crear una clave de API de tiempo de ejecución

Abre:

https://platform.openai.com/settings/organization/api-keys

Crea una clave de API de tiempo de ejecución normal. No uses una clave de API de administrador para el daemon de túnel de larga duración.

El instalador solicita el valor sk-... resultante con entrada de terminal oculta y lo almacena localmente en .secrets/runtime-api-key con permisos restrictivos.

¿Por qué el túnel necesita una clave de API?

La clave autentica tunnel-client ante el plano de control del túnel de OpenAI. Prueba que el daemon local tiene permiso para usar el túnel seleccionado.

No la usa chatgpt-mcp para llamar a una API de modelo de OpenAI. En esta configuración, ChatGPT ya es el modelo/cliente; Secure MCP Tunnel es solo el transporte privado que permite que esa conversación de ChatGPT llegue al servidor MCP local.

tunnel_...   = which tunnel this computer belongs to
sk-...       = permission for tunnel-client to use that tunnel

chatgpt-mcp no realiza solicitudes /v1/responses ni otras solicitudes de inferencia de modelos con esta clave de tiempo de ejecución. La facturación de la API de modelos de OpenAI es independiente del uso de la suscripción de ChatGPT. La documentación actual de Secure MCP Tunnel no publica un calendario de precios de túnel separado; consulta la documentación actual de OpenAI si eso cambia.

3. Clonar y ejecutar el instalador

git clone https://github.com/alexcodeplace/chatgpt-mcp.git
cd chatgpt-mcp
./install.sh

El instalador:

  • solicita el ID del túnel y la clave de API de tiempo de ejecución si no se han proporcionado;

  • protege ambos valores en .secrets/;

  • obtiene pnpm 11.20.0 fijado por el proyecto sin requerir un shim de Corepack escribible en /usr/bin;

  • instala dependencias y ejecuta la compuerta completa del proyecto;

  • crea config.local.json a partir de la plantilla de control amplio;

  • instala el tunnel-client oficial de OpenAI si falta en arquitecturas Linux compatibles;

  • instala ayudantes de escritorio comunes en Debian/Ubuntu cuando es necesario;

  • inicializa el perfil de túnel chatgpt-computer;

  • usa un puerto de salud de bucle invertido efímero para que un servicio existente en el puerto 8080 no bloquee la instalación;

  • ejecuta tunnel-client doctor --explain;

  • instala e inicia ~/.config/systemd/user/chatgpt-mcp-tunnel.service;

  • verifica el servicio y los diagnósticos del túnel.

También se admite la configuración no interactiva:

export CONTROL_PLANE_TUNNEL_ID='tunnel_0123456789abcdef0123456789abcdef'
export CONTROL_PLANE_API_KEY='sk-...'
./install.sh --yes

No pongas la clave de API directamente en la línea de comandos de ./install.sh ... ni la confirmes en Git.

Para omitir la instalación de paquetes de escritorio opcionales:

./install.sh --no-desktop

4. Añadirlo a ChatGPT

Mientras el servicio de túnel esté en ejecución:

  1. En la web de ChatGPT, abre Settings → Security and login → Developer mode y actívalo.

  2. Abre https://chatgpt.com/plugins.

  3. Selecciona el botón de más y crea una aplicación en modo desarrollador.

  4. En Connection, elige Tunnel.

  5. Selecciona el túnel que creaste o pega su tunnel_id cuando se ofrezca.

  6. Habilita la nueva aplicación en una conversación.

  7. Primera prueba: Use my computer MCP's system.info tool and report the hostname and enabled capabilities.

Si el túnel no aparece en la lista, verifica su asociación con el espacio de trabajo de ChatGPT y el permiso Tunnels Read + Use.

Estado y desinstalación

./scripts/tunnel-status.sh

El comando de estado carga la clave de tiempo de ejecución guardada por sí mismo y usa un oyente de salud efímero, por lo que no necesitas exportar CONTROL_PLANE_API_KEY manualmente solo para ejecutar diagnósticos.

Elimina el servicio de usuario persistente dejando intactos la configuración y los secretos locales:

./scripts/tunnel-uninstall.sh

Instalación manual / desarrollo

El repositorio fija pnpm 11.20.0. Corepack puede forzar esa versión exacta sin corepack enable:

git clone https://github.com/alexcodeplace/chatgpt-mcp.git
cd chatgpt-mcp
corepack pnpm@11.20.0 install
corepack pnpm@11.20.0 gate

pnpm gate ejecuta la comprobación de tipos, las pruebas de comportamiento y la compilación de TypeScript.

Si Corepack no está disponible, usa npx -y pnpm@11.20.0 en su lugar.

Configurar manualmente

cp config.example.json config.local.json
export CHATGPT_MCP_CONFIG="$PWD/config.local.json"

La configuración predeterminada expone solo system.info. Consulta config.example.json para cada familia de capacidades. config.local.json y .secrets/ están en gitignore.

Para una autoridad intencionadamente amplia, copia config.full.example.json en su lugar.

Iniciar sobre stdio

corepack pnpm@11.20.0 build
CHATGPT_MCP_CONFIG="$PWD/config.local.json" node dist/src/stdio.js

stdout está reservado para el tráfico de protocolo MCP. Los diagnósticos van a stderr.

Iniciar sobre HTTP

corepack pnpm@11.20.0 build
CHATGPT_MCP_CONFIG="$PWD/config.local.json" corepack pnpm@11.20.0 start:http

Endpoint predeterminado:

http://127.0.0.1:3210/mcp

Comprobación de salud:

curl http://127.0.0.1:3210/healthz

HTTP sigue siendo sin estado. Se rechaza un enlace no de bucle invertido a menos que se configuren explícitamente hosts permitidos.

Límite de confianza

  • Las operaciones del sistema de archivos pasan por una autorización central de rutas que rechaza el escape de directorios, los trucos de prefijos hermanos y los escapes de enlaces simbólicos.

  • shell.exec usa la ejecución directa de ejecutable + matriz de argumentos sin un sh -c implícito.

  • Los servicios y aplicaciones se comprueban contra la autoridad configurada antes de la invocación.

  • Los esquemas de navegador se validan antes de abrirse.

  • La entrada de escritorio y las capturas de pantalla son capacidades opcionales separadas con entradas/salidas limitadas.

Consulta SPEC.md para los contratos completos.

Desarrollo

corepack pnpm@11.20.0 typecheck
corepack pnpm@11.20.0 test
corepack pnpm@11.20.0 build
corepack pnpm@11.20.0 gate

GitHub Actions ejecuta la misma compuerta en pushes y pull requests y comprueba la sintaxis de los scripts del instalador.

Limitaciones de la plataforma

  • El adaptador concreto está orientado a Linux.

  • process.list usa ps.

  • service.* usa por defecto systemctl de systemd.

  • input.* usa xdotool; Wayland nativo puede necesitar XWayland o un adaptador específico de compositor en el futuro.

  • screen.capture admite comandos comunes de captura de pantalla de Linux; los permisos de escritorio/sesión siguen aplicándose.

  • El instalador automático se dirige a Linux amd64/arm64 y a servicios de usuario systemd.

  • La prueba de humo externa de ChatGPT/túnel requiere la propia identidad/credenciales de tiempo de ejecución del túnel de OpenAI del operador; el CI del repositorio no puede suplantarlas.

Referencias ascendentes

-
license - not tested
-
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

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

  • A paid remote MCP for AI agent browser approval MCP, built to return verdicts, receipts, usage logs,

  • Reasoning, code, anti-deception, memory harness MCP tools. Stdio or HTTPS api.ejentum.com/mcp

  • MCP server for Wan AI video generation

View all MCP Connectors

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/alexcodeplace/chatgpt-mcp'

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