Agent Preflight
Server Details
Budgeted agent preflight: allow|block|reuse|defer|advise. Never executes destination tools. Free MCP
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP ยท MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
check_request is clearly about validating HTTP JSON bodies against a schema, while preflight_tool_call is about making cost/budget decisions for search/fetch tool calls. They target different objects and use cases, so an agent should not confuse them.
Both tool names follow a consistent snake_case verb_noun pattern: check_request and preflight_tool_call. Although preflight is a compound verb, the naming structure is predictable and consistent across the set.
Two tools is on the thin side for a general-purpose preflight server, but each tool has a distinct, defensible niche. The count is not absurd, yet it gives agents a very limited surface.
The server covers only two narrow preflight scenarios: HTTP body schema validation and search/fetch cost preflight. It lacks broader request validation or arbitrary tool-call preflight, making the surface workable but notably incomplete for the 'Agent Preflight' name.
Available Tools
2 toolscheck_requestCheck RequestARead-onlyIdempotentInspect
Validate an HTTP API request body against a supplied JSON Schema before sending it. This tool does not execute the request. Use it when an agent needs to determine whether a proposed JSON body satisfies its expected schema. Optional economics adds proceed/abort advice from expected waste versus a $0.001 check.
| Name | Required | Description | Default |
|---|---|---|---|
| schema | Yes | JSON Schema applied to request.body | |
| request | Yes | ||
| economics | No | Optional V0.2 cost context. Omit for V0.1 validation-only output. |
Output Schema
| Name | Required | Description |
|---|---|---|
| valid | Yes | |
| errors | Yes | |
| warnings | Yes | |
| economics | No | |
| requestHash | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses two additive behaviors: the tool never executes or fetches the target request, and the optional economics parameter yields proceed/abort advice based on expected waste versus the $0.001 check price. These are meaningful behavioral facts not derivable from the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: purpose, non-execution plus usage trigger, and economics behavior. The verb-resource-object is front-loaded in the first clause, and nothing repeats schema content or annotations. Zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with an output schema, safety annotations, and well-documented nested fields, the description plus structured data covers everything an agent needs for a successful call. The economics versioning (V0.1 vs V0.2) lives in the schema, and return values are covered by the output schema. Only minor edge behavior, like handling of a malformed schema, is unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all parameters well at 67% coverage, including nested request fields and the economics object's full structure. The description adds only the proceed/abort decision framing for economics, which is a modest but genuine increment over the schema's 'cost context' phrasing. A 3 baseline is fair since the schema carries most of the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: 'Validate an HTTP API request body against a supplied JSON Schema.' It additionally draws a hard boundary with 'This tool does not execute the request,' making its non-executing role unmistakable and separating it from any send/execute tool even without naming the sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use direction: 'Use it when an agent needs to determine whether a proposed JSON body satisfies its expected schema' and frames it as a pre-send validation step. However, it never names preflight_tool_call as an alternative nor states when not to use this tool, so it stops at clear context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preflight_tool_callPreflight Tool CallARead-onlyIdempotentInspect
Free MCP decision for generic search:web_search or browse:fetch proposals only. Returns structuredContent and JSON text, never destination results. Caller supplies cost estimates, post-consultation budget and history, executes tools and retrieves resultReference itself. Reuse requires explicit permission, positive TTL and matching nonempty goal hashes; history must belong to the caller. estimated fees/savings are hypothetical, not receipts; confidence is not calibrated. Paid HTTP is a separate $0.001 per settled POST interface. Full contract: https://agent-preflight.com/docs
| Name | Required | Description | Default |
|---|---|---|---|
| task | No | ||
| tool | Yes | ||
| runId | Yes | ||
| budget | Yes | ||
| stepId | Yes | ||
| history | No | ||
| retryCap | No | ||
| capabilities | No | ||
| preflightPriceUsd | No | ||
| freshnessTtlSeconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| issues | Yes | |
| decision | Yes | |
| estimated | No | |
| enforcement | Yes | |
| reasonCodes | Yes | |
| matchedCallId | No | |
| recommendation | No | |
| requestFingerprint | No | SHA-256 of version-2 exact proposal; absent on invalid input |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: it returns structuredContent and JSON text, never destination results; estimated fees/savings are hypothetical, not receipts; confidence is not calibrated; paid HTTP is a separate $0.001 per settled POST interface. It also discloses the reuse permission requirement. This goes beyond annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded with the core decision scope, then covers exclusions, caller responsibilities, reuse conditions, caveats, and a link. Every sentence adds information, though the density makes it slightly hard to parse. It is appropriately sized for a complex tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (10 params, nested objects, output schema present), the description covers the key decision scope, exclusions, caller responsibilities, reuse conditions, and caveats. The output schema exists, so return values need not be explained. The main gap is that several parameters (runId, stepId, retryCap, capabilities) are not explained, but the description still provides enough context for an agent to understand the tool's role and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does mention caller supplies cost estimates, post-consultation budget and history, and reuse requires positive TTL and matching goal hashes, which maps to budget, history, freshnessTtlSeconds, and task.goalHash. However, it does not explain runId, stepId, tool.provider/operation/request, retryCap, capabilities, or preflightPriceUsd. The description adds some meaning but leaves many parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Free MCP decision') and resource ('generic search:web_search or browse:fetch proposals only'), and explicitly distinguishes what it is not ('never destination results'). It also names the sibling tool check_request indirectly by contrast, making the tool's scope clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use this tool: for generic search:web_search or browse:fetch proposals only, and that it is not for destination results. It also gives clear caller responsibilities (supplies cost estimates, budget, history; executes tools and retrieves resultReference itself) and reuse conditions (explicit permission, positive TTL, matching goal hashes, history must belong to caller). This is strong when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
check_request - First observed
preflight_tool_call
Related MCP Connectors
Agent-work MCP: free context preflight and page-read previews, paid x402 HTTP upgrades.
Advisory policy preflight for AI-agent spend requests; never executes payments or accesses wallets.
Free no-storage MCP that checks A2A Agent Card connection readiness for authorized targets.
Preflight, approve, and prove consequential agent actions with signed evidence and x402 tools.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server that preflights endpoints before agent payments, returning a trust verdict with proceed/caution/avoid recommendation.1MIT
- AlicenseBqualityCmaintenancePre-execution governance for AI agents. 45 MCP tools for hold queues, audit trails, risk scoring, and policy enforcement. Validates agent actions before they execute.4563 npm1MIT
- FlicenseNot gradedqualityDmaintenanceReplay safety evals before agent releases move forward. A paid remote MCP for AI agent safety replay checks, policy gates, eval receipts, control-fix suggestions, and release evidence exports.-
- AlicenseAqualityAmaintenancePre-flight scoring for AI agents, returns Accelerate, Fix, or Stop with EUR value range, decision confidence, and pace-layer drag.8MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.