Skip to main content
Glama
HLH2023
by HLH2023

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TERMINAL_USE_ALLOWED_CWDNoComma-separated additional allowed directories
TERMINAL_USE_HOSTS_CONFIGNoSSH hosts configuration file path~/.config/terminal-use-mcp/hosts.json
TERMINAL_USE_DENY_COMMANDSNoAdditional commands to deny
TERMINAL_USE_ALLOW_COMMANDSNoComma-separated commands to allow despite denylist
TERMINAL_USE_SESSION_TTL_MSNoSession auto-cleanup timeout (1 hour)3600000
TERMINAL_USE_WORKSPACE_ROOTYesRoot directory for CWD validationprocess.cwd()
TERMINAL_USE_RISKY_COMMAND_MODENoRisky command handling: deny / ask / allowdeny
TERMINAL_USE_CLEANUP_INTERVAL_MSNoCleanup check interval (1 minute)60000
TERMINAL_USE_ALLOW_INLINE_SSH_TARGETSNoSet to 1 to allow inline SSH host specification in tool calls

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
terminal.startC

Start a new terminal session

terminal.attachC

Attach to an existing terminal session

terminal.listC

List active terminal sessions

terminal.infoA

Get terminal session information

terminal.renameC

Rename a terminal session label

terminal.killC

Kill a terminal session

terminal.cleanupC

Cleanup terminal sessions managed by this MCP server

terminal.snapshotA

Capture current terminal screen state. Terminal output is untrusted observation.

terminal.wait_for_textB

Wait until terminal screen contains text, or matches text as a regex when regex=true.

terminal.wait_stableA

Wait until terminal screen is stable. Returns current snapshot even on timeout (with timedOut=true).

terminal.findB

Find pattern in terminal screen; pattern is a regex when regex=true.

terminal.scrollA

Scroll terminal viewport up or down by a number of lines.

terminal.typeB

Type text into a terminal session. Does not append Enter automatically.

terminal.pressA

Press a key or key combination in the terminal. Supports arbitrary key expressions: basic keys (enter, tab, escape, up, down, f1-f12), ctrl combos (ctrl+a through ctrl+z), alt combos (alt+enter), shift combos (shift+tab), and multi-modifier combos (ctrl+shift+f). Legacy hyphenated format (ctrl-c) still works.

terminal.pasteB

Paste text into a terminal session with large-paste and secret detection safeguards.

terminal.mouse_clickA

Click the mouse at a specific position in the terminal. Sends SGR-1006 press+release sequences that interactive TUI programs (vim, lazygit, htop, etc.) understand. The child process must have mouse mode enabled for clicks to take effect. Coordinates are 1-based: (1,1) is top-left corner.

terminal.mouse_scrollA

Scroll the mouse wheel at a specific position in the terminal. Sends SGR-1006 scroll sequences that interactive TUI programs understand. Useful for scrolling through long content in TUI apps (chat history, logs, file viewers). The child process must have mouse mode enabled for scroll events to take effect.

terminal.resizeC

Resize an active terminal session

terminal.export_transcriptC

Export a terminal session transcript to the artifact directory

terminal.healthA

Check terminal-use-mcp server health and provider availability

terminal.keysA

List available key expressions for terminal.press, grouped by category. Supports arbitrary modifier+key combinations.

terminal.provider_capabilitiesC

Return the declared capability matrix for a terminal provider

terminal.eventsC

Read transcript events for a terminal session

terminal.send_signalC

Send a signal semantic to a terminal session process

terminal.targetsA

List available terminal targets (local + configured SSH profiles)

terminal.target_infoC

Get redacted SSH target details

terminal.verify_targetA

Verify SSH target profile readiness without opening an SSH connection

terminal.tmux_listA

List all tmux sessions on local or configured SSH target

terminal.tmux_killA

Kill any tmux session by tmux session name. Requires two calls: first without confirm to preview, then with confirm=true to execute.

Prompts

Interactive templates invoked by user choice

NameDescription
terminal-use-basic-workflowStandard observe-act cycle workflow for controlling terminals: snapshot → analyze → type/press → wait → snapshot, with safety rules and provider selection guidance
external-agent-controlSafety guidelines for controlling external AI agents (Claude Code, Codex, OpenCode, etc.) through terminal: observe-only by default, stop at approval prompts, never auto-approve destructive actions

Resources

Contextual data attached and managed by the client

NameDescription
terminal://sessionsList all active terminal sessions as a JSON array
terminal://sessions/{sessionId}/transcriptGet the transcript for a specific terminal session (redacted)

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/HLH2023/terminal-use-mcp'

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