loading…
Search for a command to run...
loading…
Playwright for terminals - interact with TUI/CLI applications through structured Terminal State Tree representation with element detection.
Playwright for terminals - interact with TUI/CLI applications through structured Terminal State Tree representation with element detection.
npm version npm downloads License: MIT
MCP server enabling AI agents to interact with terminal applications through structured Terminal State Tree representation. Works with any AI assistant that supports the Model Context Protocol.
npx mcp-server-terminal
Download pre-built binaries from Releases.
git clone https://github.com/aybelatchane/mcp-server-terminal.git
cd mcp-server-terminal
cargo build --release
# Binary: ./target/release/terminal-mcp
claude mcp add terminal -- npx mcp-server-terminal
Add to ~/.claude.json (macOS/Linux) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"]
}
}
}
codex mcp add terminal -- npx mcp-server-terminal
Add to ~/.codex/config.toml:
[mcp_servers.terminal]
command = "npx"
args = ["mcp-server-terminal"]
gemini mcp add terminal npx mcp-server-terminal
VS Code 1.101+ supports MCP. Add to your VS Code settings (settings.json):
{
"mcp.servers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"]
}
}
}
Add to ~/.cursor/mcp.json or .cursor/mcp.json in your project:
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"]
}
}
}
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"]
}
}
}
Add to your Zed settings (Preferences → Settings):
{
"context_servers": {
"terminal": {
"command": {
"path": "npx",
"args": ["mcp-server-terminal"]
}
}
}
}
Click MCP Servers icon → Configure → Advanced MCP Settings, then add:
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"]
}
}
}
Add to your Bedrock agent MCP configuration:
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"]
}
}
}
For any MCP-compatible client, configure the server with:
npx["mcp-server-terminal"]Or if using the binary directly:
terminal-mcpAsk your AI agent:
| Tool | Description |
|---|---|
terminal_session_create |
Start a terminal session |
terminal_session_list |
List active sessions |
terminal_session_close |
Close a session |
terminal_session_resize |
Resize terminal dimensions |
terminal_snapshot |
Capture terminal state with UI elements |
terminal_type |
Type text into terminal |
terminal_press_key |
Press keys (arrows, F-keys, Ctrl+X) |
terminal_click |
Click on detected UI element |
terminal_wait_for |
Wait for text, element, or idle state |
terminal_read_output |
Read raw terminal output |
By default, sessions spawn a visible terminal window (xterm). For headless operation:
npx mcp-server-terminal --headless
Or in your MCP config:
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal", "--headless"]
}
}
}
Visual mode requires X11. Add the DISPLAY environment variable to your MCP config:
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"],
"env": {
"DISPLAY": ":0"
}
}
}
}
Set the RUST_LOG environment variable:
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["mcp-server-terminal"],
"env": {
"RUST_LOG": "info"
}
}
}
}
Log levels: error, warn, info, debug, trace
Logs go to stderr (stdout is reserved for MCP protocol).
| Platform | Architecture | Status | Visual Mode |
|---|---|---|---|
| Linux | x64, arm64 | ✅ Full support | xterm + tmux |
| macOS | x64, arm64 | ✅ Full support | Terminal.app / iTerm2 |
| Windows (WSL) | x64, arm64 | ✅ Full support | xterm + tmux (via X11) |
| Windows (native) | x64 | ⚠️ Headless only | Not supported |
Windows users: Use WSL for full functionality including visual mode.
MIT
Run in your terminal:
claude mcp add aybelatchane-mcp-server-terminal --env DISPLAY="" --env RUST_LOG="" -- npx Yes, aybelatchane/mcp-server-terminal MCP is free — one-click install via Unyly at no cost.
Yes, it requires environment variables: DISPLAY, RUST_LOG. Unyly injects them into the config during install.
Self-hosted: the server runs locally on your machine via the install command above.
Open aybelatchane/mcp-server-terminal on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Browser automation, scraping, screenshots
by MicrosoftBrowser automation and web scraping.
by modelcontextprotocolPlugin-based MCP server + Chrome extension that gives AI agents access to web applications through the user's authenticated browser session. 100+ plugins with a
by opentabs-dev1,500+ developer infrastructure deals, free tiers, and startup programs across 54 categories. Search deals, compare vendors, plan stacks, and track pricing chan
by robhunterNot sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All browse MCPs