Budgeted agent preflight: allow|block|reuse|defer|advise. Never executes destination tools. Free MCP
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
JSON Schema applied to request.body
Optional V0.2 cost context. Omit for V0.1 validation-only output.
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.
| Argument | Type | Description |
|---|---|---|
| schema* | object | JSON Schema applied to request.body |
| request* | object | |
| economics | object | Optional V0.2 cost context. Omit for V0.1 validation-only output. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"request",
"schema"
],
"properties": {
"schema": {
"type": "object",
"description": "JSON Schema applied to request.body",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"request": {
"type": "object",
"required": [
"method",
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Absolute http(s) URL. This tool never fetches the URL."
},
"body": {
"description": "JSON body checked against schema"
},
"query": {
"type": "object",
"description": "Query parameters",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"method": {
"type": "string",
"description": "HTTP method of the proposed request"
},
"headers": {
"type": "object",
"description": "HTTP headers as string key/value pairs",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
}
},
"economics": {
"type": "object",
"required": [
"downstreamCostUsd",
"billsOnInvalidRequest",
"retryCostUsd"
],
"properties": {
"retryCostUsd": {
"type": "number",
"minimum": 0,
"description": "USD model/tool-turn cost of one failed attempt"
},
"downstreamCostUsd": {
"type": "number",
"minimum": 0,
"description": "USD cost of the target API attempt or success"
},
"preflightPriceUsd": {
"type": "number",
"minimum": 0,
"description": "Price of this check. Default 0.002"
},
"budgetRemainingUsd": {
"type": "number",
"minimum": 0,
"description": "Remaining agent budget. Checks above this are not +EV"
},
"billsOnInvalidRequest": {
"type": "boolean",
"description": "True when the target API charges or consumes quota on 4xx"
},
"priorInvalidProbability": {
"type": "number",
"maximum": 1,
"minimum": 0,
"description": "Prior probability the payload is doomed. Default 0.25"
}
},
"description": "Optional V0.2 cost context. Omit for V0.1 validation-only output."
}
}
}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
| Argument | Type | Description |
|---|---|---|
| task | object | |
| tool* | object | |
| runId* | string | |
| budget* | object | |
| stepId* | string | |
| history | array | |
| retryCap | integer | |
| capabilities | object | |
| preflightPriceUsd |
| number |
| freshnessTtlSeconds | number |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"runId",
"stepId",
"tool",
"budget"
],
"properties": {
"task": {
"type": "object",
"required": [
"goalHash"
],
"properties": {
"goalHash": {
"type": "string"
}
}
},
"tool": {
"type": "object",
"required": [
"provider",
"operation",
"request",
"estimatedExternalCostUsd"
],
"properties": {
"request": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"provider": {
"type": "string"
},
"operation": {
"type": "string"
},
"estimatedModelCostUsd": {
"type": "number",
"minimum": 0
},
"estimatedExternalCostUsd": {
"type": "number",
"minimum": 0
}
}
},
"runId": {
"type": "string"
},
"budget": {
"type": "object",
"required": [
"remainingUsd"
],
"properties": {
"reservedUsd": {
"type": "number",
"minimum": 0
},
"remainingUsd": {
"type": "number",
"minimum": 0
},
"maxToolCallsRemaining": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
}
},
"stepId": {
"type": "string"
},
"history": {
"type": "array",
"items": {
"type": "object",
"required": [
"toolCallId",
"fingerprint",
"outcome",
"ageSeconds"
],
"properties": {
"outcome": {
"enum": [
"success",
"terminal_failure",
"transient_failure"
],
"type": "string"
},
"goalHash": {
"type": "string"
},
"ageSeconds": {
"type": "number",
"minimum": 0
},
"toolCallId": {
"type": "string"
},
"fingerprint": {
"type": "string"
},
"resultReference": {
"type": "string"
}
}
}
},
"retryCap": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"capabilities": {
"type": "object",
"properties": {
"canReduceScope": {
"type": "boolean"
},
"canReusePriorResult": {
"type": "boolean"
}
}
},
"preflightPriceUsd": {
"type": "number",
"minimum": 0
},
"freshnessTtlSeconds": {
"type": "number",
"minimum": 0
}
}
}