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 averageget_memory_info
- Get virtual and swap memory statisticsget_disk_info
- Disk usage information for all mounts or specific pathsget_network_info
- Network interface information and I/O statisticsget_process_list
- Running processes with sorting and filtering optionsget_system_uptime
- System boot time and uptime informationget_temperature_info
- Temperature sensors and fan speeds (when available)system://overview
- Comprehensive system overview with all metricssystem://processes
- Current process list resourceThe easiest way to install and use this MCP server is with uvx:
uvx install mcp-system-info
Then configure it in your MCP client (like Claude Desktop):
{
"mcpServers": {
"system-info": {
"command": "uvx",
"args": ["mcp-system-info"]
}
}
}
For local development:
Clone the repository:
git clone <repository-url>
cd mcp-system-info
Install dependencies:
uv sync
Run the server:
uv run 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
Install development dependencies:
uv sync --dev
Run tests:
uv run pytest
Run tests with coverage:
uv run pytest --cov=system_info_mcp --cov-report=term-missing
Format code:
uv run black src/ tests/
Lint code:
uv run ruff check src/ tests/
Type checking:
uv run mypy src/
# Build distribution files
uv build
This creates distribution files in the dist/
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
Note: You'll need to:
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
, or streamable-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)1. STDIO (Default)
# Uses standard input/output - no network port
uv run mcp-system-info
2. SSE (Server-Sent Events)
# 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
3. Streamable HTTP
# 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"
}
Locate your Claude Desktop config file:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
Add the MCP server configuration:
{
"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"
}
}
}
}
Once configured, you can ask Claude to:
# 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 teststests/test_tools.py
- Tool implementation teststests/test_resources.py
- Resource handler teststests/test_utils.py
- Utility function testsAll tests use mocked dependencies for consistent, fast execution across different environments.
Enable debug logging for troubleshooting:
SYSINFO_LOG_LEVEL=DEBUG uv run mcp-system-info
Test that tools work correctly:
uv run python -c "from system_info_mcp.tools import get_cpu_info; print(get_cpu_info())"
[Add your license information here]
[Add support information here]
A healthcare-focused RAG server using Groq API and Chroma for information retrieval from patient records.
A 3D Printing MCP server that allows for querying for live state, webcam snapshots, and 3D printer control.
Execute stock and crypto trades via Trade Agent
A TypeScript-based MCP server for interacting with the Etsy API, featuring a simple notes system.
PiAPI MCP server makes user able to generate media content with Midjourney/Flux/Kling/Hunyuan/Udio/Trellis directly from Claude or any other MCP-compatible apps.
MCP to interface with multiple blockchains, staking, DeFi, swap, bridging, wallet management, DCA, Limit Orders, Coin Lookup, Tracking and more.
Access real-time gaming data across popular titles like League of Legends, TFT, and Valorant, offering champion analytics, esports schedules, meta compositions, and character statistics.
Generates 3D-style cartoon images using Google's Gemini AI and provides secure file system operations.
Provides weather data using the Open-Meteo API.
Generates true random coin flips using the random.org API.