System Information MCP Server

by dknell

Not rated
GitHub

About

Provides real-time system information and metrics, including CPU, memory, disk, network, and process status.

Details

Author
dknell
Categories
Other, Infrastructure

Setup

Install System Information MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/dknell/mcp-system-info

Follow the installation instructions in the repository README, then restart your MCP client.

Provides real-time system information and metrics, including CPU, memory, disk, network, and process status.

A Model Context Protocol (MCP) server that provides real-time system information and metrics. This server exposes CPU usage, memory statistics, disk information, network status, and running processes through a standardized MCP interface.

- get_cpu_info- Retrieve CPU usage, core counts, frequency, and load average
- get_memory_info- Get virtual and swap memory statistics
- get_disk_info- Disk usage information for all mounts or specific paths
- get_network_info- Network interface information and I/O statistics
- get_process_list- Running processes with sorting and filtering options
- get_system_uptime- System boot time and uptime information
- get_temperature_info- Temperature sensors and fan speeds (when available)

- system://overview- Comprehensive system overview with all metrics
- system://processes- Current process list resource

- Real-time metricswith configurable caching
- Cross-platform support(Windows, macOS, Linux)
- Security-focusedwith sensitive data filtering
- Performance optimizedwith intelligent caching
- Comprehensive error handling
- Environment variable configuration

The easiest way to install and use this MCP server is withuvx:

Then configure it in your MCP client (like Claude Desktop):

{ "mcpServers": { "system-info": { "command": "uvx", "args": ["mcp-system-info"] } } }
git clone <repository-url> cd mcp-system-info
mcp-system-info/ ├── src/ │ └── system_info_mcp/ │ ├── __init__.py │ ├── server.py # Main FastMCP server │ ├── tools.py # Tool implementations │ ├── resources.py # Resource handlers │ ├── config.py # Configuration management │ └── utils.py # Utility functions ├── tests/ # Comprehensive test suite ├── pyproject.toml # Project configuration └── README.md
uv run pytest --cov=system_info_mcp --cov-report=term-missing

This creates distribution files in thedist/directory:

- mcp_system_info-.whl(wheel file)
- mcp_system_info-
.tar.gz(source distribution)

Test the package locally before publishing:

# Test running the command directly from wheel file uvx --from ./dist/mcp_system_info-.whl mcp-system-info # Test with environment variables SYSINFO_LOG_LEVEL=DEBUG uvx --from ./dist/mcp_system_info-.whl mcp-system-info
# Publish to PyPI (requires PyPI account and token) uv publish # Or publish to TestPyPI first uv publish --repository testpypi

- Create a PyPI account athttps://pypi.org
- Generate an API token in your account settings
- Configure uv with your credentials or use environment variables

The server supports configuration through environment variables:

- SYSINFO_CACHE_TTL- Cache time-to-live in seconds (default: 5)
- SYSINFO_MAX_PROCESSES- Maximum processes to return (default: 100)
- SYSINFO_ENABLE_TEMP- Enable temperature sensors (default: true)
- SYSINFO_LOG_LEVEL- Logging level (default: INFO)

- SYSINFO_TRANSPORT- Transport protocol:stdio,sse, orstreamable-http(default: stdio)
- SYSINFO_HOST- Host to bind to for HTTP transports (default: localhost)
- SYSINFO_PORT- Port to bind to for HTTP transports (default: 8001)
- SYSINFO_MOUNT_PATH- Mount path for SSE transport (default: /mcp)

# Uses standard input/output - no network port uv run mcp-system-info
# HTTP server with real-time streaming SYSINFO_TRANSPORT=sse SYSINFO_PORT=8001 uv run mcp-system-info # Server will be available at http://localhost:8001/mcp
# HTTP server with request/response SYSINFO_TRANSPORT=streamable-http SYSINFO_PORT=9000 uv run mcp-system-info
SYSINFO_TRANSPORT=sse \ SYSINFO_HOST=0.0.0.0 \ SYSINFO_PORT=8001 \ SYSINFO_CACHE_TTL=10 \ SYSINFO_LOG_LEVEL=DEBUG \ uv run mcp-system-info
# Basic CPU info { "name": "get_cpu_info_tool", "arguments": { "interval": 1.0, "per_cpu": false } }
# Top 10 processes by memory usage { "name": "get_process_list_tool", "arguments": { "limit": 10, "sort_by": "memory", "filter_name": "python" } }
# All disk usage { "name": "get_disk_info_tool", "arguments": {} } # Specific path { "name": "get_disk_info_tool", "arguments": { "path": "/home" } }
# Request comprehensive system overview { "uri": "system://overview" }
# Get top processes resource { "uri": "system://processes" }

- macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:%APPDATA%\Claude\claude_desktop_config.json

{ "mcpServers": { "system-info": { "command": "uvx", "args": ["mcp-system-info"], "env": { "SYSINFO_CACHE_TTL": "10", "SYSINFO_LOG_LEVEL": "INFO" } } } }
{ "mcpServers": { "system-info": { "command": "uv", "args": [ "--directory", "/path/to/mcp-system-info", "run", "mcp-system-info" ], "env": { "SYSINFO_TRANSPORT": "stdio", "SYSINFO_CACHE_TTL": "10", "SYSINFO_LOG_LEVEL": "INFO" } } } }
{ "mcpServers": { "system-info-http": { "command": "uvx", "args": ["mcp-system-info"], "env": { "SYSINFO_TRANSPORT": "sse", "SYSINFO_HOST": "localhost", "SYSINFO_PORT": "8001", "SYSINFO_MOUNT_PATH": "/mcp" } } } }

- Restart Claude Desktopto load the new server.

- "What's my current CPU usage?"
- "Show me the top 10 processes using the most memory"
- "How much disk space is available?"
- "What's my system uptime?"
- "Give me a complete system overview"

# Run all tests uv run pytest # Run with verbose output uv run pytest -v # Run specific test file uv run pytest tests/test_tools.py # Run with coverage report uv run pytest --cov=system_info_mcp --cov-report=html

- tests/test_config.py- Configuration validation tests
- tests/test_tools.py- Tool implementation tests
- tests/test_resources.py- Resource handler tests
- tests/test_utils.py- Utility function tests

All tests use mocked dependencies for consistent, fast execution across different environments.

- Caching:Intelligent caching reduces system calls and improves response times
- Configurable intervals:Adjust cache TTL based on your needs
- Lazy loading:Temperature sensors and other optional features load only when needed
- Async support:Built on FastMCP for efficient async operations

- Read-only operations:No system modification capabilities
- Sensitive data filtering:Command-line arguments are filtered for passwords, tokens, etc.
- Input validation:All parameters are validated before processing
- Error isolation:Failures in one tool don't affect others

- macOS- Full support including temperature sensors on supported hardware
- Linux- Full support with hardware-dependent sensor availability
- Windows- Full support with platform-specific optimizations
- Permission errors:Some system information may require elevated privileges
- Missing sensors:Temperature/fan data availability varies by hardware
- Performance impact:Reduce cache TTL or limit process counts for better performance

Enable debug logging for troubleshooting:

SYSINFO_LOG_LEVEL=DEBUG uv run mcp-system-info
uv run python -c "from system_info_mcp.tools import get_cpu_info; print(get_cpu_info())"

- Fork the repository
- Create a feature branch
- Make your changes with tests
- Run the full test suite
- Submit a pull request

- Follow PEP 8 style guidelines
- Add type hints to all functions
- Write tests for new functionality
- Update documentation as needed

The IBM Instana MCP server enables seamless interaction with the IBM Instana observability platform, allowing you to access real-time observability data directly within your development workflow.

Redis diagnostics MCP server — analyze memory usage, slowlog patterns, client connections, and keyspace health with AI-powered recommendations. Lightweight npx install, no Docker required.

The nginx of MCP — drop-in resilience middleware for any MCP server.

An MCP server that provides system information, such as CPU and memory usage.

A cross-platform server for real-time monitoring of CPU, GPU, memory, disk, network, and process information.

Real-time system monitoring MCP server built with Python and FastMCP - exposes CPU, memory, disk, and process metrics to any MCP-compatible AI client.

An unofficial and fully featured Model Context Protocol (MCP) server for the Action1 RMM REST API

Model Context Protocol server for secure AsusWRT router administration via SSH. Provides 42+ read-only monitoring tools and guarded mutation tools for managing AsusWRT/Merlin routers.

Monitor backup status and query Prometheus metrics from a Duplicacy exporter

Civilian situational awareness for AI deployments — real-time risk dashboards, multi-source threat correlation, anomaly detection, and automated alerting for critical infrastructure and enterprise AI systems.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.