A favicon of Shell Command Integration

Shell Command Integration

Enable AI systems to execute shell commands securely and efficiently. Leverage powerful filesystem capabilities while maintaining strict security controls. Automate tasks and streamline workflows with a simple API for LLM integration.

Installation

Installing for Claude Desktop

Manual Configuration Required

This MCP server requires manual configuration. Run the command below to open your configuration file:

npx mcpbar@latest edit -c claude

This will open your configuration file where you can add the Shell Command Integration MCP server manually.

MCP-ShellJS

An MCP server that provides safe, controlled ShellJS access for LLMs like Claude.

Overview

MCP-ShellJS bridges the Model Context Protocol (MCP) with ShellJS, enabling AI systems to execute shell commands within a secure sandbox. It provides controlled filesystem access with multiple security layers.

Features

  • Simplified security:
    • Read-only mode by default
    • Optional read-write mode via command line flag
    • Optional exec permission via command line flag
  • Schema-based validation with Zod
  • Full ShellJS functionality (ls, grep, sed, find, etc.)
  • TypeScript implementation with strong typing
  • Simple API for LLM integration

Installation

# Clone the repository
git clone https://github.com/yourusername/mcp-shelljs.git
cd mcp-shelljs

# Install dependencies
npm install

# Build the project
npm run build

Usage

Command Line

# Default mode (read-only)
node dist/index.js

# Enable read-write operations
node dist/index.js --enable-rw

# Enable exec command (careful!)
node dist/index.js --enable-exec

# Enable both
node dist/index.js --enable-rw --enable-exec

TypeScript Integration

// Import and initialize the MCP server
import { startMCPServer } from 'mcp-shelljs';

// Start the server with default configuration (read-only)
startMCPServer();

// Or with custom security configuration
startMCPServer({
  enableRw: true,   // Enable read-write operations
  enableExec: false // Keep exec disabled
});

Security Design

MCP-ShellJS implements a simple security model:

  1. Read-Only Mode (Default): Only commands that don't modify the filesystem are available
  2. Read-Write Mode (--enable-rw): Enables commands that can create, modify, or delete files
  3. Exec Mode (--enable-exec): Enables the potentially dangerous exec command for executing arbitrary shell commands

The server runs with stdio transport only, making it suitable for integration with desktop LLM applications.

Why Use MCP-ShellJS?

For AI developers, MCP-ShellJS enables powerful filesystem capabilities with controlled risk:

  • Efficient exploration: Fast search with grep and find across codebases
  • Text processing: Transform files with sed without loading them entirely
  • Safe automation: Let AI help with file organization and management
  • Powerful pipelines: Chain operations with Unix-style piping

Resources

Directory Resource

directory://{path}?include={glob}&exclude={glob}&honor_gitignore={boolean}

Provides directory listing with powerful filtering capabilities:

ParameterDescription
includeGlob pattern(s) to include (e.g., *.js,*.ts)
excludeGlob pattern(s) to exclude (e.g., node_modules,dist)
honor_gitignoreWhen true, filters out files matching patterns in .gitignore
recursiveWhen true, includes subdirectories recursively

Example:

directory:///project/src?include=*.ts&exclude=*.test.ts&honor_gitignore=true

File Resource

file://{path}?lines={boolean}&start={number}&end={number}

Provides file contents with options for viewing specific portions:

ParameterDescription
linesWhen true, includes line numbers in output
startFirst line to include (1-based indexing)
endLast line to include
highlightGlob pattern to highlight matching text

Example:

file:///project/src/index.ts?lines=true&start=10&end=50

Tools

MCP-ShellJS exposes ShellJS commands as tools, grouped by security risk level:

Read-Only Tools

ToolDescriptionArguments
catOutput file contentsfiles: String/Array, options: Object with -n (number lines)
grepSearch files for patternsregex, files, options: Object with -v (invert), -l (filenames only), -i (ignore case)
findRecursively find filespaths: String/Array (returns file paths including base dirs)
lsList directory contentspaths: String/Array, options: Object with -R (recursive), -A (all), -L (follow symlinks), -d (dirs only)
whichLocate a commandcommand: String (returns path to command)
pwdPrint working directory(no arguments)
testTest file conditionsexpression: String (e.g., -d path directory exists, -f path file exists)
headShow first linesfiles: String/Array, options: Object with -n <num> (lines to show)
tailShow last linesfiles: String/Array, options: Object with -n <num> (lines to show)
sortSort linesfiles: String/Array, options: Object with -r (reverse), -n (numeric)
uniqFilter duplicated linesinput: String, output: String, options: Object with -i (ignore case), -c (count), -d (duplicates only)

Read-Write Tools

ToolDescriptionArguments
mkdirCreate directoriesdir: String/Array, options: Object with -p (create intermediate dirs)
touchCreate/update filesfiles: String/Array, options: Object with -c (no create), -a (access time only), -m (mod time only)
cpCopy files/directoriessource: String/Array, dest: String, options: Object with -R (recursive), -n (no clobber), -f (force)
mvMove files/directoriessource: String/Array, dest: String, options: Object with -f (force), -n (no clobber)
rmRemove files/directoriesfiles: String/Array, options: Object with -r/-R (recursive), -f (force)
sedStream editor for filessearch_regex: RegExp, replacement: String, files: String/Array, options: Object with -i (in-place)

Special Permission Tools

ToolDescriptionArguments
execExecute commandcommand: String, options: Object with async, silent, requires allowExec: true config

License

GPL-3.0-or-later

Share:
Details:
  • Stars


    0
  • Forks


    0
  • Last commit


    3 months ago
  • Repository age


    3 months
View Repository

Auto-fetched from GitHub .

MCP servers similar to Shell Command Integration:

 

 
 
  • Stars


  • Forks


  • Last commit


 

 
 
  • Stars


  • Forks


  • Last commit


 

 
 
  • Stars


  • Forks


  • Last commit


Shell Command Integration: MCP Server – MCP.Bar