Shell Server
A Model Context Protocol server that enables users to execute arbitrary shell commands through a terminal tool. It supports custom working directories, configurable execution timeouts, and safe command parsing using shlex.
README
Shell Server - MCP Terminal Tool
A simple MCP (Model Context Protocol) server that exposes a terminal tool for executing shell commands.
Features
- Execute shell commands via MCP protocol
- Support for custom working directories
- Configurable timeout for command execution
- Safe command parsing using
shlex - Proper error handling and output capture
Installation
Install dependencies using uv (recommended) or pip:
# Using uv
uv sync
# Or using pip
pip install -e .
Usage
Running the Server
Run the server directly:
python server.py
The server uses stdio transport by default, which is suitable for MCP clients like Claude Desktop or Cursor.
MCP Client Configuration
To use this server with an MCP client, add it to your client configuration:
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"shellserver": {
"command": "python",
"args": ["/path/to/shellserver/server.py"]
}
}
}
Cursor (similar configuration):
{
"mcpServers": {
"shellserver": {
"command": "python",
"args": ["/path/to/shellserver/server.py"]
}
}
}
Tool Usage
The server exposes a single tool called terminal with the following parameters:
command(required): The shell command to execute (e.g.,"ls -la","pwd","echo hello")working_directory(optional): The working directory to run the command intimeout(optional): Timeout in seconds (default: 30.0)
Example Tool Calls
{
"name": "terminal",
"arguments": {
"command": "ls -la"
}
}
{
"name": "terminal",
"arguments": {
"command": "pwd",
"working_directory": "/tmp"
}
}
{
"name": "terminal",
"arguments": {
"command": "echo 'Hello, World!'",
"timeout": 10.0
}
}
Security Considerations
⚠️ Warning: This server allows execution of arbitrary shell commands. Use with caution:
- The server executes commands in the context of the user running it
- Commands are parsed using
shlexto handle quoted arguments safely - A timeout is enforced to prevent long-running commands
- Consider running the server in a restricted environment or container for production use
Development
The server is built using:
- MCP Python SDK
- FastMCP for simplified server creation
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.