Performance Co-Pilot

Registre officiel Archivé IA et agents

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

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

PYPI package pcp-mcp
Claude Code
claude mcp add performance-co-pilot -e 'PCP_HOST=<PCP_HOST>' -e 'PCP_PORT=<PCP_PORT>' -e 'PCP_TARGET_HOST=<PCP_TARGET_HOST>' -- uvx pcp-mcp==1.5.1
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "performance-co-pilot": {
            "command": "uvx",
            "args": [
                "pcp-mcp==1.5.1"
            ],
            "env": {
                "PCP_HOST": "<PCP_HOST>",
                "PCP_PORT": "<PCP_PORT>",
                "PCP_TARGET_HOST": "<PCP_TARGET_HOST>"
            }
        }
    }
}

Variables d'environnement

  • PCP_HOST pmproxy host
  • PCP_PORT pmproxy port
  • PCP_TARGET_HOST Target pmcd host to monitor

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. pcp-mcp
  2. 🚀 Quick Start (No Install)
  3. 📦 Installation
  4. 📋 Requirements
  5. ⚙️ Configuration
  6. 🎯 Usage
  7. 🔌 MCP Client Configuration
  8. 🛠️ Available Tools
  9. 💡 Use Cases
  10. 🏗️ Architecture
  11. 🔧 Development
  12. 📖 Documentation
  13. 📄 License

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

🚀 Quick Start (No Install)

Run immediately with uvx — no installation required:

uvx pcp-mcp

Or install as a persistent global tool:

uvx tool install pcp-mcp
pcp-mcp

📦 Installation

pip install pcp-mcp

Or with uv:

uv add pcp-mcp

📋 Requirements

  • Python: 3.10+
  • PCP: Performance Co-Pilot with pmcd and pmproxy running
    # Fedora/RHEL/CentOS
    sudo dnf install pcp
    sudo systemctl enable --now pmcd pmproxy
    
    # Ubuntu/Debian
    sudo apt install pcp
    sudo 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)
pcp-mcp
Monitor a remote host
PCP_TARGET_HOST=webserver1.example.com pcp-mcp

Or use the CLI flag:

pcp-mcp --target-host webserver1.example.com
Connect to remote pmproxy
PCP_HOST=metrics.example.com pcp-mcp
Use SSE transport
pcp-mcp --transport sse

🔌 MCP Client Configuration

Claude Desktop

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

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

For remote monitoring:

{
  "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

# Install dependencies
uv sync --dev

# Run all checks
make check

# Individual commands
make lint       # ruff check
make format     # ruff format
make typecheck  # ty check
make test       # pytest with coverage

📖 Documentation

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

📄 License

MIT

Questions fréquentes

Qu'est-ce que Performance Co-Pilot ?

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

Comment installer Performance Co-Pilot ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add performance-co-pilot -e 'PCP_HOST=<PCP_HOST>' -e 'PCP_PORT=<PCP_PORT>' -e 'PCP_TARGET_HOST=<PCP_TARGET_HOST>' -- uvx pcp-mcp==1.5.1. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour Performance Co-Pilot ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

Performance Co-Pilot est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient Performance Co-Pilot ?

Il est publié par major. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.