Provides full support for monitoring Linux systems, including CPU, memory, disk, network metrics, and hardware-dependent sensor availability.
Offers full system monitoring capabilities for macOS, including temperature sensors on supported hardware, CPU usage, memory statistics, and process information.
Supports publishing the MCP server to PyPI for easy installation and distribution to users.
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 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)
📚 Resources Available
system://overview
- Comprehensive system overview with all metricssystem://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:
Then configure it in your MCP client (like Claude Desktop):
Development Installation
For local development:
- Clone the repository:
- Install dependencies:
- Run the server:
Development
Project Structure
Development Setup
- Install development dependencies:
- Run tests:
- Run tests with coverage:
- Format code:
- Lint code:
- Type checking:
Building and Publishing
Build the Package
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:
Publishing to PyPI
Note: You'll need to:
- Create a PyPI account at https://pypi.org
- Generate an API token in your account settings
- 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
, 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)
Transport Modes
1. STDIO (Default)
2. SSE (Server-Sent Events)
3. Streamable HTTP
Complete Example:
Usage Examples
Tool Usage
Get CPU Information
Get Process List
Get Disk Information
Resource Usage
System Overview
Process List Resource
Integration with Claude Desktop
Adding to Claude Desktop
- Locate your Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
- Add the MCP server configuration:
Using uvx (Recommended)
For Local Development
For HTTP Transport (SSE)
- 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
Test Structure
tests/test_config.py
- Configuration validation teststests/test_tools.py
- Tool implementation teststests/test_resources.py
- Resource handler teststests/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
- 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
Debug Mode
Enable debug logging for troubleshooting:
Verifying Installation
Test that tools work correctly:
Contributing
- Fork the repository
- Create a feature branch
- Make your changes with tests
- Run the full test suite
- Submit a pull request
Code Standards
- Follow PEP 8 style guidelines
- Add type hints to all functions
- Write tests for new functionality
- Update documentation as needed
License
[Add your license information here]
Support
[Add support information here]
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Provides real-time system metrics and information through a Model Context Protocol interface, enabling access to CPU usage, memory statistics, disk information, network status, and running processes.
Related MCP Servers
- AsecurityAlicenseAqualityProvides access to Prometheus metrics and queries through standardized Model Context Protocol interfaces, allowing AI assistants to execute PromQL queries and analyze metrics data.Last updated -5121PythonMIT License
- -securityAlicense-qualityProvides Claude with real-time system monitoring capabilities, including CPU, memory, disk, network, battery, and internet speed metrics.Last updated -TypeScriptMIT License
- -securityAlicense-qualityA lightweight server that provides real-time system information including CPU, memory, disk, and GPU statistics for monitoring and diagnostic purposes.Last updated -PythonMIT License
- -securityFlicense-qualityA tool that enables access to Prometheus metrics data through a Model Context Protocol server, allowing interaction with monitoring data using natural language.Last updated -Python