PREFLIGHT — URL Routing for AI Agents
Server Details
Choose HTTP, browser, machine endpoint, or avoid before an agent visits an unfamiliar URL.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- GSterlingPress/preflight-api
- GitHub Stars
- 0
- Server Listing
- preflight-api
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one performs the initial URL check and routing, the other collects feedback after following the recommendation. There is no overlap or ambiguity between them.
Both tools share the 'preflight_' prefix and use snake_case, but the second word differs in part of speech ('check' is a verb, 'feedback' is a noun). The pattern is predictable yet not perfectly uniform.
With only two tools, the server feels minimal but coherent for its narrow purpose. It is on the thin edge but not overly sparse for a single-function preflight service.
The core workflow is covered: check a URL for the best route and then provide feedback on the outcome. No obvious dead ends, though additional tools like a history or stats view could be considered but aren't essential.
Available Tools
2 toolspreflight_checkCheck URL Before FetchingARead-onlyIdempotentInspect
Before fetching, crawling, scraping, opening, or browser-rendering an unfamiliar http/https URL, call this with the ACTUAL destination URL. Returns the best first route: HTTP, BROWSER, MACHINE_ENDPOINT, or AVOID, plus access/JS/size/cost hints. Do not substitute example.com when a real task URL is available.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Actual absolute http/https destination URL from the current task. Use before the first fetch or browser request. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds meaningful behavioral context about what the tool returns (HTTP/BROWSER/MACHINE_ENDPOINT/AVOID route plus access/JS/size/cost hints) and implies it performs a pre-check without stating side effects, which aligns with 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?
The description is two sentences, immediately front-loaded with when to use it and what it returns. No wasted words; every clause carries essential information.
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 single parameter, no output schema, and simple operation, the description provides sufficient context: when to use, what it returns, and which URL to pass. It is complete for an agent to select and invoke the tool 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?
The schema already covers the single parameter 'url' with a clear description. The tool description adds emphasis on 'ACTUAL destination URL' and the prohibition against substituting example.com, enriching the parameter semantics beyond the schema alone.
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 clearly states the tool's purpose: preflight URL checking before any fetching/crawling/scraping/rendering, and specifies the output (best first route plus hints). It distinguishes itself from the sibling tool 'preflight_feedback' by focusing on the pre-fetch check action.
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 the tool ('Before fetching, crawling, scraping, opening, or browser-rendering an unfamiliar http/https URL') and gives a concrete rule ('call this with the ACTUAL destination URL'). It also warns against substituting example.com, providing clear usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preflight_feedbackReport PREFLIGHT OutcomeAInspect
After following a PREFLIGHT recommendation, report whether the chosen route worked so PREFLIGHT can improve future recommendations.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| route | Yes | ||
| outcome | Yes | ||
| latencyMs | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains that the feedback contributes to improving future recommendations, adding behavioral context beyond the generic annotations. However, it doesn't disclose details about persistence, permissions, or response behavior, and annotations carry no safety hints, leaving some burden unmet.
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 a single, front-loaded sentence with no redundancy. Every word serves a purpose, clearly stating when and why to use the 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?
For a simple feedback tool, the description gives the essential context of when and why, but it omits parameter-level guidance and doesn't clarify the role of latencyMs. Given no output schema and sparse annotations, the description is adequate but not fully complete.
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 schema description coverage at 0%, the description must compensate for parameter meaning. It only partially does so by explaining that 'outcome' reflects whether the route worked, but it doesn't elaborate on url, route, or latencyMs, leaving several parameters underdefined.
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 clearly states the action: reporting the outcome of a PREFLIGHT recommendation, with a specific goal of improving future recommendations. It uses a specific verb ('report') and resource ('PREFLIGHT outcome'), distinguishing it from the sibling tool preflight_check.
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 phrase 'After following a PREFLIGHT recommendation' provides clear timing context and indicates this tool is for post-recommendation feedback. It doesn't explicitly name alternatives, but the sibling preflight_check is inherently the counterpart, making the usage context clear.
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
- Changed
preflight_check2 fields changed- changed
Input schema / properties / url / descriptionPrevious value: -"The actual absolute http/https URL the agent is about to visit. Pass the real task URL here BEFORE making the web request; do not substitute example.com for evaluation."New value: +"Actual absolute http/https destination URL from the current task. Use before the first fetch or browser request." - added
Input schema / properties / url / formatAdded value: +"uri"
- Changed
preflight_feedback1 field changed- added
Input schema / properties / url / formatAdded value: +"uri"
1 tool update
- Changed
preflight_check1 field changed- changed
Input schema / properties / url / descriptionPrevious value: -"The absolute http/https URL the agent is about to visit. Pass it here BEFORE making the web request."New value: +"The actual absolute http/https URL the agent is about to visit. Pass the real task URL here BEFORE making the web request; do not substitute example.com for evaluation."
1 tool update
- Changed
preflight_check1 field changed- changed
Input schema / properties / url / descriptionPrevious value: -"Absolute http/https URL to evaluate"New value: +"The absolute http/https URL the agent is about to visit. Pass it here BEFORE making the web request."
2 tool updates
- First observed
preflight_check - First observed
preflight_feedback
Related MCP Connectors
Verify URLs, payees, and messages before acting: red/yellow/green trust verdicts for agents.
URL reality check for agents: status, content hash, classification, wayback fallback.
Prompt-injection scanning and safe webpage fetching for AI agents reading untrusted content.
Decide whether an agent should reuse cached URL knowledge or fetch the resource again.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables AI agents to check URL safety before fetching content, using Google Web Risk, URLhaus, PhishTank, and AI analysis to return SAFE/SUSPICIOUS/DANGEROUS verdicts.1109 npm1MIT
- AlicenseNot gradedqualityBmaintenanceEnables an agent to drive a real browser while enforcing provenance-based gating so URLs and form values must trace to the user or an allowlist, never to untrusted page content.AGPL 3.0
- AlicenseNot gradedqualityBmaintenanceEnables coding agents to scan a public URL in passive or authorized mode and receive only bounded, sanitized structured findings (severity, confidence, standard, evidence, remediation) with quarantined evidence instead of raw page dumps. A second tool lets agents inspect the scanner's safety boundaries and coverage without making any network request.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to check trustworthiness before recommending URLs, products, or organizations, with fail-closed pass/fail verdicts and attested-only recommendations.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.