MCP CLI Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_processesA | Get a list of all processes. Returns: A dictionary of ProcessDetails objects with PID as key. ProcessDetails contains pid, command and is_alive. |
| start_programB | Start a CLI program in a PTY. Args: command: The command to run (e.g., "cat", "python -i", "ls -la"). Returns: The process ID (pid) of the started program. |
| is_aliveA | Check if a program is running. Args: pid: The process ID returned by start_program(). Returns: True if the program is running, False otherwise. |
| stop_programB | Stop a running program. Args: pid: The process ID returned by start_program. Returns: A confirmation message. |
| stop_all_programsB | Stop all running programs. Returns: A confirmation message. |
| write_inputA | "). |
| read_outputA | Read available output from a running program. Args: pid: The process ID returned by start_program(). max_bytes: Maximum number of bytes to read. timeout: Maximum time to wait for output. Returns: The output text read from the process. Returns empty string if no output. |
| wait_for_outputA | Wait until a specific text pattern appears in the output. Args: pid: The process ID returned by start_program(). pattern: The text to wait for. timeout: Maximum time to wait in seconds. Returns: The output captured so far, or an error/timeout message. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Tools are mostly distinct: get_processes lists all, is_alive checks status, start/stop manage lifecycle, read_output reads current output, wait_for_output waits for pattern, write_input sends text. Some minor overlap exists between read_output and wait_for_output, but they serve different purposes (immediate read vs. waiting).
All tool names use snake_case with a verb_noun pattern (e.g., start_program, stop_program). 'is_alive' deviates slightly (adjective_noun) but is still clear. Overall consistent enough for easy prediction.
8 tools is an ideal number for a CLI process management server. Each tool covers a distinct aspect without bloat, making the surface easy to navigate.
Covers core lifecycle (start, stop, list, check status), I/O (write, read, wait for pattern). Lacks a restart or signal-sending tool, but the set is sufficient for most interactive CLI use cases.