Revenue Agent — OpenAPI Audit & Change Detection
Server Details
Paid OpenAPI audit and API change detection for agents. $0.10 USDC per analysis via x402 on Base.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
check_openapi compares a URL against a stored snapshot, while compare_openapi compares explicit before/after URLs without snapshot history. The distinction is present but the long, overlapping x402/payment descriptions make them easy to confuse at a glance.
Both tool names use a consistent snake_case verb_noun pattern: check_openapi and compare_openapi. The verbs are distinct and the shared object makes the pattern predictable.
Two tools for an OpenAPI audit and change-detection service is borderline thin. Each tool has a clear role, but there are no auxiliary operations such as snapshot listing, resetting, or result retrieval.
The core workflows of snapshot-based drift detection and explicit before/after comparison are covered. However, snapshot lifecycle management and direct analysis execution are missing, forcing agents to rely on external x402 HTTP calls.
Available Tools
2 toolscheck_openapiOpenAPI Audit & Breaking-Change DetectionARead-onlyIdempotentInspect
Developer tool for OpenAPI audit, API analysis, Swagger analysis, and API contract change validation (not general OpenAPI conformance linting). The paid analysis detects breaking changes and API drift by comparing a public OpenAPI/Swagger JSON or YAML contract with the service's last stored snapshot of that URL (the first check records the baseline). It returns deterministic JSON classifying endpoint, method, media-type, status, request/response field, type, requiredness, and structural oneOf/anyOf branch changes as breaking, potentially breaking, non-breaking or informational, plus a Markdown summary. It does not infer schema satisfiability or branch overlap; not and external references are unsupported. Cost: 0.10 USDC per completed analysis via x402 on Base (eip155:8453), settled only after the analysis is computed. This MCP tool itself is free: it validates the URL and returns the x402 endpoint and payment terms; it does not run the analysis or move funds. Canonical service OpenAPI: https://agent.prh.news/openapi.json. To get the analysis, POST {"url": ""} to the returned endpoint with an x402-capable HTTP client.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public OpenAPI/Swagger JSON or YAML URL (http or https, no credentials or query string) |
Output Schema
| Name | Required | Description |
|---|---|---|
| input | Yes | |
| openapi | Yes | |
| payment | Yes | |
| purchase | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish a safe, idempotent read, and the description adds substantial context beyond them: exact cost (0.10 USDC via x402 on Base), settlement timing (only after the analysis is computed), that the MCP tool itself is free and moves no funds, the deterministic JSON change classification and Markdown summary, and explicit limitations (no schema satisfiability/branch-overlap inference, no not or external references).
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 opening sentence is keyword-stuffed ('OpenAPI audit, API analysis, Swagger analysis, and API contract change validation') rather than front-loading the action. The single most decision-relevant fact for the caller — that this tool only validates the URL and returns payment terms, not the analysis — is buried near the end after a long paragraph on the paid analysis.
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, yet the description still covers everything an agent needs: cost and payment flow, settlement conditions, explicit capability limits, and concrete next steps (POST {"url": ...} to the returned endpoint with an x402-capable client). Nothing material for correct invocation is missing.
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 100% and the single url parameter is fully documented there (public OpenAPI/Swagger JSON or YAML, http/https, no credentials or query string). The description repeats the 'public OpenAPI/Swagger JSON or YAML contract' notion but adds no syntax, format, or constraint detail beyond the schema, so baseline 3 applies.
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?
States a specific verb+resource (OpenAPI audit and contract change validation) and explicitly scopes it against adjacent activities ('not general OpenAPI conformance linting'). Crucially, it disambiguates what THIS call does ('validates the URL and returns the x402 endpoint and payment terms; it does not run the analysis') from the paid analysis it advertises, so an agent knows exactly what invoking check_openapi yields.
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 clear when-to-use context (detect breaking changes/API drift by comparing a public contract against the service's last stored snapshot, with the first check recording the baseline) and an explicit exclusion (not conformance linting). It stops short of naming the sibling compare_openapi or explaining when to prefer it over this snapshot-based check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_openapiImmediate Stateless OpenAPI ComparisonARead-onlyIdempotentInspect
Validates explicit before and after public OpenAPI/Swagger URLs and returns purchase terms for an immediate deterministic semantic comparison, including structural oneOf/anyOf branch changes. It does not infer schema satisfiability or branch overlap; not and external references are unsupported. The paid endpoint returns breaking, potentially breaking, non-breaking and informational findings plus Markdown without reading or advancing snapshot history. Cost: 0.25 USDC via x402 on Base (eip155:8453). This MCP tool is free and never executes analysis or moves funds.
| Name | Required | Description | Default |
|---|---|---|---|
| after_url | Yes | ||
| before_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| input | Yes | |
| openapi | Yes | |
| payment | Yes | |
| purchase | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent/openWorld annotations by disclosing the x402 cost (0.25 USDC on Base, eip155:8453), that the MCP tool itself is free and never executes analysis or moves funds, statelessness w.r.t. snapshot history, and unsupported reference constructs. This is exactly the extra behavioral context annotations cannot carry.
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?
Front-loaded with the action and comparison semantics, then constraints, then cost. Dense but each sentence carries distinct information; only the 'purchase terms' framing adds slight ambiguity rather than waste.
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 a payment-gated, stateless comparison tool with an output schema, the description covers cost, statelessness, unsupported features, and the returned finding categories (breaking / potentially breaking / non-breaking / informational plus Markdown). An agent has everything needed to decide and call 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 maps the two parameters to before/after semantics and constrains them to 'public' URLs, adding a real usage constraint. It does not state whether URLs must be publicly reachable without auth or what format failures look like.
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?
States a concrete verb and resource ('Validates explicit before and after public OpenAPI/Swagger URLs') plus the operation's nature ('immediate deterministic semantic comparison, including structural oneOf/anyOf branch changes'). It is distinguishable from a single-spec checker sibling, though the phrase 'returns purchase terms' briefly muddles whether this is an analysis tool or a payment-negotiation tool.
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 clear context and explicit exclusions: it does not infer schema satisfiability or branch overlap, and 'not' plus external references are unsupported, and it does not read or advance snapshot history. It never names or routes to the sibling check_openapi, so alternative selection is left to inference.
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
- Added
compare_openapi
1 tool update
- Changed
check_openapi2 fields changed- added
Output schema / properties / openapiAdded value: +{ + "const": "https://agent.prh.news/openapi.json", + "type": "string" +} - changed
Output schema / requiredPrevious value: -[ - "purchase", - "input", - "payment" -]New value: +[ + "purchase", + "input", + "payment", + "openapi" +]
1 tool update
- First observed
check_openapi
Related MCP Connectors
x402 pay-per-call APIs for AI agents on Base: site audits, llms.txt, wallet watch, prices, fetch.
x402 paid APIs for AI agents on Base. Blockchain, wallet, DEX, crypto, web search.
Pay-per-call (x402/USDC-Base) web + crypto data tools for AI agents: audit, extract, crypto, DeFi.
30 pay-per-call APIs for AI agents: compliance, trade, safety, web, data. USDC on Base via x402.
Related MCP Servers
AlicenseAqualityDmaintenancePre-trade DeFi intelligence for AI agents. 20 paid x402 endpoints, USDC on Base.2353 npm1MIT- FlicenseNot gradedqualityDmaintenancePay-per-use AI security and research tools for autonomous agents on Base, enabling honeypot detection, risk assessment, wallet analysis, and yield optimization via the x402 protocol.1-
- AlicenseAqualityCmaintenancePay-per-call web page extraction, on-page SEO audits and text analysis for AI agents. Paid in USDC on Base via x402; no API keys, failed calls are not charged.4MIT
- FlicenseAqualityDmaintenancePay-per-call tools for AI agents including trust checks, due diligence, market data, and human-verified approvals, settled in USDC on Base via the x402 protocol.16-
Glama MCP Gateway
Add one secure layer between your agents and this server.