MCP Terminal Tool Server
# MCP Terminal Tool Server
This is a simple MCP server built with the MCP Python SDK. It exposes a single tool called `terminal_tool` that allows users to run terminal commands and returns their output.
## Requirements
- Python 3.8+
- MCP Python SDK (`pip install mcp-sdk`)
## Running the Server
```bash
python server.py
```
## Exposed Tool
### terminal_tool
- **Description:** Run a terminal command and return its output as a string.
- **Arguments:**
- `command` (str): The terminal command to execute.
- **Returns:**
- Output of the command as a string (stdout or stderr).
---
**Note:** Use with caution. This tool executes arbitrary shell commands on the server.
## MCP Inspector & Claude Configuration
To connect this server to the MCP Inspector, Claude (Anthropic), or other MCP-compatible clients, use a configuration like the following:
```json
{
"mcpServers": {
"terminal_tool": {
"command": "uv",
"args": [
"--directory",
"/path/to/your/project",
"run",
"server.py"
]
}
}
}
```
- Replace `/path/to/your/project` with the absolute path to your project directory.
- This configuration will launch the server using `uv` and connect via stdio transport (default).
- **Claude (Anthropic) users:** You can add this configuration to your Claude MCP settings to enable tool use with your local server.
- For HTTP transport, start the server manually with `python server.py` (or `uv run server.py`) and connect to the appropriate URL in the Inspector.
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion or overlap between tools. The tool has a single, clear purpose: running terminal commands and returning output.
The single tool name 'terminal_tool' follows a consistent noun_noun pattern, though with only one tool, consistency is inherently perfect. There are no deviations or mixed conventions to evaluate.
A single tool for a terminal server is too few for the apparent scope, as it lacks coverage for common terminal operations like listing files, navigating directories, or managing processes. This minimal set will likely cause agent failures due to missing functionality.
The tool surface is severely incomplete for a terminal server. While 'terminal_tool' can run arbitrary commands, there are significant gaps: no dedicated tools for basic operations (e.g., ls, cd, pwd, ps) or structured outputs, forcing agents to rely on raw command parsing and increasing error risk.