Skip to main content
Glama
quantum-encoding

Terminal MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TERMINAL_MCP_SESSIONNotmux session namemcp-terminals
TERMINAL_MCP_MAX_LINESNoDefault line capture limit200

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
terminal_listA

List all active terminal sessions with their names, PIDs, working directories, and current commands.

terminal_spawnA

Spawn a new named terminal session. Optionally start it in a specific directory and/or run a command immediately.

Use 'mode' to control how Claude sessions run:

  • "interactive" (default): Normal foreground session with permission prompts.

  • "background": Auto-allows safe tools (Bash, Edit, Read, Write, Glob, Grep, Agent) but blocks destructive git commands (force push, reset --hard, branch -D, clean -f) and rm -rf. Best when you want autonomous work with guardrails.

  • "resume": Resume an existing Claude session by name with the same background safety guardrails.

terminal_sendB

Send input (keystrokes) to a named terminal session. Use this to type commands, answer prompts, or send signals.

terminal_readA

Read the current visible output from a terminal session. Returns the last N lines of output with ANSI codes stripped.

terminal_closeA

Close a terminal session by name. Sends SIGTERM to the process running in the pane.

terminal_send_signalA

Send a signal to a terminal session (Ctrl+C to interrupt, Ctrl+Z to suspend, Ctrl+D to EOF, etc).

terminal_resizeA

Resize a terminal pane (useful before reading output from width-sensitive programs).

terminal_snapshotA

Take a snapshot of all terminals — names, commands, last few lines of output. Useful for getting an overview of what's happening across all sessions.

terminal_waitA

Wait for a terminal to show specific output. Polls every second up to the timeout.

Also watches for permission prompts ("Do you want to proceed") and returns immediately with a "permission_needed" status so the conductor can approve without wasting the timeout.

Returns JSON-like status: "found" (pattern matched), "permission_needed" (prompt detected), or "timeout" (neither matched in time).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4/5.0

Scored across 9 tools

Disambiguation5/5

Each tool targets a distinct terminal operation: lifecycle (spawn/list/close), I/O (read/send/signal), and inspection (snapshot/resize/wait). Snapshot differs from list and read by combining an overview of all sessions with recent output. There is no real ambiguity between tools.

Naming Consistency5/5

All tool names follow a consistent terminal_verb pattern: spawn, list, read, send, send_signal, resize, snapshot, wait, close. Even the compound send_signal is clearly a verb_noun construction consistent with the rest. The naming is uniform and predictable.

Tool Count5/5

Nine tools is well-scoped for a terminal management server. Each tool covers a meaningful part of the terminal lifecycle without unnecessary redundancy. The count feels complete and not bloated.

Completeness5/5

The surface covers the full terminal workflow: spawn, interact, read, signal, resize, wait for output, snapshot, and close. There are no obvious missing operations that would prevent an agent from driving a terminal session effectively. The inclusion of permission-prompt handling in terminal_wait rounds out practical needs.

Maintenance

ActivityInactive
ResponsivenessNo issues