Skip to main content
Glama

prufgate_contract_check

Read-onlyIdempotent

Detects undeclared or hallucinated imports, undocumented environment variables, and frontend/backend route mismatches so repository contracts stay consistent.

Instructions

Engine 4: undeclared or hallucinated imports, undocumented environment variables and frontend/backend route mismatches.

Input Schema

NameRequiredDescriptionDefault
base_refNoBase git ref to diff against, e.g. origin/main
changed_onlyNoScan only changed files
workspace_pathNoPath to the repository to scan.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and a closed-world scan, so the safety profile is covered elsewhere. The description's added value is naming the three detection categories, which is genuine behavioral content; it says nothing about output shape, failure on a bad ref, or whether findings are advisory or blocking.

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?

A single dense sentence with no filler, and the detection categories are front-loaded. The only waste is the 'Engine 4' ordinal, which consumes prime position with information an agent cannot use.

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

Completeness3/5

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

Three optional parameters and no output schema mean the description could stay short, but for a multi-engine analysis suite the agent still needs to know what a run produces and how this check differs in depth from full_scan. Those gaps keep it at minimum-viable rather than complete.

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

Parameters3/5

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

Schema description coverage is 100%, with base_ref, changed_only and workspace_path each documented in the schema. The description adds no parameter meaning beyond that, which is acceptable at full coverage but earns only the baseline.

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

Purpose3/5

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

The description names the concrete things being detected (undeclared/hallucinated imports, undocumented env vars, frontend/backend route mismatches), which is a real resource scope rather than a tautology. However there is no verb at all and the leading label 'Engine 4' is opaque without product context, so an agent must infer that this is a static-analysis check.

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

Usage Guidelines2/5

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

No statement of when to run this versus prufgate_full_scan, prufgate_anti_fabrication, or prufgate_diff_guard, even though several siblings plausibly overlap on import/route analysis. Nothing tells the agent what prerequisite state (a git repo, a configured baseline) is expected.

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