samihalawa
MCP Serversamihalawapublic

mcp server shell exec

Shell Execution MCP Server for Claude and other MCP-compatible AI assistants

Repository Info

0
Stars
1
Forks
0
Watchers
0
Issues
JavaScript
Language
-
License

About This Server

Shell Execution MCP Server for Claude and other MCP-compatible AI assistants

Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.

Documentation

Shell Execution MCP Server

A Model Context Protocol (MCP) server that provides persistent shell command execution capabilities for Claude and other MCP-compatible AI assistants.

Features

  • Persistent Shell Session: Maintains state between commands in the same session
  • Background Execution: Run commands in the background with proper process management
  • Cross-Platform: Works on macOS, Linux, and Windows with the appropriate shell
  • Timeout Control: Configure command execution timeouts to prevent hanging
  • Session Reset: Ability to reset the shell session if needed

Installation

# Clone the repository
git clone https://github.com/samihalawa/mcp-server-shell-exec.git
cd mcp-server-shell-exec

# Install dependencies
npm install

# Make the server executable
chmod +x server.js

Usage

Starting the Server

npm start

Configuration

Add the server to your MCP configuration:

macOS/Linux

{
  "mcpServers": {
    "shell-exec-server": {
      "command": "/path/to/node",
      "args": [
        "/absolute/path/to/mcp-server-shell-exec/server.js"
      ]
    }
  }
}

Windows

{
  "mcpServers": {
    "shell-exec-server": {
      "command": "node",
      "args": [
        "C:\\path\\to\\mcp-server-shell-exec\\server.js"
      ]
    }
  }
}

Available Tools

execute-command

Execute a shell command in the persistent shell session.

Parameters:

  • command (string, required): The shell command to execute
  • runInBackground (boolean, optional): Whether to run the command in the background. Default: false
  • timeoutMs (number, optional): Timeout in milliseconds for the command. Default: 30000

Returns:

  • success (boolean): Whether the command executed successfully
  • output (string): Output from the command execution

reset-shell

Reset the shell session. This will kill the current session and start a new one.

Parameters: None

Returns:

  • success (boolean): Whether the shell was reset successfully
  • message (string): Status message

Example Usage

  1. Execute a simple command:

    execute-command(command: "ls -la")
    
  2. Run a long-running command in the background:

    execute-command(command: "sleep 60 && echo 'Done'", runInBackground: true)
    
  3. Execute a command with a custom timeout:

    execute-command(command: "find / -name '*.js'", timeoutMs: 60000)
    
  4. Reset the shell session:

    reset-shell()
    

How It Works

The server uses Node.js to create a shell process that maintains state between commands. This allows for:

  • Environment variables to persist between commands
  • Working directory to remain consistent
  • Background processes to continue running
  • Interactive commands that require stdin/stdout

Requirements

  • Node.js 14+
  • Compatible with Claude Desktop, Cursor, and other MCP-compatible applications

Troubleshooting

If you encounter issues with the MCP server, check the following:

Common Error: Tool Execution Failed

If you see "Tool execution failed" errors, check:

  1. That the server is running correctly
  2. That your configuration file uses absolute paths
  3. That you have restarted your client application after changing the configuration

Testing the Server

You can test the server directly by sending a command:

echo '{"id":"test1","jsonrpc":"2.0","method":"execute-command","params":{"command":"echo \"Hello World\""}}' | node server.js

This should return a properly formatted JSON response with the output.

Configuration Path Issues

Double-check the paths in your configuration:

  • Use absolute paths instead of relative paths
  • For Windows users, use forward slashes (/) or escaped backslashes (\) in the path
  • Verify the server file path is correct

Quick Start

1

Clone the repository

git clone https://github.com/samihalawa/mcp-server-shell-exec
2

Install dependencies

cd mcp-server-shell-exec
npm install
3

Follow the documentation

Check the repository's README.md file for specific installation and usage instructions.

Repository Details

Ownersamihalawa
Repomcp-server-shell-exec
LanguageJavaScript
License-
Last fetched8/10/2025

Recommended MCP Servers

💬

Discord MCP

Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.

integrationsdiscordchat
🔗

Knit MCP

Connect AI agents to 200+ SaaS applications and automate workflows.

integrationsautomationsaas
🕷️

Apify MCP Server

Deploy and interact with Apify actors for web scraping and data extraction.

apifycrawlerdata
🌐

BrowserStack MCP

BrowserStack MCP Server for automated testing across multiple browsers.

testingqabrowsers

Zapier MCP

A Zapier server that provides automation capabilities for various apps.

zapierautomation