chatgpt-mcp
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 systemChatGPT 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 |
| Información del host/entorno y resumen de capacidades concedidas |
| Listar un directorio permitido |
| Leer un archivo de texto UTF-8 permitido |
| Crear, sobrescribir o añadir a un archivo de texto permitido |
| Crear un directorio permitido |
| Mover/renombrar dentro de las raíces permitidas |
| Eliminar dentro de las raíces permitidas |
| Ejecutar un ejecutable permitido con una matriz de argumentos |
| Listar procesos visibles |
| Enviar una señal a un PID |
| Leer el estado de un servicio del sistema permitido |
| Iniciar, detener o reiniciar un servicio permitido |
| Lanzar una aplicación configurada con nombre |
| Cerrar una aplicación lanzada previamente a través de su manejador |
| Abrir un esquema de URL permitido |
| Capturar el escritorio como una imagen MCP PNG |
| Mover el puntero del escritorio |
| Hacer clic con el puntero del escritorio |
| Escribir texto literal en la aplicación enfocada |
| 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:
systemctlapertura de navegador:
xdg-openentrada de escritorio:
xdotoolcapturas de pantalla: uno de
grim,gnome-screenshot,scroto ImageMagickimport
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-mcpNo 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_0123456789abcdef0123456789abcdefPara 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-cliento 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 tunnelchatgpt-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.shEl 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.jsona partir de la plantilla de control amplio;instala el
tunnel-clientoficial 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 --yesNo 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-desktop4. Añadirlo a ChatGPT
Mientras el servicio de túnel esté en ejecución:
En la web de ChatGPT, abre Settings → Security and login → Developer mode y actívalo.
Selecciona el botón de más y crea una aplicación en modo desarrollador.
En Connection, elige Tunnel.
Selecciona el túnel que creaste o pega su
tunnel_idcuando se ofrezca.Habilita la nueva aplicación en una conversación.
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.shEl 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.shInstalació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 gatepnpm 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.jsstdout 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:httpEndpoint predeterminado:
http://127.0.0.1:3210/mcpComprobación de salud:
curl http://127.0.0.1:3210/healthzHTTP 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.execusa la ejecución directa de ejecutable + matriz de argumentos sin unsh -cimplí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 gateGitHub 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.listusaps.service.*usa por defectosystemctlde systemd.input.*usaxdotool; Wayland nativo puede necesitar XWayland o un adaptador específico de compositor en el futuro.screen.captureadmite 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
MCP TypeScript SDK: https://github.com/modelcontextprotocol/typescript-sdk
MCP specification: https://modelcontextprotocol.io/specification/2026-07-28
OpenAI Secure MCP Tunnel: https://developers.openai.com/api/docs/guides/secure-mcp-tunnels
OpenAI tunnel-client: https://github.com/openai/tunnel-client
OpenAI tunnel management: https://platform.openai.com/settings/organization/tunnels
OpenAI runtime API keys: https://platform.openai.com/settings/organization/api-keys
ChatGPT Developer Mode: https://developers.openai.com/api/docs/guides/developer-mode
This server cannot be installed
Maintenance
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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