# System Information MCP Server
An MCP server that provides various tools and resources to monitor and retrieve host system information.
## Features
### Tools
- `get_system_info`: Basic information about the host system (OS, memory, uptime, etc.).
- `get_current_time`: Current localized time on the host system.
- `get_disk_usage`: Disk space information (Windows-optimized using WMIC).
- `get_cpu_load`: CPU load averages and model information.
- `get_network_interfaces`: Details about all network interfaces.
- `list_directory`: List contents of a directory with file sizes and dates.
- `move_files`: Move or rename files/directories safely.
- `search_files`: Search for files in a directory matching a pattern.
- `delete_files`: Delete files or directories permanently (with safety guards).
- `find_large_files`: Identify heavy files for system cleaning.
### 🛡️ Safety Guards
- The server includes logic to block operations on critical system directories (e.g., `C:\Windows`, `C:\Program Files`) and drive roots.
### Resources
- `system://os_info`: Static OS details (platform, release, hostname).
### Prompts
- `system_health_check`: A prompt to guide an AI agent through a comprehensive system health analysis.
## Installation
```bash
npm install
npm run build
```
## Usage
### Option 1: Claude Desktop (Stdio)
Add the following to your Claude Desktop configuration:
```json
{
"mcpServers": {
"sysinfo": {
"command": "node",
"args": ["C:/Users/marko/.gemini/antigravity/scratch/mcp-server/build/index.js"]
}
}
}
```
### Option 2: Web Mode (SSE) - "Un-containerized"
If you are having permission issues with Claude Desktop, you can run the MCP server as a standalone web server:
1. Run the server:
```bash
node build/index.js --sse
```
2. The server will be available at `http://localhost:3000/sse`.
3. You can connect to this URL using any MCP-compatible web client or custom integration.
## Development
- `npm run watch`: Rebuild on changes.
- `npm test`: Run unit tests (Vitest).