Skip to main content
Glama
jgstew

bigfix-root-mcp

by jgstew

Qna Eval Client Relevance

qna_eval_client_relevance

Evaluate client relevance with BigFix qna on lab targets, providing a fast feedback loop without affecting the BigFix deployment. Iterate on relevance syntax before verifying with client_query.

Instructions

Evaluate CLIENT relevance with the BigFix qna tool - a fast feedback loop that never touches the BigFix deployment.

qna runs on lab targets (containers or admin-inventoried hosts), NOT on managed BigFix endpoints: results reflect each target machine only. There is no operator scope, no site subscriptions and no client settings, so inspectors that depend on deployment state will differ from what client_query returns. Iterate on relevance syntax and inspector behavior here, then confirm on real agents with client_query.

With no inventory_targets or container_images, it runs on every inventory host (qna only reads). An online_evaluator inventory host sends the client relevance to developer.bigfix.com; name targets to keep a query off it. When no inventory file exists yet (qna_list_targets: auto_discovery_pending), such a run first discovers what works on the server's host and records it in ~/.bigfix/remote_clients.toml; once the file exists, discovery runs only through qna_discover_targets. The payload's auto_discovery says what was added. A discovering run can take minutes.

Per-target failures come back as result rows with error_kind ('relevance', 'qna', 'bootstrap', 'transport', 'resolve'), never as a tool error. ok_count and target_count describe the whole run; the rows are windowed by limit/offset.

Input Schema

NameRequiredDescriptionDefault
limitNoMax rows to return (default 500). The response reports total_available and truncated.
offsetNoRow offset, for paging through results.
relevanceYesClient relevance to evaluate with qna on each target.
qna_versionNoBigFix agent/qna version to provision on targets, e.g. '11.0'. Required for plain container images (they have no qna baked in); the first use of a version downloads and caches it.
timeout_secondsNoPer-target timeout (1-300).
container_imagesNoContainer images to evaluate in, e.g. 'ubuntu:22.04'. The first use of an image is slow (agent artifact download + derived image build); later runs are about a second.
inventory_targetsNoNames from the server's qna inventory (see qna_list_targets). Leave both this and container_images empty to run on every inventory host.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.2.0

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so richly: qna runs on lab targets not managed endpoints, no operator scope/site subscriptions/client settings, results differ from client_query for deployment-dependent inspectors, and an online_evaluator host receives the query. It also discloses error handling (per-target failures come as rows with error_kind, never tool errors), timing (discovering run can take minutes, first image use is slow), and the auto_discovery payload.

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

Conciseness4/5

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

Dense multi-paragraph text, but front-loaded with purpose and behavior. Nearly every sentence carries operational information, though it could be tightened slightly; the structure is logical rather than padded.

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?

Complex 7-parameter tool with an output schema, and the description still covers the essential subtleties an agent needs: lab-vs-endpoint semantics, empty-target defaults, discovery behavior, and row-based error reporting. Nothing critical for correct invocation appears 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?

Schema coverage is 100%, so baseline is 3; the description adds value beyond the schema by explaining the default when both target parameters are empty (runs on every inventory host) and the consequence of naming targets (keeping a query off the online_evaluator host). It reiterates some schema content but the empty-parameter semantics are a genuine addition.

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?

States a specific verb+resource ('Evaluate CLIENT relevance with the BigFix qna tool') and immediately frames it as a fast lab feedback loop distinct from real deployment queries. Explicitly contrasts with client_query ('then confirm on real agents with client_query'), giving clear sibling differentiation.

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

Usage Guidelines5/5

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

Gives explicit workflow: iterate on relevance syntax here, then confirm with client_query. Also documents the default behavior when inventory_targets/container_images are empty (runs on every inventory host), when to name targets to keep a query off the online_evaluator host, and when discovery vs. qna_discover_targets applies.

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