mcpField
M
MacOS Resource Monitor MCP Server

MacOS Resource Monitor MCP Server

本地服务
github.com/Pratyay其他2330 周前更新

关于 MacOS Resource Monitor MCP Server

MacOS Resource Monitor MCP Server 是一个在 macOS 上运行的 MCP 服务,用于识别 CPU、内存和网络占用较高的进程。它面向希望让 LLM 查看本机资源状况的用户,以结构化 JSON 返回结果,并基于系统自带的 ps 与 lsof 命令收集数据。

主要功能

  1. 01按 CPU、内存、网络列出高占用进程
  2. 02分页与多字段排序
  3. 03系统资源总览
  4. 04结构化 JSON 输出

适用场景

  1. 01排查 Mac 变慢时占用资源的进程
  2. 02让 LLM 分析本机性能瓶颈
  3. 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:开发安装
  1. 克隆此仓库:

    git clone https://github.com/Pratyay/mac-monitor-mcp.git
    cd mac-monitor-mcp
    
  2. 创建虚拟环境(推荐):

    python -m venv venv
    source venv/bin/activate  
    
  3. 安装所需的依赖项:

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

  1. Fork 此仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交更改(git commit -m 'Add some amazing feature')
  4. 推送到该分支(git push origin feature/amazing-feature)
  5. 发起 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 监控
  • 改进网络使用情况监控,纳入带宽信息
  • 添加可视化功能
  • 扩展对其他操作系统的兼容性
  • 添加按资源阈值筛选进程的功能
  • 添加历史数据跟踪和趋势分析

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。