Skip to main content
Glama
schajii

Shell Server

by schajii

Shell Server

A simple MCP server that exposes a terminal tool, allowing AI agents to execute shell commands.

Requirements

  • Python 3.10+

  • uv

Related MCP server: MCP Shell Server

Setup

uv venv
uv sync

Running

uv run server.py

Or during development with the MCP inspector:

uv run mcp dev server.py

Tool

terminal

Executes a shell command and returns its output.

Input

Parameter

Type

Description

command

string

The shell command to execute

Output

{
  "stdout": "...",
  "stderr": "...",
  "return_code": 0
}

Connecting to Cursor

Add the following to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "shellserver": {
      "command": "uv",
      "args": [
        "--directory",
        "/Users/sami/Documents/MCP/mcp-servers/shellserver",
        "run",
        "server.py"
      ]
    }
  }
}

Then restart Cursor. The terminal tool will be available to the Agent.

Security

This server executes arbitrary shell commands. Only run it locally and never expose it over a network.

Available Tools

1 tool
terminalA

Run a terminal command and return the output.

Args: command: The command to execute in the terminal.

Returns: A dictionary containing stdout, stderr, and return_code.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

Discloses return format (stdout, stderr, return_code) but fails to mention potential side effects, security implications, or execution environment. For a command runner, this is a significant gap.

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

Conciseness5/5

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

Three sentences front-load the purpose, followed by parameter and return details. No unnecessary words, highly efficient.

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

Completeness3/5

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

Adequate for a simple tool with one parameter and a documented return value. But missing important context like working directory, timeout, or security warnings that would be prudent for a command execution tool.

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

Parameters4/5

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

The description explains the single parameter 'command' as 'The command to execute in the terminal', adding meaning beyond the schema which has no description. However, it could elaborate on shell syntax or encoding.

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

Purpose5/5

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

Clearly states the tool runs a terminal command and returns output. The verb 'run' and resource 'terminal command' are specific and unambiguous, with no sibling tools to confuse.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, or when not to use it. The description lacks context about prerequisites, safety, or appropriate use cases.

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. Dates show when Glama detected each change.

  1. 1 tool updatev0.1.0
    • First observedterminal

TDQS

A3.5/5.0
Disambiguation5/5

With only one tool, there is no possibility for confusion or overlap. The tool is clearly distinct.

Naming Consistency5/5

A single tool's name cannot be inconsistent. There is no pattern to evaluate, but no conflicting conventions exist.

Tool Count2/5

A single tool is too few for typical usage. The server would benefit from additional tools like file operations or environment variable management to be more useful.

Completeness2/5

The server only provides command execution. For a shell server, missing essential operations like reading files, managing directories, or handling processes limits its usefulness and may cause agent failures.

Maintenance

ActivityStale
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    C
    maintenance
    A server that enables AI assistants to execute terminal commands and retrieve outputs via the Model Context Protocol (MCP).
    3
    27
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    A simple MCP server that provides a terminal tool for executing shell commands with safety features like timeouts and error handling.
    -
  • F
    license
    B
    quality
    D
    maintenance
    An MCP server that enables users to execute arbitrary shell commands on their local machine and receive the output. It provides a terminal tool for running system commands through MCP-compatible clients using the Python SDK.
    1
    -
  • F
    license
    A
    quality
    D
    maintenance
    A lightweight MCP server that provides AI assistants with access to a system's terminal through a secure terminal tool. It enables users to execute shell commands and receive stdout, stderr, and exit codes directly within an MCP-compatible client.
    1
    -

Latest Blog Posts

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/schajii/MCP-to-understand'

If you have feedback or need assistance with the MCP directory API, please join our Discord server