Skip to main content
Glama

MCP System Server

A Model Context Protocol (MCP) server that provides system automation and control capabilities for Claude.

Features

  • 🖥️ Command Execution: Run system commands safely

  • 📊 System Information: Get CPU, memory, disk, and OS details

  • 🔄 Process Management: List and kill processes

  • 🌐 Network Tools: Check ports and network interfaces

  • 🔧 Environment Variables: Get and set environment variables

  • 💾 Disk Usage: Monitor disk space

  • 🚀 Service Status: Check system service status (macOS/Linux)

Related MCP server: bash-mcp

Installation

  1. Prerequisites:

    • Node.js 18+ installed

  2. Install the MCP server:

    cd /Users/bard/Code/mcp-system
    npm install
  3. Add to Claude Desktop config: Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

    {
      "mcpServers": {
        "system": {
          "command": "node",
          "args": ["/Users/bard/Code/mcp-system/src/index.js"]
        }
      }
    }
  4. Restart Claude Desktop

Usage

Execute Commands

// Run a simple command
system_exec({ command: "ls -la" })

// Run with specific working directory
system_exec({ 
  command: "npm install",
  cwd: "/path/to/project"
})

// Run with environment variables
system_exec({
  command: "echo $MY_VAR",
  env: { MY_VAR: "Hello World" }
})

System Information

// Get all system info
system_info({ type: "all" })

// Get specific info
system_info({ type: "cpu" })     // CPU details
system_info({ type: "memory" })  // Memory usage
system_info({ type: "os" })      // OS information
system_info({ type: "network" }) // Network interfaces

Process Management

// List all processes
process_list()

// Filter processes
process_list({ filter: "node" })

// Limit results
process_list({ limit: 10 })

// Kill a process
process_kill({ pid: 12345 })
process_kill({ pid: 12345, signal: "SIGKILL" })

Network Tools

// Check if a port is in use
port_check({ port: 3000 })
port_check({ port: 8080, host: "0.0.0.0" })

// Get network interface info
network_info()

Environment Variables

// Get all environment variables
env_get()

// Get specific variable
env_get({ variable: "PATH" })

// Set environment variable (for current process)
env_set({ variable: "MY_VAR", value: "my_value" })

Disk Usage

// Check disk usage
disk_usage()  // Default: root directory
disk_usage({ path: "/Users" })

Service Status (macOS/Linux)

// Check service status
service_status({ service: "nginx" })
service_status({ service: "postgresql" })

Tool Reference

Tool

Description

Required Args

system_exec

Execute system command

command

system_info

Get system information

None

process_list

List running processes

None

process_kill

Kill a process

pid

env_get

Get environment variables

None

env_set

Set environment variable

variable, value

service_status

Check service status

service

port_check

Check if port is in use

port

disk_usage

Get disk usage info

None

network_info

Get network interfaces

None

Security Considerations

This tool executes system commands with the same privileges as the Node.js process. Be careful when:

  • Running commands that modify system files

  • Killing processes

  • Setting environment variables

  • Executing untrusted commands

Platform Support

  • ✅ macOS: Full support

  • ✅ Linux: Full support

  • ⚠️ Windows: Limited support (some features may not work)

Development

Testing the server:

# Run directly
node src/index.js

# Test with sample commands
echo '{"jsonrpc": "2.0", "method": "tools/list", "id": 1}' | node src/index.js

Common Issues

  1. Permission denied: Some commands require elevated privileges

  2. Command not found: Ensure the command is in PATH

  3. Platform differences: Commands may vary between OS

License

MIT

Available Tools

11 tools
disk_usageC

Get disk usage information

Inputs: path.

env_getA

Get environment variables

Inputs: variable.

env_setA

Set an environment variable for the current process

Inputs: value (required), variable (required).

helpA

Get comprehensive documentation for all system functions

Inputs: no named parameters.

network_infoB

Get network interface information

Inputs: no named parameters.

port_checkB

Check if a port is in use

Inputs: port (required), host.

process_killB

Kill a process by PID

Inputs: pid (required), signal.

process_listB

List running processes

Inputs: limit, filter.

service_statusC

Check status of a system service (macOS/Linux)

Inputs: service (required).

system_execC

Execute a system command

Inputs: command (required), cwd, env.

system_infoC

Get system information

Inputs: type.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 11 tools

    Disambiguation5/5

    Each tool targets a distinct system aspect: commands, system info, processes, env variables, services, ports, disk, network. There is no overlap between tools, and descriptions clearly differentiate the breadth of system_info from the specific disk_usage and network_info tools.

    Naming Consistency4/5

    Tools follow a consistent domain_action pattern (e.g., process_list, env_get, port_check), with the second token being a verb or noun as appropriate. The only deviation is 'help', which is a common utility exception, but it does not disrupt overall readability or predictability.

    Tool Count5/5

    With 11 tools, the server covers a broad system administration scope without being overwhelming. Each tool addresses a specific, identifiable need, and the count fits well within the typical 3-15 tool range for a comprehensive server.

    Completeness4/5

    The toolset has minor gaps: service start/stop and process creation are missing, but system_exec provides a general-purpose fallback for these actions. Read-only operations for env, ports, disk, and network are well covered, making the surface reasonably complete for diagnostic and basic management tasks.

    Maintenance

    ActivityStale
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables remote execution of Linux commands via SSH, supporting system monitoring, file operations, and secure authentication with configurable safety controls.
      4
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables managing Linux servers via SSH with tools for command execution, file operations, service management, and log analysis.
      -