关于 MacOS Resource Monitor MCP Server
MacOS Resource Monitor MCP Server 是一个在 macOS 上运行的 MCP 服务,用于识别 CPU、内存和网络占用较高的进程。它面向希望让 LLM 查看本机资源状况的用户,以结构化 JSON 返回结果,并基于系统自带的 ps 与 lsof 命令收集数据。
主要功能
- 01按 CPU、内存、网络列出高占用进程
- 02分页与多字段排序
- 03系统资源总览
- 04结构化 JSON 输出
适用场景
- 01排查 Mac 变慢时占用资源的进程
- 02让 LLM 分析本机性能瓶颈
- 03查看某类进程的网络连接情况
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
macOS 资源监控 MCP 服务
一个 Model Context Protocol(MCP)服务,用于识别 macOS 上 CPU、内存和网络使用量较高的进程。
托管部署
可通过 Fronteir AI 使用托管部署。
概述
MacOS Resource Monitor 是一个轻量级 MCP 服务,提供用于监控系统资源的 MCP 端点。它会分析 CPU、内存和网络使用情况,识别 Mac 上资源使用量最高的进程,并以结构化 JSON 格式返回数据。
要求
- macOS 操作系统
- Python 3.10+
- MCP 服务库
安装
选项 1:全局安装(推荐)
使用 uv 全局安装 MCP 服务,以便在整个系统中访问:
git clone https://github.com/Pratyay/mac-monitor-mcp.git
cd mac-monitor-mcp
uv tool install .
现在,你可以在任何位置运行该服务:
mac-monitor
选项 2:开发安装
-
克隆此仓库:
git clone https://github.com/Pratyay/mac-monitor-mcp.git cd mac-monitor-mcp -
创建虚拟环境(推荐):
python -m venv venv source venv/bin/activate -
安装所需的依赖项:
pip install mcp
使用方法
全局安装
如果你使用 uv 进行了全局安装:
mac-monitor
开发安装
如果你从项目目录运行:
python src/mac_monitor/monitor.py
或使用 uv run(在项目目录中):
uv run mac-monitor
你应该会看到以下消息:
Simple MacOS Resource Monitor MCP server starting...
Monitoring CPU, Memory, and Network resource usage...
服务将启动并开放 MCP 端点,LLM 或其他客户端可以访问此端点。
可用工具
该服务提供三个工具:
1. get_resource_intensive_processes()
返回每个类别(CPU、内存和网络)中资源使用量最高的前 5 个进程的信息。
2. get_processes_by_category(process_type, page=1, page_size=10, sort_by="auto", sort_order="desc")
返回指定类别中的所有进程,并提供高级筛选、分页和排序选项。
参数:
process_type:"cpu"、"memory"或"network"page:页码(从 1 开始,默认值:1)page_size:每页的进程数量(默认值:10,最大值:100)sort_by:排序字段——"auto"(默认指标)、"pid"、"command"或类别专属字段:- CPU:
"cpu_percent"、"pid"、"command" - 内存:
"memory_percent"、"resident_memory_kb"、"pid"、"command" - 网络:
"network_connections"、"pid"、"command"
- CPU:
sort_order:"desc"(默认值)或"asc"
用法示例:
# Get first page of CPU processes (default: sorted by CPU% descending)
get_processes_by_category("cpu")
# Get memory processes sorted by resident memory, highest first
get_processes_by_category("memory", sort_by="resident_memory_kb", sort_order="desc")
# Get network processes sorted by command name A-Z, page 2
get_processes_by_category("network", page=2, sort_by="command", sort_order="asc")
# Get 20 CPU processes per page, sorted by PID ascending
get_processes_by_category("cpu", page_size=20, sort_by="pid", sort_order="asc")
3. get_system_overview()
返回全面的系统概览及汇总统计数据,类似“活动监视器”。提供 CPU、内存、磁盘和网络统计信息,以及智能性能分析,帮助识别瓶颈和优化机会。
功能:
- CPU 指标:使用率百分比、平均负载、核心数
- 内存分析:总内存/已用内存/可用内存及其百分比
- 磁盘统计:所有文件系统的存储使用情况
- 网络概览:活动连接、接口统计信息
- 性能分析:智能瓶颈检测与建议
- 系统信息:macOS 版本、运行时间、进程数量
用法示例:
get_system_overview() # Get comprehensive system overview
使用场景:
- 系统性能监控与分析
- 识别性能瓶颈和速度下降问题
- 资源使用趋势分析与容量规划
- 排查系统性能问题
- 快速了解系统运行状况
示例输出
get_resource_intensive_processes() 输出
{
"cpu_intensive_processes": [
{
"pid": "1234",
"cpu_percent": 45.2,
"command": "firefox"
},
{
"pid": "5678",
"cpu_percent": 32.1,
"command": "Chrome"
}
],
"memory_intensive_processes": [
{
"pid": "1234",
"memory_percent": 8.5,
"resident_memory_kb": 1048576,
"command": "firefox"
},
{
"pid": "8901",
"memory_percent": 6.2,
"resident_memory_kb": 768432,
"command": "Docker"
}
],
"network_intensive_processes": [
{
"command": "Dropbox",
"network_connections": 12
},
{
"command": "Spotify",
"network_connections": 8
}
]
}
get_processes_by_category() 输出
{
"process_type": "cpu",
"processes": [
{
"pid": "1234",
"cpu_percent": 45.2,
"command": "firefox"
},
{
"pid": "5678",
"cpu_percent": 32.1,
"command": "Chrome"
}
],
"sorting": {
"sort_by": "cpu_percent",
"sort_order": "desc",
"requested_sort_by": "auto"
},
"pagination": {
"current_page": 1,
"page_size": 10,
"total_processes": 156,
"total_pages": 16,
"has_next_page": true,
"has_previous_page": false
}
}
工作原理
MacOS Resource Monitor 使用 macOS 内置的命令行工具:
ps:识别 CPU 和内存使用量最高的进程lsof:监控网络连接并识别网络使用量较高的进程
调用工具时会收集数据,从而实时呈现系统资源使用情况。
与大模型集成
此 MCP 服务旨在与支持 Model Context Protocol 的大模型协同工作。大模型可以使用 get_resource_intensive_processes 工具访问系统资源信息并进行智能分析。
贡献
欢迎贡献!欢迎提交 Pull Request。
- Fork 此仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add some amazing feature') - 推送到该分支(
git push origin feature/amazing-feature) - 发起 Pull Request
管理命令
如果你使用 uv 全局安装了此服务:
- 列出已安装的工具:
uv tool list - 卸载:
uv tool uninstall mac-monitor - 升级:
uv tool install --force .(在项目目录中运行) - 从 Git 安装:
uv tool install git+https://github.com/Pratyay/mac-monitor-mcp.git
近期更新
版本 0.2.0(最新)
- ✅ 添加了支持分页和排序的
get_processes_by_category()工具 - ✅ 添加了全面的排序选项(CPU%、内存、PID、命令名称)
- ✅ 添加了规范的 Python 打包配置
pyproject.toml - ✅ 支持通过
uv tool install全局安装 - ✅ 改进了错误处理和输入验证
- ✅ 添加了包含导航信息的分页元数据
潜在改进
以下是一些可以增强此监控工具的方式:
- 添加磁盘 I/O 监控
- 改进网络使用情况监控,纳入带宽信息
- 添加可视化功能
- 扩展对其他操作系统的兼容性
- 添加按资源阈值筛选进程的功能
- 添加历史数据跟踪和趋势分析
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。