这是一个模型上下文协议(MCP)服务器,用于提供实时的系统信息和指标。该服务器通过标准化的MCP接口,公开CPU使用率、内存统计信息、磁盘信息、网络状态和正在运行的进程等数据。
本MCP服务器可通过uvx便捷安装使用,也可进行本地开发部署。安装完成后,可在MCP客户端(如Claude Desktop)中进行配置,即可获取系统信息。
get_cpu_info - 获取CPU使用率、核心数量、频率和负载平均值get_memory_info - 获取虚拟内存和交换内存统计信息get_disk_info - 获取所有挂载点或特定路径的磁盘使用信息get_network_info - 获取网络接口信息和I/O统计信息get_process_list - 获取正在运行的进程列表,支持排序和过滤get_system_uptime - 获取系统启动时间和运行时长信息get_temperature_info - 获取温度传感器和风扇转速信息(若硬件支持)system://overview - 获取包含所有指标的系统综合概述system://processes - 获取当前进程列表资源使用 uvx 安装和使用此MCP服务器是最简单的方法:
uvx install mcp-system-info
然后在MCP客户端(如Claude Desktop)中进行配置:
{
"mcpServers": {
"system-info": {
"command": "uvx",
"args": ["mcp-system-info"]
}
}
}
若要进行本地开发,可按以下步骤操作:
git clone
cd mcp-system-info
uv sync
uv run mcp-system-info
# 基本CPU信息
{
"name": "get_cpu_info_tool",
"arguments": {
"interval": 1.0,
"per_cpu": false
}
}
# 按内存使用量排序的前10个进程
{
"name": "get_process_list_tool",
"arguments": {
"limit": 10,
"sort_by": "memory",
"filter_name": "python"
}
}
# 所有磁盘使用情况
{
"name": "get_disk_info_tool",
"arguments": {}
}
# 特定路径的磁盘使用情况
{
"name": "get_disk_info_tool",
"arguments": {
"path": "/home"
}
}
# 请求全面的系统概述
{
"uri": "system://overview"
}
# 获取顶级进程资源
{
"uri": "system://processes"
}
~/Library/Application Support/Claude/claude_desktop_config.json%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"
}
}
}
}
配置完成后,你可以向Claude询问以下问题:
# 运行所有测试
uv run pytest
# 运行并输出详细信息
uv run pytest -v
# 运行特定测试文件
uv run pytest tests/test_tools.py
# 运行并生成覆盖率报告
uv run pytest --cov=system_info_mcp --cov-report=html
tests/test_config.py - 配置验证测试tests/test_tools.py - 工具实现测试tests/test_resources.py - 资源处理程序测试tests/test_utils.py - 实用函数测试所有测试都使用模拟依赖项,以确保在不同环境中能够一致、快速地执行。
启用调试日志以进行故障排除:
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())"
mcp-system-info/
├── src/
│ └── system_info_mcp/
│ ├── __init__.py
│ ├── server.py # 主FastMCP服务器
│ ├── tools.py # 工具实现
│ ├── resources.py # 资源处理程序
│ ├── config.py # 配置管理
│ └── utils.py # 实用函数
├── tests/ # 全面的测试套件
├── pyproject.toml # 项目配置
└── README.md
服务器支持通过环境变量进行配置:
SYSINFO_CACHE_TTL - 缓存的生存时间(秒)(默认值:5)SYSINFO_MAX_PROCESSES - 返回的最大进程数(默认值:100)SYSINFO_ENABLE_TEMP - 启用温度传感器(默认值:true)SYSINFO_LOG_LEVEL - 日志级别(默认值:INFO)SYSINFO_TRANSPORT - 传输协议:stdio、sse 或 streamable-http(默认值:stdio)SYSINFO_HOST - HTTP传输绑定的主机(默认值:localhost)SYSINFO_PORT - HTTP传输绑定的端口(默认值:8001)SYSINFO_MOUNT_PATH - SSE传输的挂载路径(默认值:/mcp)1. STDIO(默认)
# 使用标准输入输出 - 无需网络端口
uv run mcp-system-info
2. SSE(服务器发送事件)
# 具有实时流的HTTP服务器
SYSINFO_TRANSPORT=sse SYSINFO_PORT=8001 uv run mcp-system-info
# 服务器将在 http://localhost:8001/mcp 可用
3. 可流式HTTP
# 具有请求/响应的HTTP服务器
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
[在此处添加许可证信息]
[在此处添加支持信息]