Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Shell Serverlist all files in my current directory"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Shell Server
A lightweight MCP server that gives AI assistants access to your terminal.
Run shell commands through the Model Context Protocol — connect any MCP-compatible AI client to your system's terminal.
Features
Single tool, full power — exposes a
terminaltool that runs any shell commandStdout + stderr — returns combined output with clear labeling
Timeout protection — commands are capped at 30 seconds
Error reporting — non-zero exit codes are surfaced automatically
Stdio transport — works with any MCP client out of the box
Quickstart
With uv (recommended)
# Clone the repo
git clone https://github.com/joandiazcapell/shellserver.git
cd shellserver
# Install dependencies and run
uv sync
uv run server.pyWith Docker
# Build the image
docker build -t shellserver .
# Run the container
docker run --rm -i shellserverOr pull directly from Docker Hub:
docker run --rm -i yourusername/shellserver:latestMCP Client Configuration
Add this to your MCP client config to connect:
Local (uv)
{
"mcpServers": {
"shell": {
"command": "uv",
"args": ["run", "server.py"],
"cwd": "/path/to/shellserver"
}
}
}Docker
{
"mcpServers": {
"shell": {
"command": "docker",
"args": ["run", "--rm", "-i", "shellserver"]
}
}
}Tool Reference
terminal
Run a shell command and return its output.
Parameter | Type | Description |
|
| The shell command to execute |
Returns — stdout, stderr (if any), and exit code (if non-zero).
> terminal("echo hello world")
hello world
> terminal("ls nonexistent")
STDERR:
ls: nonexistent: No such file or directory
Exit code: 1Project Structure
shellserver/
├── server.py # MCP server implementation
├── pyproject.toml # Project metadata & dependencies
├── uv.lock # Locked dependencies
├── Dockerfile # Container build file
└── README.mdRequirements
Python 3.13+
uv (for local development)
Docker (for containerized usage)
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.