mcp-system

mcp-system

Enables system automation and control including command execution, process management, network tools, environment variables, disk usage, and service status.

Category
Visit Server

README

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)

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

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured