Skip to content

Performance Co-Pilot

Tools for querying historical performance data from Performance Co-Pilot (PCP) archives. Check get_system_information first to confirm PCP is installed and running on the target.

Choosing where to run

All tools on this page require a host parameter (string). Pass localhost to run the command on the system the MCP server runs on, or a remote machine to run it there via SSH. See SSH Configuration for details, and Host mode for restricting which of the two a server accepts.

pcp_guide

Returns the PCP metrics guide: a catalog of the metric names recorded on a typical Linux system, and how to read the values the other PCP tools return. Read it before investigating performance with PCP, and take metric names from it rather than from memory.

pcp_list_metrics

Browses the PCP metric namespace. Lists the metrics under 'prefix' with their descriptions, collapsing any large sub-namespace to one line giving its name and how many metrics it holds; call again with that name as the prefix to see inside it. Only metrics this system's pmlogger records are listed, so everything listed can be passed to pcp_query_metrics. The pcp_guide tool already names the commonly needed metrics, so reach for this when you need a subsystem the guide does not cover. Use only if get_system_information() indicates PCP is available.

Parameters:

  • prefix (string, default: none): Namespace to list, such as 'mem' or 'disk.dev'. Omit it to see the top-level namespaces, which is where to start when you do not know the name.

pcp_performance_summary

Produces a condensed snapshot of CPU, memory, disk, network, and process information using pcp xsos. Can summarize the live system or a particular time in the past. Use only if get_system_information() indicates PCP is available.

Parameters:

  • timestamp (string, default: none): Optional summary timestamp: a full date and time (e.g., '2026-08-14 14:00:00'), or 'now'. Timestamps without a UTC offset are read in the target system's timezone. If not provided, shows live system summary.

pcp_query_metrics

Retrieves historical metric data from PCP archives as JSON samples. When start_time, end_time, or interval is omitted, reasonable defaults are chosen, targeting one hour or about 20 samples. Call pcp_guide first for the metric catalog and how to read the values; do not guess metric names. Use only if get_system_information() indicates PCP is available.

Parameters:

  • metrics (array of string, required): List of PCP metric names to query
  • start_time (string, default: none): Start time as a full date and time (e.g., '2026-08-14 14:00:00'), or 'now'. Timestamps without a UTC offset are read in the target system's timezone.
  • end_time (string, default: none): End time as a full date and time (e.g., '2026-08-14 16:00:00'), or 'now'. Timestamps without a UTC offset are read in the target system's timezone.
  • interval (string, default: none): Sampling interval (e.g., '1minute', '10seconds', '5minutes').