trackmcp
Back to directory
xkiranj

linux-command-mcp

View on GitHub

MCP server and client for running Linux commands

15 stars TypeScriptDeveloper Kits Updated Oct 16, 2025

Documentation

Linux Command MCP (Model Context Protocol)

Overview

Linux Command MCP is a remote command execution system built using the Model Context Protocol (MCP), allowing secure and standardized execution of Linux commands.

Configuration for Claude Desktop MCP Servers

Understanding the Configuration

The MCP servers are configured in the `claude_desktop_config.json` file, typically located at `~/.config/Claude/claude_desktop_config.json`.

Configuration Structure

json
"mcpServers": {
  "server-name": {
    "command": "node|npx|uvx",
    "args": ["server-specific-arguments"],
    "env": {
      "OPTIONAL_ENVIRONMENT_VARIABLES": "value"
    }
  }
}

Linux Command MCP Server Configuration

json
"linux-command": {
  "command": "node",
  "args": [
    "/full/path/to/linux-command-mcp/server/dist/index.js"
  ]
}

Configuration Explained

  • `"command"`: Specifies the executor (`node`, `npx`, `uvx`)
  • `"args"`: Full path to the server's executable
  • Ensure the path is an absolute path to your `index.js`

Important Configuration Tips

  • Always use full, absolute paths
  • Verify file permissions
  • Ensure the specified file is executable

Prerequisites

  • Node.js (v18.x or later)
  • npm
  • PM2 (for process management)

Installation

1. Clone the repository

bash
git clone 
cd linux-command-mcp

2. Install server dependencies

bash
cd server
npm install
npm run build

3. Install client dependencies

bash
cd ../client
npm install
npm run build

Usage

Starting the Server

1. Navigate to the server directory

bash
cd server

2. Start with PM2

bash
npm run pm2:start

Using the Client

Available Commands:

1. exec - Execute a Linux command

2. list [directory] - List directory contents

3. help - Show this help

4. exit - Exit the client

Execute commands directly:

bash
# In the client directory
npm start 
exec "ls -l"
exec "list /home"
exec "uname -a"

Interactive Commands & Stdin Support

✨ NEW: The Linux Command MCP server now supports interactive scripts via stdin!

Using stdin Parameter

You can now provide input to interactive scripts using the `stdin` parameter:

typescript
// Example: Run an interactive Python game
await callTool('execute-command', {
  command: 'python3 /path/to/interactive_script.py',
  stdin: '15\n2\n1\n2\n1\n'  // Automated responses
});

How it works:

  • The `stdin` parameter sends input to the script before execution
  • Input is sent line-by-line (use `\n` for newlines)
  • Script runs to completion with automated responses
  • All output is captured and returned

Interactive Script Examples

Python game with input:

bash
# Game expects: number of sticks, then player moves
stdin: "15\n2\n1\n2\n1\n"

Setup wizard:

bash
# Wizard expects: username, email, confirm
stdin: "johndoe\njohn@example.com\ny\n"

Multiple choice prompt:

bash
# Script shows options 1-5, user selects option 3
stdin: "3\n"

Sudo Commands

Important Note: The Linux Command MCP server still CANNOT execute `sudo` commands that require password prompts.

For sudo commands:

1. Execute the command manually with proper permissions

2. Or configure passwordless sudo for specific commands

3. Or use the stdin parameter for non-sudo interactive scripts

Troubleshooting

  • Ensure PM2 is running: `pm2 list`
  • Check server logs: `pm2 logs linux-command-mcp-server`
  • Verify server and client builds

Using Linux Commands in Claude Desktop

Example Interactions

Here are some safe, generic examples of how you can ask Claude to run Linux commands:

1. Check System Information

    code
    $ uname -r

    2. List Directory Contents

      code
      $ ls ~

      3. Check Available Disk Space

        code
        $ df -h

        4. View System Uptime

          code
          $ uptime

          5. Check Network Interfaces

            code
            $ ip addr

            6. System Memory Information

              code
              $ free -h

              Important Usage Guidelines

              • Privacy: Only run commands that do not reveal sensitive information
              • Safety: Avoid commands that modify system configuration
              • Scope: Focus on informational and diagnostic commands

              What to Avoid

              ❌ Do NOT run commands that:

              • Reveal personal file names or paths
              • Contain sensitive system configurations
              • Modify system settings
              • Require sudo or root permissions

              Example Conversation

              User: "Can you check the Linux kernel version?"

              Claude: Certainly! I'll run the command to show the Linux kernel version.

              code
              $ uname -r
              5.15.0-91-generic

              This kernel is running Ubuntu 22.04.3 LTS.

              Security Considerations

              • Only run this on trusted networks
              • Limit access to the server
              • Be cautious with command execution

              Security and Best Practices

              • Always be mindful of the information you're requesting
              • Use commands that provide system-level, non-sensitive information
              • When in doubt, ask Claude to clarify the command's purpose

              Contributing

              Improve and expand the Linux Command MCP by:

              • Adding more safe, generic command examples
              • Enhancing documentation
              • Suggesting improvements to command execution

              License

              MIT license

              Contact

              • Email: xkiranj.1980@gmail.com
              • Blockchain: 0xkiran.eth

                Frequently asked questions

                What is linux-command-mcp?

                linux-command-mcp is MCP server and client for running Linux commands

                How do I install linux-command-mcp?

                Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

                Is linux-command-mcp open source?

                Yes — it is hosted on GitHub at https://github.com/xkiranj/linux-command-mcp and has 15 stars.

                Related MCP tools

                Run your own MCP server? See who uses it and what to fix.

                Measure it with TrackMCP