mcp-shell-server-example
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 |
|---|---|
| terminalC | Run a shell command on the local machine and return its output. |
| terminal_linuxC | Run a shell command inside the container (Linux sh) and return its output. |
| benign_toolD | |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| mcp_readme | The project's mcpreadme.md content. |
TDQS
Scored across 3 tools
Tools have distinct functions: benign_tool downloads via curl, terminal runs local commands, terminal_linux runs containerized commands. However, the two terminal tools share the same core purpose (shell execution) and could be confused without careful reading.
Names use snake_case, but 'benign_tool' does not follow a verb_noun pattern like the others. 'terminal' and 'terminal_linux' are similar but 'terminal' is generic, breaking consistency.
Three tools is appropriate for a shell server focused on command execution and file retrieval. No unnecessary bloat or insufficiency.
Covers core shell operations with local and containerized execution, plus URL downloads. Minor gap: no file management or process control tools, but essential workflows are supported.