Shelly
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| read_terminal_outputA | Read recent output from a Shelly terminal session. Omit sessionId for the active session. |
| git_statusA | Run |
| list_agentsA | Lists the Shelly agents registered on this device. |
| list_reposA | Lists the repository paths configured in Shelly's Sidebar. |
| run_commandA | Runs a shell command on the device. Disabled unless the user turned on Settings → Agents → "MCP: Allow exec/write", and every call still blocks on an in-app approval tap on the phone — expect this to be slow or to fail with "denied" if nobody is there to approve it. |
| write_fileA | Writes a file on the device, scoped to the home dir or a repo from list_repos. Disabled unless the user turned on Settings → Agents → "MCP: Allow exec/write", and every call still blocks on an in-app approval tap. |
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 6 tools
Each tool has a fairly clear distinct target: terminal output, git status, agent listing, repo listing, shell execution, and file writing. The only real overlap is git_status versus run_command, since `git status` is just a shell command, but the wrapper's convenience purpose is legible enough to avoid confusion.
Five of six tools follow a clean verb_noun snake_case pattern (read_terminal_output, list_agents, list_repos, run_command, write_file). git_status breaks the pattern by leading with a domain noun rather than a verb, a minor but noticeable deviation.
Six tools is a lean, well-scoped set for remote device control, and each one maps to a plausible agent need. It sits slightly on the thin side given how much of the device surface is left untouched.
There are notable gaps: write_file exists with no read_file or file listing, read_terminal_output has no way to start a session or send input, and git coverage is limited to status. run_command partially backfills these, but agents will hit dead ends for common read/terminal-interaction workflows.