Content
# 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` or `No 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:
```bash
git clone git@github.com:abhinav7895/system-mcp.git
```
Navigate to the directory and install dependencies:
```bash
cd system-resource-monitor && npm install
```
### Step 2: Build the Project
Compile the TypeScript code:
```bash
npm run build
```
This generates the `dist/index.js` file, ready to run as an MCP server.
### Step 3: Configure Claude Desktop
1. Download Claude Desktop [here](https://claude.ai/download).
2. Add this to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"system-resource-monitor": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"]
}
}
}
```
Access the config file:
```bash
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` in `index.ts` to use different download sources or adjust `uploadSizeBytes` (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](https://modelcontextprotocol.io/docs/tools/debugging)
## 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.
You Might Also Like
MarkItDown MCP
markitdown-mcp is a lightweight MCP server for converting various URIs to Markdown.
Github
GitHub MCP Server connects AI tools to GitHub for code management and automation.

apisix
Apache APISIX is an API Gateway for managing APIs and microservices.
debugg-ai-mcp
AI-powered MCP Server for testing, debugging, and code analysis.
aws-lambda-mcp-cookbook
AWS Lambda MCP Cookbook provides Python examples for MCP server integration.
mcp-server-macos-use
MCP server in Swift for controlling macOS apps via accessibility APIs.