GitDiagram
Architecture diagrams, explanations and Mermaid source for public GitHub repositories.
Lets AI agents drive a real terminal: type, press keys, click, read the screen, take screenshots.
Elige la app de IA que usas y copia la configuración.
Pasó 3/3 revisiones · Funciona en tu computadora · ✓ Comandos revisados el 13 nov 2026
Primero: ¿qué IA usas?
Elige tu app y los pasos aparecen abajo.
Funciona con Claude, pero hay que preparar algo antes
Instala Node.js en tu computadora primero (una sola vez) · Solo en la app de Claude para computadora (Windows o Mac), no en la web ni en el móvil
Copia este mensaje en un chat de Claude. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.
Instala el MCP server terminal-use para Claude en este equipo, en este orden: 1) Comprueba Node.js con node -v. Si falta, dime que lo instale desde https://nodejs.org/en/download; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): { "mcpServers": { "terminal-use": { "command": "npx", "args": [ "-y", "terminal-use" ] } } } 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de terminal-use aparecen de verdad.Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.
¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter
node -vMac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter
Windows: abre Inicio, escribe Windows PowerShell y elige Abrir
Si no está instalado: Abre la página oficial de descargas, elige la versión LTS y el instalador de clics: .pkg en Mac · .msi en Windows. Haz doble clic y sigue hasta el final. No necesitas ningún comando curl
Abrir la página de descarga de Node.js ↗
Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: node -v
Se instala una vez y sirve para todo lo que usa Node.js
SettingsDeveloperEdit Config
{
"mcpServers": {
"terminal-use": {
"command": "npx",
"args": [
"-y",
"terminal-use"
]
}
}
}Usa terminal-use y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si Claude dice que está usando terminal-use o muestra una herramienta de terminal-use en la respuesta, ya está conectado
Nombres de menú comprobados con la ayuda de Anthropic el 11 nov 2026 · tu pantalla puede variar un poco según la versión
ChatGPT todavía no puede conectar terminal-use
terminal-use se instala en tu computadora, pero ChatGPT solo conecta servidores que funcionan en la web
A · Usa una app que pueda conectar terminal-use
B · Otros en Herramientas para desarrolladores que funcionan con ChatGPT
Elegidos entre los más usados de la misma categoría, solo los que se conectan con una dirección y sin clave
Funciona con Claude Code, pero hay que preparar algo antes
Instala Node.js en tu computadora primero (una sola vez)
Copia este mensaje en un chat de Claude Code. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.
Instala el MCP server terminal-use para Claude Code en este equipo, en este orden: 1) Comprueba Node.js con node -v. Si falta, dime que lo instale desde https://nodejs.org/en/download; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): claude mcp add --scope user terminal-use -- npx -y terminal-use 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de terminal-use aparecen de verdad.Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.
¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter
node -vMac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter
Windows: abre Inicio, escribe Windows PowerShell y elige Abrir
Si no está instalado: Abre la página oficial de descargas, elige la versión LTS y el instalador de clics: .pkg en Mac · .msi en Windows. Haz doble clic y sigue hasta el final. No necesitas ningún comando curl
Abrir la página de descarga de Node.js ↗
Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: node -v
Se instala una vez y sirve para todo lo que usa Node.js
Mac: pulsa Command+Espacio y escribe Terminal · Windows: abre PowerShell
claude mcp add --scope user terminal-use -- npx -y terminal-useDeberías ver terminal-use en la lista como conectado
Usa terminal-use y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si Claude Code dice que está usando terminal-use o muestra una herramienta de terminal-use en la respuesta, ya está conectado
Nombres de menú comprobados con la ayuda de Anthropic el 11 nov 2026 · tu pantalla puede variar un poco según la versión
Funciona con Cursor, pero hay que preparar algo antes
Instala Node.js en tu computadora primero (una sola vez)
Copia este mensaje en un chat de Cursor. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.
Instala el MCP server terminal-use para Cursor en este equipo, en este orden: 1) Comprueba Node.js con node -v. Si falta, dime que lo instale desde https://nodejs.org/en/download; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): { "mcpServers": { "terminal-use": { "command": "npx", "args": [ "-y", "terminal-use" ] } } } 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de terminal-use aparecen de verdad.Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.
¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter
node -vMac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter
Windows: abre Inicio, escribe Windows PowerShell y elige Abrir
Si no está instalado: Abre la página oficial de descargas, elige la versión LTS y el instalador de clics: .pkg en Mac · .msi en Windows. Haz doble clic y sigue hasta el final. No necesitas ningún comando curl
Abrir la página de descarga de Node.js ↗
Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: node -v
Se instala una vez y sirve para todo lo que usa Node.js
Usa terminal-use y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si Cursor dice que está usando terminal-use o muestra una herramienta de terminal-use en la respuesta, ya está conectado
Nombres de menú comprobados con la ayuda de Cursor el 11 nov 2026 · tu pantalla puede variar un poco según la versión
Funciona con VS Code, pero hay que preparar algo antes
Instala Node.js en tu computadora primero (una sola vez)
Copia este mensaje en un chat de VS Code. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.
Instala el MCP server terminal-use para VS Code en este equipo, en este orden: 1) Comprueba Node.js con node -v. Si falta, dime que lo instale desde https://nodejs.org/en/download; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): { "servers": { "terminal-use": { "type": "stdio", "command": "npx", "args": [ "-y", "terminal-use" ] } } } 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de terminal-use aparecen de verdad.Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.
¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter
node -vMac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter
Windows: abre Inicio, escribe Windows PowerShell y elige Abrir
Si no está instalado: Abre la página oficial de descargas, elige la versión LTS y el instalador de clics: .pkg en Mac · .msi en Windows. Haz doble clic y sigue hasta el final. No necesitas ningún comando curl
Abrir la página de descarga de Node.js ↗
Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: node -v
Se instala una vez y sirve para todo lo que usa Node.js
Usa terminal-use y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si VS Code dice que está usando terminal-use o muestra una herramienta de terminal-use en la respuesta, ya está conectado
Nombres de menú comprobados con la ayuda de VS Code el 11 nov 2026 · tu pantalla puede variar un poco según la versión
Otras apps que usan MCP, como Windsurf, Zed o Gemini CLI, añaden servidores de forma distinta. Míralo en la lista de apps
Ver todas las apps que usan MCP →
La configuración JSON está en “Para desarrolladores”, abajo
Claude Code
claude mcp add --scope user terminal-use -- npx -y terminal-useClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"terminal-use": {
"command": "npx",
"args": [
"-y",
"terminal-use"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"terminal-use": {
"command": "npx",
"args": [
"-y",
"terminal-use"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"terminal-use": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"terminal-use"
]
}
}
}Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
npm: terminal-useSegún cómo se conecta este servidor y la documentación de cada app, comprobado el 10 nov 2026.
Se ejecutan en tu computadora en
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 15 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub computer-agent-labs, dueña del repo
Último cambio de código: hace 4 días
Usa MIT
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Aún no revisado
Pregunta, comparte un consejo o avisa de que no funciona. Ordenado por lo que la gente marcó como útil.
Aún no hay publicaciones. Sé la primera persona en preguntar o compartir.
Lo publicado aquí lo escriben usuarios, no el equipo de PopNx.
Aún no hay reseñas
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 3 de 3 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez hace 4 días, y la última versión (0.2.1) llegó al registro hace 24 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: GitDiagram, Appllama, Cloudflare MCP, Omnara, Repowise
Misma categoría, otros creadores, comandos ya revisados. Primero los oficiales, luego por estrellas.
Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Architecture diagrams, explanations and Mermaid source for public GitHub repositories.
Study screens, flows and paywalls from top-earning iOS apps, then build from what wins.
Cloudflare MCP servers
Deploy durable AI agents with Omnara, an open-source managed-agent platform.
Codebase intelligence for AI coding agents: graph, git history, docs, decisions, code health.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
An MCP server that lets an AI agent use a real terminal the way a person does: type, press keys, click, read the screen, take a screenshot.
*Every frame above was drawn by terminal-use's own screenshot renderer; the caption on each is the tool call that produced it.*
Most agent shell tools run a command and hand back its output. That breaks down for anything interactive — vim, htop, a REPL, an installer asking questions, git rebase -i, an SSH session. terminal-use gives the agent a shell on a real pseudo-terminal, rendered by a real terminal emulator, so full-screen and interactive programs work and the agent sees what you would see.
Requires Node.js 22.12 or newer, on macOS, Linux or Windows.
Pick your client:
| Client | How to add it |
|---|---|
| Claude Code | claude mcp add terminal-use --scope user -- npx -y terminal-use |
| Cursor | Add to Cursor |
| VS Code | Add to VS Code |
| Codex | codex mcp add terminal-use -- npx -y terminal-use |
| Gemini CLI | gemini mcp add -s user terminal-use npx -y terminal-use |
Claude Desktop, and any other client that takes a command: add this to its MCP configuration (for Claude Desktop: Settings → Developer → Edit Config).
{
"mcpServers": { "terminal-use": { "command": "npx", "args": ["-y", "terminal-use"] } } }
Start a new session in your client and ask it to do something in a terminal, for example: *"Open vim, write a haiku into /tmp/haiku.txt, save and quit, then show me a screenshot of cat-ing it."*
Server options go after the command: npx -y terminal-use --cols 100 --rows 40.
| Option | Default | |
|---|---|---|
--shell | $SHELL or /bin/bash; PowerShell on Windows | Shell to run in new sessions |
--cwd | where the server was started | Working directory for new sessions |
--cols / --rows | 120 / 30 | Terminal size |
--scrollback | 5000 | Lines of history kept |
--login | off | Start shells as login shells (see below) |
If programs that work in your own terminal (node, brew, pyenv…) are missing inside a session, the server probably inherited a bare environment. That happens when the MCP client is started from the Dock or a launcher instead of a terminal: your PATH is set up by your shell's profile files (~/.zprofile, ~/.bash_profile, ~/.profile), and nothing has read them.
A login shell reads those files. Turn it on for every session with the --login server flag, or for one session with login: true on terminal_create. It is off by default because it makes each shell slower to start and runs whatever your profile runs. It has no effect in PowerShell or cmd.exe, which have no login mode.
Every tool except terminal_create and terminal_list takes the sessionId that terminal_create returns.
| Tool | What it does |
|---|---|
terminal_create | Start a session: an interactive shell, or one program with command. Optional label, cols, rows, shell, cwd, env, login, scrollback, theme. |
terminal_list | List sessions. |
terminal_destroy | End a session. |
terminal_type | Type text. \n presses Enter. paste: true sends it as one paste. |
terminal_press | Press a key or combination: Enter, Ctrl+C, ArrowUp, Shift+Tab, Alt+Enter, F5… |
terminal_wait | Wait for the running command to finish, for a regex to appear, or for output to go quiet. |
terminal_read | Read the screen or scrollback as text. |
terminal_screenshot | Render the screen as a PNG. |
terminal_click | Left-click a cell, with a preview step. |
terminal_scroll | Turn the mouse wheel over a cell. |
terminal_batch | Send several inputs in one call and get the screen back once. |
terminal_resize | Change the terminal size. |
terminal_reset | Clear the screen and scrollback, or restart the shell with hardReset: true. |
The repository has a Dockerfile for running the server in a container:
docker build -t terminal-use .
docker run -i --rm -v "$PWD":/workspace terminal-use
In an MCP client, use docker as the command with run -i --rm terminal-use as its arguments. The terminals the agent gets are then shells inside the container, not on your machine: it sees only what you mount, which is the point if you want it boxed in. Attaching from your own terminal is not available in this setup.
terminal-use comes with an Agent Skill: a short guide for the agent on how to use these tools well — when to use a command session, how to wait, how to read what is selected — plus recipes for vim, pagers, REPLs, menu-driven programs, ssh prompts and end-to-end testing of a TUI. It lives in skills/terminal-use.
io.modelcontextprotocol/skills): the skill is listed by skills/list and its files are served as skill://terminal-use/... resources. Few hosts support this yet. cp -r "$(npx -y terminal-use skills-dir)/terminal-use" ~/.claude/skills/
The skill is optional. Without it the agent still has the tool descriptions and the server's built-in instructions.
By default a session is an interactive shell: type commands into it as you would at a prompt.
Pass command to terminal_create to run one program in the terminal instead:
{"command": "npm test -- --watch", "cwd": "/path/to/project", "env": {"CI": "1"}}
The command goes through the session's shell (sh -c, PowerShell -Command, or cmd /c), so quoting, pipes and redirection work as they do at that shell's prompt. Input goes straight to the program. When it exits:
terminal_wait, and in terminal_list);terminal_read and terminal_screenshot;terminal_reset with hardReset: true runs it again, and terminal_destroy removes it.This is the mode for testing a CLI or TUI: launch it, drive it, check how it ended.
terminal_create returns a command you can run in your own terminal to join the session:
node /path/to/terminal-use/bin/terminal-use.js attach 3 --socket /tmp/terminal-use-501/41234-3.sock
You see what the agent sees and can type into the same shell. It works like a shared tmux session: several people can attach at once, and Ctrl+] detaches.
--resize makes the session follow your window size. By default the session keeps its own.--socket picks the server. Each MCP client runs its own terminal-use, and they all number sessions from 1; without --socket, attach works when only one running server has that id and lists the candidates otherwise.0600, inside a 0700 directory under the system temp dir). Anyone who can connect gets a shell as you, so they are not exposed any further than that.agent ──MCP──▶ terminal-use ──▶ node-pty ──▶ your shell
│ └─ @xterm/headless ◀── everything the shell prints │ ├─ terminal_read (text) └─ terminal_screenshot (PNG)
node-pty runs the shell on a pseudo-terminal. Everything it prints is fed to a headless xterm.js emulator, and that emulator's buffer is the single source of truth: reads and screenshots both come from it, so the agent gets the rendered screen rather than a stream of escape codes.
terminal_type, terminal_press and terminal_click return once output has been quiet for a moment (idleMs, default 200 ms) and never wait longer than 10 seconds. That suits keystrokes. It doesn't suit a build, which can be silent for a while long before it is done. For anything slow, follow up with terminal_wait:
Listening on port), REPL prompts, or a particular state of a TUI. ^ and $ match at line starts and ends; a leading (?i) or (?s) sets further flags.quietMs (default 1 s). The same rule the typing tools use, without the 10-second cap.In a command session, the default mode waits for the program to exit and reports its exit status.
timeoutMs defaults to 30 seconds (maximum 10 minutes). A timeout isn't an error: the response says the command is still running, and you can wait again.
On Windows there is no way to ask who owns the terminal, so in a shell session the default mode waits for two seconds of silence instead, and says it is a guess. Prefer a pattern there, or run the program as a command session, where waiting for it to exit works on every platform.
Limits worth knowing: background jobs (cmd &) don't count as running. Inside a nested program such as ssh or a REPL, the outer shell doesn't get the foreground back until that program exits, so use pattern or until: "quiet" there. No exit status is reported; run echo $?.
terminal_read returns text in screen-sized pages: page: 0 is the current screen, page: 1 the one before it, and so on back through scrollback.
Lines the terminal wrapped at its right edge are joined back into the single line the program printed (joinWrapped: false gives one line per screen row).
Text can't show color, so it can't show which menu entry is selected. Reads therefore end with a list of what is highlighted on screen — text in reverse video or on a background color — with the row and columns terminal_click takes:
Highlighted on screen (reverse video or background color; screen row, columns):
row 7, cols 3-18: "Unstaged changes"
If most of the screen is colored panels, the list is replaced by a pointer to terminal_screenshot. Turn it off with highlights: false.
The cursor is marked with ▌. On an empty cell it simply tak