Agent Preflight
Server Details
Budgeted agent preflight: allow|block|reuse|defer|advise. Never executes destination tools. Free MCP
- Status
- Healthy
- Uptime
- 99.9% over 23 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
The two tools target different objects: check_request validates HTTP request bodies against JSON Schema, while preflight_tool_call provides decisions for MCP web_search/browse:fetch calls. Their purposes are mostly distinct, though both share the 'preflight' concept, which could cause slight confusion.
Both tool names use snake_case, but the patterns differ: 'check_request' is verb_noun, while 'preflight_tool_call' is adjective_noun_noun. There is no consistent verb_noun pattern across the set.
Only 2 tools for a server named 'Agent Preflight' feels thin; the domain likely encompasses more preflight checks. However, the two tools are focused and not redundant.
The surface covers HTTP body validation and MCP search/fetch decisions, but lacks tools for other HTTP methods, other MCP tools, or budget/history management. Notable gaps exist for a general preflight service.
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.002 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?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety bar is met structurally. The description adds genuinely useful context beyond that: it guarantees the URL is never fetched (no side effects at all) and explains that the optional economics input produces proceed/abort advice derived from expected waste versus a $0.002 check. It does not cover auth requirements, latency, or failure modes, so it stops short of a 5.
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, front-loaded with the core action, then the non-execution caveat, then the optional economics behavior. Every sentence carries information and there is no filler, though the final sentence is dense and could be split or simplified.
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?
An output schema exists, so return values need not be described, and the description covers purpose, the no-execution guarantee, and the optional economics mode. For a read-only validation tool this is nearly complete; the remaining gap is disambiguation from preflight_tool_call, which the description ignores entirely.
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 67% and the parameters are nested, so the schema already documents most fields including url, method, headers, query, and the individual economics properties. The description adds only a high-level gloss on what the economics block is for ('proceed/abort advice from expected waste versus a $0.002 check'), without clarifying defaults such as preflightPriceUsd or priorInvalidProbability. This is a baseline 3 with modest added value.
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 and resource: validate an HTTP API request body against a supplied JSON Schema, and explicitly bounds the scope with 'This tool does not execute the request.' It is clear and unambiguous, but it never mentions the sibling tool preflight_tool_call, so an agent cannot tell them apart from the description alone.
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?
'Use it when an agent needs to determine whether a proposed JSON body satisfies its expected schema' gives a clear triggering condition, and 'does not execute the request' implicitly rules out using it as a send/fetch step. However, no alternative tool is named and no when-not condition relative to preflight_tool_call is offered, which matters given the overlap implied by the sibling name.
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.002 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 readOnly/idempotent/non-destructive, so the bar is lower; the description nonetheless adds real behavior: the caller must supply cost estimates and history, executes the tool and fetches resultReference itself, estimates are hypothetical rather than receipts, confidence is uncalibrated, and paid HTTP costs $0.002 per settled POST. That is substantive context beyond 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?
Four dense sentences, front-loaded with what the tool is and what it does not return, with the contract link last. Every sentence carries information, though the semicolon-chained clauses and unexpanded acronyms make it read more like a spec fragment than a clean guide.
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?
An output schema exists, so return-value explanation is correctly omitted. Given the complexity (10 params, nested objects) the description covers scope, cost model, reuse conditions and the contract URL adequately, with the main remaining gap being differentiation from the check_request sibling.
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?
With 10 parameters and 0% schema description coverage, the description must carry the load and only partially does: it maps to estimated cost, budget, history, goalHash, freshness TTL and reuse permission, but says nothing about runId, stepId, tool.provider/operation/request, retryCap or preflightPriceUsd. It adds meaning for roughly half the surface.
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 function: a free preflight decision on proposed generic search:web_search or browse:fetch calls that returns a decision payload rather than destination results. It is recognizable and scoped, but heavy jargon ('Free MCP decision') and the absence of any contrast with the sibling check_request leave the boundary slightly fuzzy.
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?
Scope is implied by 'generic search:web_search or browse:fetch proposals only,' and reuse conditions are spelled out (explicit permission, positive TTL, matching nonempty goal hashes), but there is no explicit when-to-use versus check_request or when-not guidance. The paid-HTTP note hints at an alternative interface without naming it.
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.
1 tool update
- Changed
check_request1 field changed- changed
Input schema / properties / economics / properties / preflightPriceUsd / descriptionPrevious value: -"Price of this check. Default 0.001"New value: +"Price of this check. Default 0.002"
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.
Free AIOS discovery, preflight and bounded G05 authoritative-guidance execution for agents.
x402 agent preflight: exact action authority plus payment mandate, destination, expiry and replay.
Advisory policy preflight for AI-agent spend requests; never executes payments or accesses wallets.
Related MCP Servers
- AlicenseBqualityDmaintenancePre-execution governance for AI agents. 45 MCP tools for hold queues, audit trails, risk scoring, and policy enforcement. Validates agent actions before they execute.4554 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.13MIT
- AlicenseNot gradedqualityAmaintenanceMCP server for governing agent actions: an agent can propose a retry but cannot approve it itself. Deterministic policy allows, holds or refuses each typed action, a held action needs a single-use human approval none of the tools can create, and every run leaves a verifiable receipt.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.