Performance Co-Pilot

io.github.major由 GitHub 账号 major 发布v1.5.1更新于 Oct 24, 2026

Query system performance metrics via MCP - CPU, memory, disk I/O, network, processes

发布方自己的服务:QuickBooks Connector by Meridian

概览

AI 生成的概览

该 MCP 服务器让助手查询 Performance Co-Pilot 系统性能指标——CPU、内存、磁盘 I/O、网络与进程,支持本地或远程主机。

可以做什么
  • 获取某一时刻的系统快照,涵盖 CPU、内存、磁盘、网络与负载
  • 按 CPU、内存或 I/O 占用列出排名靠前的进程
  • 读取指定 PCP 指标的当前数值
  • 按名称模式搜索可用指标并查看指标的详细元数据
适用场景
适合在已运行 PCP 的机器上让助手协助排查性能问题、对服务器做健康检查,或分析容量与资源使用趋势。
运行要求
以本地 Python 包形式运行(需 Python 3.10+),可通过 uvx 或 pip 安装。需要已安装并运行 Performance Co-Pilot 的 pmcd 与 pmproxy 且可访问。通过环境变量配置,如 PCP_HOST、PCP_PORT、PCP_TARGET_HOST;可选 PCP_USERNAME 与 PCP_PASSWORD 用于 HTTP 基本认证,另有 TLS 相关设置。
安装前请注意
可选的 HTTP 基本认证凭据通过 PCP_USERNAME 与 PCP_PASSWORD 提供,请勿写入共享配置文件。将 PCP_TARGET_HOST 或 PCP_HOST 指向远程主机会把指标查询经网络发送到该 pmproxy 实例。工具本身为只读指标查询,但会暴露详细的进程与系统信息。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Performance Co-Pilot,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

pcp-mcp

MCP server for Performance Co-Pilot (PCP) metrics.

Query system performance metrics via the Model Context Protocol - CPU, memory, disk I/O, network, processes, and more.

📖 Full Documentation | 🚀 Getting Started

[CI] [codecov] [PyPI version] [Python 3.10+] [License: MIT]

🚀 Quick Start (No Install)

Run immediately with uvx — no installation required:

bash
uvx pcp-mcp

Or install as a persistent global tool:

bash
uvx tool install pcp-mcppcp-mcp

📦 Installation

bash
pip install pcp-mcp

Or with uv:

bash
uv add pcp-mcp

📋 Requirements

  • Python: 3.10+
  • PCP: Performance Co-Pilot with pmcd and pmproxy running
    bash
    # Fedora/RHEL/CentOSsudo dnf install pcpsudo systemctl enable --now pmcd pmproxy
    # Ubuntu/Debiansudo apt install pcpsudo systemctl enable --now pmcd pmproxy

⚙️ Configuration

Configure via environment variables:

VariableDescriptionDefault
PCP_HOSTpmproxy hostlocalhost
PCP_PORTpmproxy port44322
PCP_TARGET_HOSTTarget pmcd host to monitorlocalhost
PCP_USE_TLSUse HTTPS for pmproxyfalse
PCP_TLS_VERIFYVerify TLS certificatestrue
PCP_TLS_CA_BUNDLEPath to custom CA bundle(optional)
PCP_TIMEOUTRequest timeout (seconds)30
PCP_USERNAMEHTTP basic auth user(optional)
PCP_PASSWORDHTTP basic auth password(optional)
PCP_ALLOWED_HOSTSHostspecs allowed via host param(optional)

🎯 Usage

Monitor localhost (default)

bash
pcp-mcp

Monitor a remote host

bash
PCP_TARGET_HOST=webserver1.example.com pcp-mcp

Or use the CLI flag:

bash
pcp-mcp --target-host webserver1.example.com

Connect to remote pmproxy

bash
PCP_HOST=metrics.example.com pcp-mcp

Use SSE transport

bash
pcp-mcp --transport sse

🔌 MCP Client Configuration

Claude Desktop

Add to ~/.config/claude/claude_desktop_config.json:

json
{  "mcpServers": {    "pcp": {      "command": "uvx",      "args": ["pcp-mcp"]    }  }}

For remote monitoring:

json
{  "mcpServers": {    "pcp": {      "command": "uvx",      "args": ["pcp-mcp", "--target-host", "webserver1.example.com"]    }  }}

💡 Using uvx means you don't need pcp-mcp installed — it runs directly from PyPI.

🛠️ Available Tools

System Monitoring

  • get_system_snapshot - Point-in-time system overview (CPU, memory, disk, network, load)
  • get_process_top - Top processes by CPU, memory, or I/O usage
  • query_metrics - Fetch current values for specific PCP metrics
  • search_metrics - Discover available metrics by name pattern
  • describe_metric - Get detailed metadata about a metric

Example Queries

"What's the current CPU usage?"→ Uses get_system_snapshot
"Show me the top 10 processes by memory usage"→ Uses get_process_top(sort_by="memory", limit=10)
"What metrics are available for network traffic?"→ Uses search_metrics(pattern="network")
"Get detailed info about kernel.all.load"→ Uses describe_metric(name="kernel.all.load")

💡 Use Cases

Performance Troubleshooting

Ask Claude to:

  • "Analyze current system performance and identify bottlenecks"
  • "Why is my disk I/O so high?"
  • "Which processes are consuming the most CPU?"

System Monitoring

  • "Give me a health check of the production server"
  • "Compare CPU usage over the last minute"
  • "Monitor network traffic on eth0"

Capacity Planning

  • "What's the memory utilization trend?"
  • "Show me disk usage across all filesystems"
  • "Analyze process resource consumption patterns"

🏗️ Architecture

┌─────────┐         ┌─────────┐          ┌─────────┐         ┌─────────┐│   LLM   │ ◄─MCP─► │ pcp-mcp │ ◄─HTTP─► │ pmproxy │ ◄─────► │  pmcd   │└─────────┘         └─────────┘          └─────────┘         └─────────┘                                         (REST API)          (metrics)
  • pcp-mcp: FastMCP server exposing PCP metrics via MCP tools
  • pmproxy: PCP's REST API server (runs on port 44322 by default)
  • pmcd: PCP metrics collector daemon
  • Remote monitoring: Set PCP_TARGET_HOST to query a different pmcd instance via pmproxy

🔧 Development

bash
# Install dependenciesuv sync --dev
# Run all checksmake check
# Individual commandsmake lint       # ruff checkmake format     # ruff formatmake typecheck  # ty checkmake test       # pytest with coverage

📖 Documentation

Full documentation at https://major.github.io/pcp-mcp

📄 License

MIT

来源:README.md,提交 19abe21

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.5.1最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Pilot 集成