Skip to main content
Glama
fabiogomez

Shell MCP Server

by fabiogomez

Shell MCP Server

Simple Model Context Protocol (MCP) server that exposes a single terminal tool for running shell commands.

Prerequisites

  • Python 3.11+

  • uv or pip

Installation

uv sync
# or
pip install -e .

Usage

Run the server over stdio:

python main.py

The server registers a terminal tool. Invoke it with an object shaped like:

{
  "command": "echo hello"
}

Command output is returned as MCP TextContent. Errors are surfaced with a prefixed Error: message.

Resource

This server exposes a resource:

  • ID: mcpreadme://desktop

  • Returns the contents of mcpreadme.md resolved from OneDrive Desktop.

Resolution order:

  • $OneDrive/Desktop/mcpreadme.md

  • ~/OneDrive/Desktop/mcpreadme.md

  • ~/Desktop/mcpreadme.md

If the file is missing or unreadable, a textual error message is returned.

Docker

Build and run with uv inside the container (per uv Docker guide):

docker build -t shellserver .
docker run --rm -it shellserver

This image installs uv from the official image and uses:

  • Dependency caching layers via uv sync --no-install-project

  • Final run command equivalent to local: uv run main.py

Reference: uv Docker integration docs: Installing a project

Available Tools

1 tool
terminalD
ParametersJSON Schema
NameRequiredDescriptionDefault
commandYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev0.1.0
    • First observedterminal

TDQS

D1.6/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool exists, so there is no ambiguity about which tool to use.

Naming Consistency3/5

With only one tool, naming consistency is not applicable; however, the name 'terminal' is a simple noun, which is acceptable but lacks a verb pattern.

Tool Count2/5

A single tool for a shell server is too few; typical shell operations (e.g., run command, list files, manage processes) are all collapsed into one tool, making it overly broad and not well-scoped.

Completeness2/5

The tool surface is severely incomplete for a shell server, as it lacks explicit tools for common operations like file management, process control, or environment configuration, forcing the agent to rely on a single generic tool.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables execution of shell commands through a terminal tool with working directory support and timeout protection. Also provides access to MCP documentation as a resource.
    -
  • A
    license
    A
    quality
    B
    maintenance
    Enables secure command-line interactions on Windows systems with support for PowerShell, CMD, Git Bash, and WSL shells, providing controlled file access, command execution, and configurable security restrictions.
    6
    14 npm
    4
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables GPT Desktop to interact with local file systems and execute shell commands. Supports file operations (read, write, edit, delete), directory management, file search, and git status checks through natural language.
    -