SmartCLI
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 |
|---|---|
| startA | Spawn a program in a new detached, persistent session and return its id. The session survives across tool calls (a localhost-only daemon owns the live
PtySession). Server-side limits (violations return an error): at most 8 concurrent
sessions by default (tunable via SMARTCLI_MAX_SESSIONS); |
| list_sessionsA | List active drive-tui sessions. Returns {"ok", "sessions"}: each entry carries "sid", "port", "pid", "cmd", "cols", "rows", "cwd" and "started". |
| snapshotA | Read a semantic snapshot of the session's current screen. Returns {"ok", "alive", "alt_screen", "text", "hash", "visual_hash"}:
|
| closeA | Terminate a session and its daemon. Always close sessions when done. |
| send_textA | Type literal text into the session (no Enter). Use for filling fields. |
| send_lineA | Type text followed by Enter — the common 'run this command' action. |
| send_keysA | Send key tokens, e.g. ["Down", "Down", "Enter"], ["C-c"], ["M-x"]. Named tokens: Enter, Return, Tab, BackTab, Space, Backspace, Delete, Escape, Esc, Up, Down, Right, Left, Home, End, PageUp, PageDown, Insert, F1-F12. Combos: "C-" or "^" (Ctrl — letters plus @, Space, [, , ]) and "M-" (Meta/Alt, ESC prefix). Any other token is not an error — it is typed as literal text. Arrow keys adapt to the app's cursor-key mode (SS3 under DECCKM, CSI else), so menu navigation works in curses apps. |
| wait_regexA | Block until Returns {"ok", "matched", "alive", "text", "json"}. Timeout is not an error: the call returns ok=true with matched=false plus the final screen snapshot. Screen lines are right-padded with spaces — end-anchored patterns never match; use unanchored markers. This is the readiness sync — prefer it over a blind delay after send_line/send_keys. |
| wait_changeA | Block until the screen content changes, then snapshot. The precise "did my action land?" primitive: call it right after send_line/
send_keys to wait for ANY change from the baseline (default: the screen at
call time; or pass a prior |
| wait_visual_changeA | Wait for text, selection styling, or cursor position to change. Prefer this after arrow/navigation keys in full-screen TUIs. Pass a prior
|
| wait_anyA | Wait for ANY of Race several possible outcomes at once — e.g. patterns=[">>> ", "Error",
"Password:"] — and learn WHICH happened. Patterns are scanned in list order
each poll, so the earliest in the list wins a same-poll tie (put the most
specific first). Screen lines are right-padded with spaces — end-anchored
patterns never match; use unanchored markers. Returns {"ok", "index",
"matched", "alive", "text", "json"} where |
| wait_readyA | Wait for a regex Returns a snapshot plus |
| aliveA | Check whether the session's child process is still running. |
| resizeB | Resize the session's terminal to cols x rows. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/dwgx/SmartCLI'
If you have feedback or need assistance with the MCP directory API, please join our Discord server