developer-toolsanalytics-data

System Information

by dknell

Monitor your machines in real time with our cloud based network monitoring system for CPU, memory, disk, and network ana

Provides real-time system monitoring capabilities through psutil, enabling access to CPU usage, memory statistics, disk information, network status, running processes, and system uptime data with cross-platform compatibility and performance optimization.

github stars

3

Cross-platform compatibilityReal-time metrics with cachingNo external APIs required

best for

  • / System administrators monitoring server health
  • / Developers debugging performance issues
  • / AI assistants providing system diagnostics

capabilities

  • / Monitor CPU usage and core information
  • / Track memory and swap statistics
  • / Check disk usage across mount points
  • / View network interface statistics
  • / List and filter running processes
  • / Get system uptime and temperature data

what it does

Provides real-time system monitoring data including CPU usage, memory, disk space, network stats, and running processes through a standardized interface.

about

System Information is a community-built MCP server published by dknell that provides AI assistants with tools and capabilities via the Model Context Protocol. Monitor your machines in real time with our cloud based network monitoring system for CPU, memory, disk, and network ana It is categorized under developer tools, analytics data.

how to install

You can install System Information in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

license

MIT

System Information is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

readme

System Information MCP Server

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.

Features

🛠️ Tools Available

  • 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)

📚 Resources Available

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

⭐ Key Features

  • Real-time metrics with configurable caching
  • Cross-platform support (Windows, macOS, Linux)
  • Security-focused with sensitive data filtering
  • Performance optimized with intelligent caching
  • Comprehensive error handling
  • Environment variable configuration

Installation

Using uvx (Recommended)

The 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"]
    }
  }
}

Development Installation

For local development:

  1. Clone the repository:

    git clone <repository-url>
    cd mcp-system-info
    
  2. Install dependencies:

    uv sync
    
  3. Run the server:

    uv run mcp-system-info
    

Development

Project Structure

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

Development Setup

  1. Install development dependencies:

    uv sync --dev
    
  2. Run tests:

    uv run pytest
    
  3. Run tests with coverage:

    uv run pytest --cov=system_info_mcp --cov-report=term-missing
    
  4. Format code:

    uv run black src/ tests/
    
  5. Lint code:

    uv run ruff check src/ tests/
    
  6. Type checking:

    uv run mypy src/
    

Building and Publishing

Build the Package

# 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)

Local Testing with uvx

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

Publishing to PyPI

# Publish to PyPI (requires PyPI account and token)
uv publish

# Or publish to TestPyPI first
uv publish --repository testpypi

Note: You'll need to:

  1. Create a PyPI account at https://pypi.org
  2. Generate an API token in your account settings
  3. Configure uv with your credentials or use environment variables

Environment Configuration

The server supports configuration through environment variables:

Core Settings

  • 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)

Transport Configuration

  • 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)

Transport Modes

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

Complete Example:

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

Usage Examples

Tool Usage

Get CPU Information

# Basic CPU info
{
  "name": "get_cpu_info_tool",
  "arguments": {
    "interval": 1.0,
    "per_cpu": false
  }
}

Get Process List

# Top 10 processes by memory usage
{
  "name": "get_process_list_tool", 
  "arguments": {
    "limit": 10,
    "sort_by": "memory",
    "filter_name": "python"
  }
}

Get Disk Information

# All disk usage
{
  "name": "get_disk_info_tool",
  "arguments": {}
}

# Specific path
{
  "name": "get_disk_info_tool",
  "arguments": {
    "path": "/home"
  }
}

Resource Usage

System Overview

# Request comprehensive system overview
{
  "uri": "system://overview"
}

Process List Resource

# Get top processes resource
{
  "uri": "system://processes" 
}

Integration with Claude Desktop

Adding to Claude Desktop

  1. Locate your Claude Desktop config file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Add the MCP server configuration:

Using uvx (Recommended)

{
  "mcpServers": {
    "system-info": {
      "command": "uvx",
      "args": ["mcp-system-info"],
      "env": {
        "SYSINFO_CACHE_TTL": "10",
        "SYSINFO_LOG_LEVEL": "INFO"
      }
    }
  }
}

For Local Development

{
  "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"
      }
    }
  }
}

For HTTP Transport (SSE)

{
  "mcpServers": {
    "system-info-http": {
      "command": "uvx",
      "args": ["mcp-system-info"],
      "env": {
        "SYSINFO_TRANSPORT": "sse",
        "SYSINFO_HOST": "localhost",
        "SYSINFO_PORT": "8001",
        "SYSINFO_MOUNT_PATH": "/mcp"
      }
    }
  }
}
  1. Restart Claude Desktop to load the new server.

Using with Claude

Once configured, you can ask Claude to:

  • "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"

Testing

Running Tests

# 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

Test Structure

  • 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.

Performance Considerations

  • 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

Security Features

  • 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

Platform Support

  • macOS - Full support including temperature sensors on supported hardware
  • Linux - Full support with hardware-dependent sensor availability
  • Windows - Full support with platform-specific optimizations

Troubleshooting

Common Issues

  1. Permission errors: Some system information may require elevated privileges
  2. Missing sensors: Temperature/fan data availability varies by hardware
  3. Performance impact: Reduce cache TTL or limit process counts for better performance

Debug Mode

Enable debug logging for troubleshooting:

SYSINFO_LOG_LEVEL=DEBUG uv run mcp-system-info

Verifying Installation

Test that tools work correctly:

uv run python -c "from system_info_mcp.tools import get_cpu_info; print(get_cpu_info())"

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes with tests
  4. Run the full test suite
  5. Submit a pull request

Code Standards

  • Follow PEP 8 style guidelines
  • Add type hints to all functions
  • Write tests for new functionality
  • Update d

FAQ

What is the System Information MCP server?
System Information is a Model Context Protocol (MCP) server profile on explainx.ai. MCP lets AI hosts (e.g. Claude Desktop, Cursor) call tools and resources through a standard interface; this page summarizes categories, install hints, and community ratings.
How do MCP servers relate to agent skills?
Skills are reusable instruction packages (often SKILL.md); MCP servers expose live capabilities. Teams frequently combine both—skills for workflows, MCP for APIs and data. See explainx.ai/skills and explainx.ai/mcp-servers for parallel directories.
How are reviews shown for System Information?
This profile displays 10 aggregated ratings (sample rows for discoverability plus signed-in user reviews). Average score is about 4.5 out of 5—verify behavior in your own environment before production use.
MCP server reviews

Ratings

4.510 reviews
  • Shikha Mishra· Oct 10, 2024

    System Information is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.

  • Piyush G· Sep 9, 2024

    We evaluated System Information against two servers with overlapping tools; this profile had the clearer scope statement.

  • Chaitanya Patil· Aug 8, 2024

    Useful MCP listing: System Information is the kind of server we cite when onboarding engineers to host + tool permissions.

  • Sakshi Patil· Jul 7, 2024

    System Information reduced integration guesswork — categories and install configs on the listing matched the upstream repo.

  • Ganesh Mohane· Jun 6, 2024

    I recommend System Information for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.

  • Oshnikdeep· May 5, 2024

    Strong directory entry: System Information surfaces stars and publisher context so we could sanity-check maintenance before adopting.

  • Dhruvi Jain· Apr 4, 2024

    System Information has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.

  • Rahul Santra· Mar 3, 2024

    According to our notes, System Information benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.

  • Pratham Ware· Feb 2, 2024

    We wired System Information into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.

  • Yash Thakker· Jan 1, 2024

    System Information is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.