Unlimited Agent
Unlimited Agent
Unlimited Agent permite que una app privada de ChatGPT opere el PC con Windows que su propietario ha emparejado: archivos, PowerShell, programas, capturas de pantalla, ratón y teclado, portapapeles y Chrome.
Usa ChatGPT como cerebro. No llama a una API de modelos, no consume tokens de Codex ni instala una clave de API de modelos de OpenAI. El usuario aún necesita una credencial restringida de Secure MCP Tunnel runtime (Tunnels: Read + Use) para que el puente local pueda autenticarse en su propio túnel; esa credencial no puede realizar inferencias de modelos y está cifrada con DPAPI de Windows.
[!WARNING] El control remoto total es potente. Instálalo solo en un ordenador cuyo propietario haya dado su consentimiento informado. Mantén la política predeterminada
balanced + dangerous approvala menos que entiendas las consecuencias de cambiarla.
Qué puede hacer
Leer, buscar, crear, editar, copiar, mover y eliminar archivos accesibles
Ejecutar comandos de PowerShell inmediatamente o como trabajos en segundo plano
Iniciar programas locales e inspeccionar información de Windows/sistema
Capturar el escritorio principal o virtual
Listar, enfocar, redimensionar, minimizar, maximizar o cerrar ventanas
Enviar clics de ratón, desplazamiento, atajos de teclado y entrada de texto
Leer o reemplazar el texto del portapapeles
Abrir URLs, seleccionar un perfil de Chrome y controlar pestañas/navegación
Hacer solicitudes HTTP y descargar archivos sin heredar la credencial del túnel
Reconectarse automáticamente después del inicio de sesión de Windows
El contrato completo de 21 herramientas está en docs/TOOL_CONTRACT.md.
Related MCP server: ChatGPT Local Agent MCP
Requisitos
Windows 10 u 11, x64
Una cuenta de ChatGPT que pueda habilitar el modo desarrollador y apps/conectores privados
Acceso a Secure MCP Tunnels de OpenAI Platform
Google Chrome para las herramientas específicas de Chrome (las demás no lo requieren)
Instalación y emparejamiento
Descarga
Unlimited-Agent-Setup-v0.1.0.exeySHA256SUMS.txtdesde la última versión.Opcionalmente, verifica la descarga:
Get-FileHash .\Unlimited-Agent-Setup-v0.1.0.exe -Algorithm SHA256Ejecuta el instalador y acepta el aviso de consentimiento informado. Windows SmartScreen puede advertir porque las compilaciones comunitarias no están firmadas con código; verifica el SHA-256 antes de elegir Ejecutar de todos modos.
En la ventana de configuración, selecciona Open Secure MCP Tunnels. Crea un túnel en la configuración de túneles de OpenAI Platform y luego copia su ID
tunnel_....En claves de API de OpenAI Platform, crea una clave de proyecto dedicada restringida a Tunnels: Read + Use. No concedas permisos de modelos ni de otras API. Pégala en la ventana de configuración.
Elige los permisos. Los valores predeterminados recomendados son:
Modo de permiso:
balancedAprobación local:
dangerousAprobación de lectura sensible: habilitada
Carpeta permitida: tu perfil de usuario de Windows
Selecciona Guardar y conectar. El puente se inicia en segundo plano y se registra para el usuario actual de Windows al iniciar sesión.
En ChatGPT, abre Configuración → Aplicaciones y conectores → Configuración avanzada, habilita modo desarrollador, crea una app privada y selecciona el túnel que acabas de emparejar. Nómbrala
Unlimited Agent.
Abre el acceso directo del escritorio Unlimited Agent Status. CONNECTED and ready significa que el túnel puede servir a la app privada de ChatGPT. Pregunta a ChatGPT: "Usa Unlimited Agent para mostrar mi información del sistema de Windows."
OpenAI documenta actualmente Secure MCP Tunnels como una función privada de prueba en modo desarrollador. No admiten el envío público al directorio de apps de ChatGPT ni un túnel público compartido. En consecuencia, cada usuario debe crear su propio túnel privado y su propia app privada, aunque el instalador y el código fuente sean públicos. Consulta la guía oficial de Secure MCP Tunnel.
Modos de permiso
Modo | Comportamiento |
| Solo se ejecutan herramientas de inspección. Los cambios, la entrada, los lanzamientos y las llamadas de red se deniegan. |
| Las rutas deben permanecer dentro de las carpetas permitidas. Las acciones peligrosas siguen la configuración de aprobación. PowerShell sigue disponible solo después de la aprobación configurada porque un comando puede dirigirse a recursos arbitrarios. |
| Todas las rutas accesibles para el usuario de Windows con sesión iniciada están en alcance. La configuración de aprobación sigue aplicándose. |
Aprobación | Comportamiento |
| Aparece una ventana de revisión local para escrituras, comandos, entrada, lanzamientos, acciones de navegador/red y otras mutaciones. Con la opción recomendada de lectura sensible, también cubre capturas de pantalla, títulos de ventanas y lecturas del portapapeles. |
| Cada llamada de herramienta requiere aprobación local. |
| Sin avisos locales. Úsalo solo en una instalación privada totalmente confiable. |
Abre Unlimited Agent Settings en el escritorio para volver a emparejar, cambiar la credencial del túnel o cambiar los permisos. La configuración se aplica sin reinstalar. Una llamada de herramienta denegada devuelve un resultado estructurado PERMISSION_DENIED a ChatGPT. Las llamadas de herramientas están serializadas, por lo que Unlimited Agent no puede usar su propia herramienta de ratón/teclado para hacer clic en una ventana de aprobación pendiente.
Ejemplos de solicitudes
"Encuentra todos los archivos
.docxmodificados esta semana en Documentos y resume sus nombres. No cambies nada.""Crea una carpeta en mi escritorio llamada
Trip, mueve las fotos seleccionadas a ella y verifica el recuento.""Ejecuta la suite de pruebas en
C:\work\my-app; sigue consultando hasta que termine y corrige el primer fallo.""Toma una captura de pantalla, enfoca Chrome, abre el panel del proyecto y dime qué es visible."
"Inicia el Bloc de notas, escribe esta nota de reunión, guárdala en Documentos y luego confirma que el archivo existe."
Para tareas de GUI, ChatGPT debe iterar captura de pantalla → enfoque de ventana → entrada → captura de pantalla. Unlimited Agent no puede omitir contraseñas, CAPTCHAs, MFA, el escritorio seguro de UAC ni sesiones de Windows bloqueadas.
Arquitectura
flowchart LR
A[Private ChatGPT app] --> B[OpenAI Secure MCP Tunnel]
B -->|outbound HTTPS session| C[tunnel-client]
C -->|stdio MCP| D[Unlimited Agent server]
D --> E[Central policy + local approval]
E --> F[Files / PowerShell / HTTP]
E --> G[Windows UI / Chrome / clipboard]server.mjsregistra las herramientas MCP y contiene sus implementaciones.policy.mjsenvuelve cada registro de herramienta con verificación de permisos de ruta canónica, comprobaciones de carpetas resistentes a reparse/hardlink, detalles completos de aprobación local, anulaciones y comprobaciones de auditoría.scripts/windows-ui.ps1proporciona primitivas de pantalla, ventana, entrada y portapapeles a través de las API de Windows.scripts/start-tunnel.ps1descifra la credencial de runtime por usuario solo el tiempo suficiente para iniciartunnel-client. El servidor MCP elimina las variables de entorno de credenciales antes de manejar llamadas, y los procesos hijos reciben un entorno saneado.scripts/watch-tunnel.ps1proporciona recuperación en segundo plano de instancia única.scripts/settings.ps1gestiona el emparejamiento y la configuración de permisos. Las credenciales usan DPAPICurrentUser; la política no secreta es JSON.installer/produce un ejecutable de instalación de Windows x64 autocontenido.
No se crea ningún listener entrante ni excepción de firewall. El servidor local es solo stdio; tunnel-client proporciona el endpoint MCP remoto seleccionado por ChatGPT.
Desarrollo local
git clone https://github.com/yungsuk53-pixel/unlimited-agent.git
cd unlimited-agent
npm ci --ignore-scripts
npm testnpm test alcanza el nivel de validación 2: comprobaciones de esquema/anotaciones, una sesión MCP stdio real, operaciones de archivos, aislamiento de credenciales de PowerShell, HTTP local, capturas de pantalla, ventanas, canalización de entrada, política del sistema y trabajos en segundo plano.
Prueba de compilación e instalación limpia:
npm run build:installer
npm run test:installLa compilación descarga versiones fijadas de Node.js, tunnel-client y ripgrep x64 y las verifica contra valores SHA-256 inmutables comprometidos en el script de compilación. CI repite las pruebas MCP, la compilación del instalador, el ciclo DPAPI, la instalación limpia sintética y las pruebas de herramientas del runtime instalado. Las credenciales de prueba son sintéticas y nunca contactan con OpenAI.
Para probar un túnel real, instala el EXE generado, empareja una credencial de túnel dedicada, comprueba Unlimited Agent Status y conecta la app privada en el modo desarrollador de ChatGPT.
Ubicaciones de datos
Los archivos instalados y los datos del usuario actual están en:
%LOCALAPPDATA%\UnlimitedAgent\
config\config.json non-secret policy and tunnel ID
config\credential.dpapi DPAPI-encrypted restricted runtime key
data\audit.jsonl tool decision audit (names, decisions, hashes)
data\logs\ tunnel and watchdog diagnosticsEl proyecto nunca registra la credencial del túnel en texto plano. Los registros redactan cadenas que coinciden con formatos de claves de OpenAI, y los procesos lanzados por herramientas reciben una lista mínima permitida de variables de entorno ordinarias de Windows en lugar de heredar tokens o secretos ambientales.
Solución de problemas
El estado dice reconectando o no disponible
Abre Unlimited Agent Settings y vuelve a ingresar el ID del túnel y una clave de runtime restringida válida.
Confirma que la clave tiene
Tunnels: Read + Usey pertenece a la organización/espacio de trabajo que posee el túnel.Revisa
%LOCALAPPDATA%\UnlimitedAgent\data\logs\bridge.logywatchdog.log.Un
404comúnmente significa que ChatGPT seleccionó un túnel/app diferente, que el runtime está detenido o que la app privada no se creó desde el mismo contexto de organización de ChatGPT/OpenAI.
Una herramienta es denegada
La respuesta local indica si el modo de solo lectura, un límite de carpetas permitidas, una anulación por herramienta o una aprobación rechazada lo causaron.
Abre Unlimited Agent Settings para cambiar la política. No debilites los permisos solo para ocultar un límite de seguridad genuino.
Las acciones de ratón o teclado no hacen nada
Windows debe tener sesión iniciada y estar desbloqueado.
El escritorio seguro de UAC, las pantallas de inicio de sesión, algunas apps elevadas, juegos con entrada exclusiva y medios protegidos no se pueden automatizar de manera confiable desde un proceso de usuario normal.
Chrome abre el perfil incorrecto
Pide a ChatGPT que llame a
open_urlobrowser_controlcon el nombre del directorio del perfil de Chrome, comoDefaultoProfile 2.
Desinstalación y revocación
Ejecuta el acceso directo del escritorio Uninstall Unlimited Agent. Detiene/elimina el runtime local, elimina las entradas de inicio automático, elimina la credencial cifrada y borra el directorio de instalación.
Luego revoca la clave restringida dedicada en OpenAI Platform y elimina el túnel si ya no se usará. La revocación es importante si el PC o la cuenta de Windows pueden estar comprometidos.
Seguridad y licencia
Lee SECURITY.md antes de habilitar el acceso completo. Los informes de seguridad deben usar el informe de vulnerabilidades privado de GitHub, no problemas públicos.
Unlimited Agent está disponible bajo la Licencia MIT. Los avisos de runtime incluidos están en THIRD_PARTY_NOTICES.md.
Available Tools
21 toolsbrowser_controlControl Google ChromeA
Open a URL or send navigation/tab shortcuts to the focused Chrome window. For reliable GUI browsing, list windows, focus Chrome, act, then capture a screenshot.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| action | Yes | ||
| profile | No | Default | |
| windowHandle | No |
clipboardRead or write Windows clipboardA
Read text from or write text to the interactive Windows clipboard.
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | ||
| action | Yes |
computer_inputControl mouse and keyboardADestructive
Send mouse, keyboard, text, scrolling, and wait actions to the interactive Windows desktop. Take a screenshot first, focus the target window, act, then screenshot again to verify.
| Name | Required | Description | Default |
|---|---|---|---|
| actions | Yes |
edit_fileEdit local text fileADestructive
Replace exact text in a UTF-8 local file. Use for focused edits that preserve the rest of the file.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| newText | Yes | ||
| oldText | Yes | ||
| replaceAll | No |
execExecute PowerShellADestructive
Run an arbitrary PowerShell command on this Windows PC. Use for local development, package installation, system configuration, services, processes, and tasks not covered by a more specific tool. Verify changes afterward.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Working directory; defaults to the Windows user profile | |
| command | Yes | PowerShell command to run | |
| timeoutSeconds | No |
file_operationManage local files and foldersADestructive
Copy, move, delete, or create local files and folders. Use exact resolved targets and verify consequential operations afterward.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| source | Yes | ||
| overwrite | No | ||
| recursive | No | ||
| destination | No |
http_requestMake HTTP request or downloadB
Call an HTTP/HTTPS URL from this PC or download the response to a local file. Does not inherit OpenAI or tunnel credentials.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| body | No | ||
| method | No | GET | |
| saveTo | No | ||
| headers | No | ||
| timeoutSeconds | No |
job_statusCheck background jobARead-onlyIdempotent
List background jobs or inspect one job with running state and recent stdout/stderr. Poll until completion and verify the resulting files or application state.
| Name | Required | Description | Default |
|---|---|---|---|
| jobId | No | ||
| tailBytes | No |
launch_programLaunch local programB
Launch a local executable or script with arguments, optionally visible. Use list_windows and screenshot after launching GUI applications.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | ||
| args | No | ||
| visible | No | ||
| executable | Yes |
list_directoryList local directoryARead-onlyIdempotent
List files and folders with type, size, and modified time. Use before guessing paths or choosing files to edit.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | /root | |
| maxDepth | No | ||
| recursive | No | ||
| maxEntries | No |
list_windowsList desktop windowsARead-onlyIdempotent
List top-level Windows desktop windows with title, process ID, handle, position, size, and minimized state. Use to target window_control reliably.
| Name | Required | Description | Default |
|---|---|---|---|
| includeHidden | No |
open_urlOpen URL in logged-in ChromeA
Open an HTTP/HTTPS URL in Google Chrome using a profile belonging to the current Windows user.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| profile | No | Default |
path_infoInspect local pathARead-onlyIdempotent
Check whether a local path exists and return detailed file, folder, or symbolic-link metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
read_fileRead local fileARead-onlyIdempotent
Read any local file accessible to the current Windows user. Use utf8 for text and base64 for binary files.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| encoding | No | utf8 |
screenshotCapture Windows screenARead-onlyIdempotent
Capture the primary display or full virtual desktop as a PNG image. Use before and after graphical actions to locate controls and verify outcomes.
| Name | Required | Description | Default |
|---|---|---|---|
| capture | No | virtual |
search_filesSearch local filesARead-onlyIdempotent
Fast local search using ripgrep. Search file names or text contents before reading large directory trees.
| Name | Required | Description | Default |
|---|---|---|---|
| glob | No | ||
| mode | No | content | |
| root | No | /root | |
| query | Yes | ||
| regex | No | ||
| maxResults | No | ||
| caseSensitive | No | ||
| includeHidden | No |
start_jobStart background PowerShell jobADestructive
Start a long-running PowerShell command in the background with persistent stdout/stderr logs. Poll with job_status instead of waiting in exec.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | ||
| label | No | ||
| command | Yes |
stop_jobStop background jobADestructive
Force-stop a background job and its child process tree by job ID.
| Name | Required | Description | Default |
|---|---|---|---|
| jobId | Yes |
system_infoInspect Windows systemARead-onlyIdempotent
Return local Windows, CPU, memory, user, host, runtime, and server capability information without changing the PC.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
window_controlControl desktop windowADestructive
Focus, minimize, maximize, restore, or close a desktop window by the handle returned from list_windows.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| handle | Yes |
write_fileWrite local fileADestructive
Create, overwrite, or append to any local file. Create missing parent folders when requested, then verify important writes with read_file or path_info.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | overwrite | |
| path | Yes | ||
| content | Yes | ||
| encoding | No | utf8 | |
| createParents | No |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
21 tool updates
v0.1.0- First observed
browser_control - First observed
clipboard - First observed
computer_input - First observed
edit_file - First observed
exec - First observed
file_operation - First observed
http_request - First observed
job_status - First observed
launch_program - First observed
list_directory - First observed
list_windows - First observed
open_url - First observed
path_info - First observed
read_file - First observed
screenshot - First observed
search_files - First observed
start_job - First observed
stop_job - First observed
system_info - First observed
window_control - First observed
write_file
TDQS
Scored across 21 tools
Tools are mostly distinct: background job management (start/stop/status), file operations (read/write/edit/list/path/search/file_operation), system info, HTTP, and GUI interaction. Minor overlap between exec and start_job (both run PowerShell commands) and between http_request and open_url (both fetch URLs), but descriptions clarify the intended use cases.
All tools follow a consistent verb_noun pattern: job_status, stop_job, start_job, read_file, write_file, edit_file, list_directory, path_info, search_files, file_operation, system_info, http_request, screenshot, list_windows, window_control, computer_input, clipboard, open_url, browser_control, launch_program. Verbs are clear and nouns are descriptive, with no mixing of casing or inconsistent verb styles.
21 tools is on the higher end of the reasonable range (3-15 typical), but given the broad scope of the server (system administration, file management, GUI automation, web browsing) each tool serves a distinct need and the count is justified. It exceeds the 'well-scoped' range slightly, but does not feel bloated or repetitive.
The tool surface covers the core domains comprehensively: file CRUD (read, write, edit, copy/move/delete), process management (start, status, stop), system info, and GUI automation (screenshot, windows, input, clipboard). Minor gaps include an explicit tool for renaming files (file_operation combines it) and no dedicated tool for managing services (can be done via exec), but these are workable via general-purpose tools like exec.
Maintenance
Related MCP Connectors
Connect ChatGPT and Claude to your Mac, Windows or Linux with secure MCP remote access.
Remote MCP server exposing your Node Command fleet (files, shell, processes, browser) to AI hosts.
Connect ChatGPT, Claude, Cursor or VS Code to your Windows PC: files, terminal, browser, apps.
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA standalone MCP server for Windows desktop control, enabling screenshots, mouse and keyboard input, app launch, window/display management, and clipboard access via natural language.3MIT
- AlicenseNot gradedqualityCmaintenanceThis MCP server gives ChatGPT controlled access to your Windows PC, enabling it to inspect files, run commands, apply patches, and interact with the desktop under your supervision.3MIT
- FlicenseCqualityDmaintenanceEnables ChatGPT to control a Windows PC remotely via OpenAI Secure MCP Tunnel, executing file operations, PowerShell commands, and system actions through a local MCP server.15-
- FlicenseBqualityBmaintenanceA local MCP server that bridges ChatGPT to a Windows PC, offering filesystem, shell, Git, and diagnostic tools via a secure tunnel.171-