what is System Resource Monitor?
System Resource Monitor is an MCP server that provides real-time monitoring of system resources, including CPU, memory, disk, network, battery, and internet speed metrics.
how to use System Resource Monitor?
To use the System Resource Monitor, clone the repository, install dependencies, build the project, and configure it with Claude Desktop. After setup, you can ask questions about your system's resource usage.
key features of System Resource Monitor?
- Real-time CPU usage monitoring
- Memory usage reporting
- Disk space analysis
- Network usage tracking
- Battery status updates
- Internet speed measurement
use cases of System Resource Monitor?
- Monitoring CPU load during resource-intensive tasks.
- Checking memory usage to optimize application performance.
- Analyzing disk space to manage storage effectively.
- Tracking network performance for troubleshooting.
- Monitoring battery status for laptops and mobile devices.
FAQ from System Resource Monitor?
- Can I monitor multiple systems with this tool?
No, this tool is designed for monitoring a single system at a time.
- Is there a graphical interface for this tool?
No, it operates through command line and integration with Claude Desktop.
- What programming language is used for this project?
The project is built using TypeScript.
System Resource Monitor MCP Server
An MCP server that provides Claude with real-time system monitoring capabilities, including CPU, memory, disk, network, battery, and internet speed metrics using systeminformation
and multi-source speed tests.
Tools
-
get_cpu_usage
- Retrieves the current CPU load as a percentage, including overall and per-core usage.
- Inputs: None
- Output: Text (e.g.,
CPU Load: 12.34% (Cores: 10.50, 15.20, 8.90, 14.60%)
)
-
get_memory_usage
- Reports total, used, and free memory in GB, plus percentage used.
- Inputs: None
- Output: Text (e.g.,
Memory: 65.43% used (7.82GB / 16.00GB)
)
-
get_disk_space
- Shows disk usage for the largest drive in GB and percentage.
- Inputs: None
- Output: Text (e.g.,
Disk (/): 78.90% used (189.50GB / 250.00GB)
)
-
get_network_usage
- Returns real-time network RX/TX rates (KB/s) and total data since boot (MB).
- Inputs: None
- Output: Text (e.g.,
Network (eth0): RX: 25.50KB/s, TX: 10.20KB/s (Total: RX 150.34MB, TX 75.89MB)
)
-
get_battery_status
- Provides battery charge percentage, charging status, and time remaining (if applicable).
- Inputs: None
- Output: Text (e.g.,
Battery: 85% (charging), 120 min remaining
orNo battery detected
)
-
get_internet_speed
- Measures internet speed using multiple download sources (including a user-uploaded file) and upload tests, returning median speeds in Mbps.
- Inputs: None
- Output: Text (e.g.,
Internet Speed: Download 45.67Mbps, Upload 8.45Mbps
)
Configuration
Step 1: Clone and Install
Clone this repository:
git clone git@github.com:abhinav7895/mcp-system-resource-monitor.git
Navigate to the directory and install dependencies:
cd system-resource-monitor && npm install
Step 2: Build the Project
Compile the TypeScript code:
npm run build
This generates the dist/index.js
file, ready to run as an MCP server.
Step 3: Configure Claude Desktop
- Download Claude Desktop here.
- Add this to your
claude_desktop_config.json
:
{
"mcpServers": {
"system-resource-monitor": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"]
}
}
}
Access the config file:
vim ~/Library/Application\ Support/Claude/claude_desktop_config.json
(Adjust the path to dist/index.js
based on your project location.)
Step 4: Testing
Ensure Claude Desktop recognizes the tools by checking for the hammer icon:
Click the hammer icon to see available tools:
If all six tools (get_cpu_usage
, get_memory_usage
, etc.) appear, the integration is active. You can now ask questions like:
- "What’s my CPU usage?"
- "How fast is my internet?"
Step 5: Advanced Customization
- Internet Speed Test: Modify
testUrls
inindex.ts
to use different download sources or adjustuploadSizeBytes
(default 80KB) for upload tests. - Logging: Console logs provide detailed test output; disable them in production by removing
console.log
statements.
Troubleshooting
- Tool Not Showing: Verify the server is running (
node dist/index.js
) and the config path is correct. - Internet Speed Errors: Ensure network connectivity and test URLs are accessible. Check console logs for specific failures.
- Refer to the MCP troubleshooting guide
License
This MCP server is licensed under the MIT License. You are free to use, modify, and distribute the software under the terms of the MIT License. See the LICENSE
file for details.