mcp-system
Allows checking the status of the NGINX service on macOS/Linux systems.
Allows checking the status of the PostgreSQL service on macOS/Linux systems.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-system check disk usage"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Prerequisites:
Node.js 18+ installed
Install the MCP server:
cd /Users/bard/Code/mcp-system npm installAdd 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"] } } }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 interfacesProcess 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 |
| Execute system command |
|
| Get system information | None |
| List running processes | None |
| Kill a process |
|
| Get environment variables | None |
| Set environment variable |
|
| Check service status |
|
| Check if port is in use |
|
| Get disk usage info | None |
| 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.jsCommon Issues
Permission denied: Some commands require elevated privileges
Command not found: Ensure the command is in PATH
Platform differences: Commands may vary between OS
License
MIT
Available Tools
11 toolsdisk_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
Scored across 11 tools
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.
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.
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.
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
Related MCP Connectors
Linux server administration over OAuth MCP: shell, Docker, systemd, files and monitoring.
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
Securely control computers you explicitly pair through files, terminals, processes, screenshots, desktop UI/input, clipboard, browser automation, diagnostics, and document tools.
I run shell commands on your private cloud environment (bash, sh, zsh)
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables remote execution of Linux commands via SSH, supporting system monitoring, file operations, and secure authentication with configurable safety controls.4MIT
- AlicenseAqualityFmaintenanceEnables executing shell commands without permission prompts, including running commands and managing background processes.4185 npm11MIT
- AlicenseBqualityDmaintenanceEnables secure remote and local command execution via SSH, with session management and environment variable support.145 npm3MIT
- FlicenseNot gradedqualityDmaintenanceEnables managing Linux servers via SSH with tools for command execution, file operations, service management, and log analysis.-