Skip to main content
Glama
link0-o

PerfLens MCP Server

by link0-o

inspect_collection_capabilities

Read-onlyIdempotent

Check perf, kernel policy, and collection-mode availability without sampling or attaching to a process, so you can verify which performance analysis options are usable.

Instructions

Inspect perf, kernel policy, capabilities, and collection-mode availability without sampling or attaching to a process.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
modesYes
platformYes
warningsNo
perf_versionNo
ptrace_scopeNo
capability_idYes
effective_uidYes
kptr_restrictNo
kernel_releaseYes
schema_versionNo1.0
perf_executableNo
recommendationsNo
tracefs_accessibleYes
hardware_pmu_reasonNo
hardware_pmu_statusNounknown
perf_event_paranoidNo
effective_capabilitiesNo
perf_file_capabilitiesNo
software_counting_statusNounknown
software_sampling_statusNounknown

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.3.0
    • addedOutput schema / properties / hardware_pmu_reason
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Hardware Pmu Reason"
      +}
    • addedOutput schema / properties / hardware_pmu_status
      Added value: +{
      +  "default": "unknown",
      +  "enum": [
      +    "available",
      +    "unavailable",
      +    "unknown"
      +  ],
      +  "title": "Hardware Pmu Status",
      +  "type": "string"
      +}
    • addedOutput schema / properties / software_counting_status
      Added value: +{
      +  "default": "unknown",
      +  "enum": [
      +    "available",
      +    "unavailable",
      +    "unknown"
      +  ],
      +  "title": "Software Counting Status",
      +  "type": "string"
      +}
    • addedOutput schema / properties / software_sampling_status
      Added value: +{
      +  "default": "unknown",
      +  "enum": [
      +    "available",
      +    "unavailable",
      +    "unknown"
      +  ],
      +  "title": "Software Sampling Status",
      +  "type": "string"
      +}
  2. Addedv0.1.1

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description does not need to repeat safety. It adds value by explicitly stating 'without sampling or attaching to a process,' which is a meaningful behavioral trait beyond the annotations. No contradiction exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact, front-loaded sentence: the verb comes first, the scope follows, and the key contrast ('without sampling or attaching') is included at the end without verbosity. Every phrase earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, side-effect-free inspection tool, this description is complete. The output schema is available for return-value expectations, annotations cover the safety profile, and the description sufficiently explains what capabilities are being inspected. Nothing needed to select and call the tool is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the 100% schema coverage is trivially complete. The description's list of inspectable areas (perf, kernel policy, capabilities, collection-mode availability) defines what is surfaced at runtime, which compensates for the lack of any parameter-level documentation. Baseline for zero params is 4; description is consistent with that.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Inspect'), multiple concrete resources (perf, kernel policy, capabilities, collection-mode availability), and immediately distinguishes the tool by stating it does so 'without sampling or attaching to a process.' This is far more differentiating than typical boilerplate and clearly identifies what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'without sampling or attaching to a process' establishes a use context: call this when you need capability information without performing side-effecting collection actions. It is not as strong as naming an explicit alternative sibling, but it gives clear contextual guidance about when this tool is the right choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.