Signal Desk paid tools
Server Details
x402-paid tools: render a web page to markdown/PNG/PDF, host a file at a URL, call a URL later
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool targets a clearly distinct utility: file hosting, web page rendering, and delayed HTTP callback scheduling. There is no meaningful overlap in purpose or input/output shape, so an agent can select the right tool without confusion.
All three tools follow a consistent verb_noun convention: host_file, render_page, schedule_callback. The pattern is predictable and immediately readable.
Three tools is on the thin side, but for a small paid utility desk each tool covers a distinct, self-contained capability. The scope feels intentional rather than incomplete, though it borders on minimal.
Each tool covers its core operation well, including failure/non-charge behavior and status reporting for callbacks. Minor gaps exist, such as no way to delete or manage a hosted file before expiry, but agents can work around these limitations.
Available Tools
3 toolshost_fileHost a fileAInspect
Hosts a file: upload up to 10 MB as base64 with its content type and get back a public download URL that serves the bytes with that content type for 1 to 168 hours (default 24). Downloads are free, readable at once where uploaded and everywhere within about a minute. Executables are refused; HTML and SVG are served as attachments. A failed upload is not charged. Price: $0.01 per call in USDC (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | The file, base64 (standard or URL-safe alphabet). Up to 10485760 bytes decoded. | |
| filename | No | Suggested download name. Never used as the storage key. | |
| ttlHours | No | Hours the download URL keeps working, default 24. | |
| contentType | Yes | MIME type the file is served with, e.g. image/png or application/pdf. Executable types are refused; text/html and image/svg+xml are served as attachments. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: discloses pricing ($0.01 USDC via x402), that failed uploads aren't charged, propagation timing (~1 min / immediately at upload site), attachment handling for HTML/SVG, and refusal of executables. This is exactly the behavioral context annotations alone don't convey.
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?
Purpose and return value are front-loaded, and every clause (limits, TTL, exclusions, pricing) carries useful information. It is dense and slightly run-on but has no 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?
No output schema exists, yet the description explains the return value (public download URL serving the exact bytes/content type) and lifecycle (TTL, propagation). Combined with full schema coverage, an agent has everything needed to call 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 100%, so data, filename, ttlHours, and contentType are already fully documented. The description restates the 10 MB and 1–168 hour limits without adding new syntax or edge-case guidance 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 and resource ("Hosts a file") plus the exact mechanism: upload base64 with content type, receive a public download URL. This is clearly distinct from siblings like render_page and schedule_callback.
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 for when this is appropriate (base64 upload up to 10 MB, TTL range) and constraints such as refused executables. It stops short of explicitly naming alternatives or when-not-to-use, so not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_pageRender a web pageARead-onlyInspect
Renders a public web page in a real headless browser (JavaScript runs, redirects are followed) and returns it as clean markdown, a PNG screenshot or a PDF. One call, one payment, no account. A render that fails is not charged. Price: $0.01 per call in USDC (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) page to render. Private, local and cloud-metadata addresses are refused. | |
| width | No | Viewport width in px, default 1280. | |
| format | No | markdown: the page's main content as text. screenshot: a PNG image. pdf: a PDF document. | markdown |
| height | No | Viewport height in px, default 800. | |
| fullPage | No | screenshot: capture the whole page, up to 8000px tall. | |
| selector | No | CSS selector. markdown: convert only that element. screenshot: capture only that element. | |
| pdfFormat | No | pdf: paper size, default A4. | |
| timeoutMs | No | Navigation timeout, default 15000. | |
| waitUntil | No | When the page counts as loaded, default networkidle2. | |
| waitForSelector | No | Wait until this CSS selector exists before capturing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld/non-destructive, but the description goes well past them: it discloses that JavaScript executes and redirects are followed (real browser, not a fetcher), that each call costs $0.01 in USDC via x402, that no account is required, and that failed renders are not billed. Cost and billing semantics are exactly the kind of behavior an agent cannot infer from structured fields.
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 carrying distinct information: capability first, then commercial/access terms, then billing exception. The price is placed last where it belongs, and there is no redundant restatement of the title.
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?
With no output schema, the description must convey results, and it does name the three return artifacts. What it omits is how a binary result (PNG/PDF) is delivered back to the caller — inline, base64, or a URL — which matters for a 10-parameter rendering tool whose non-markdown formats are opaque.
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% with 10 well-documented parameters including enums and defaults, so the schema does the heavy lifting and baseline 3 applies. The description adds no parameter-level detail beyond naming the three output formats, which the schema's format enum already explains.
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?
It names a specific verb and resource ('Renders a public web page') and adds the mechanism ('real headless browser, JavaScript runs, redirects followed') plus the three concrete output artifacts. Nothing here overlaps with the siblings host_file or schedule_callback, so an agent can select it unambiguously.
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 'One call, one payment, no account' and 'A render that fails is not charged' give useful operating context, and 'public web page' scopes eligibility. However, the description never states when to prefer this over another approach or names any alternative, so the 'when to use' guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
schedule_callbackSchedule a callbackAInspect
Schedules a delayed HTTP callback: give a public URL, an optional JSON body, optional headers and a delay of 60 seconds to 7 days (or an absolute time), and the URL is called at that time (POST when a body was given, otherwise GET), with one retry and a 10-second timeout. The answer carries a free status URL that reports whether it fired and what the callee answered. A request that is refused is not charged. Price: $0.005 per call in USDC (x402).
| Name | Required | Description | Default |
|---|---|---|---|
| at | No | Absolute time with a timezone, e.g. 2026-10-28T15:00:00Z, 60 seconds to 7 days ahead. Give this or delaySeconds, not both. | |
| url | Yes | Public http(s) URL to call. Private, local and cloud-metadata addresses are refused, when scheduled and again when fired. Redirects are reported, not followed. | |
| body | No | Any JSON value. Present: the callback is a POST with this as its JSON body (up to 65536 bytes). Absent: a GET. | |
| headers | No | Extra request headers, up to 16, printable ASCII values up to 1024 characters. host, content-length and connection-level headers are refused. | |
| delaySeconds | No | Seconds from now, 60 to 604800. Give this or at, not both. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: one retry, 10-second timeout, redirects reported rather than followed, private/local/cloud-metadata URLs refused at both schedule and fire time, refused requests not charged, and a status URL for checking outcomes. It is consistent with readOnlyHint=false and openWorldHint=true since it performs an outbound write-ish action.
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?
Purpose and price anchor the start and end, with the operational constraints in between; nearly every clause carries information. It is dense as a single long sentence, which slightly hurts scanability but avoids padding.
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?
With no output schema, the description compensates by describing the return (a free status URL reporting whether it fired and the callee's answer) and the failure/cost model. For a paid, open-world async tool this covers everything an agent needs to invoke and interpret it.
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 coverage is 100%, so the baseline is 3; the description still adds value by explaining the conditional semantics of body (body present means POST, absent means GET) and by restating the delay bounds and the 'this or that, not both' constraints on at/delaySeconds. It stops short of adding anything about headers or body size beyond what the schema already documents.
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?
Opens with a specific verb+resource: 'Schedules a delayed HTTP callback', then immediately defines the mechanics (URL, body, headers, delay). This is unmistakably distinct from the siblings host_file and render_page, which deal with storage and rendering rather than timed outbound requests.
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 gives clear operating context – delay window of 60 seconds to 7 days or an absolute time, and the POST-vs-GET condition based on body presence – so an agent knows when this tool applies. It does not explicitly compare against the sibling tools or state when not to use it, which keeps it below a 5.
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.
3 tool updates
- First observed
host_file - First observed
render_page - First observed
schedule_callback
Related MCP Connectors
Pay-per-call x402 web reading: page to Markdown, link previews, RSS feeds, links, sitemaps.
Free QR code images; paid web page → Markdown, page metadata and file hosting via x402 (no API key).
Search, URL-to-markdown, change detection, live data, x402 trust tools. USDC pay-per-call.
x402-paid agent tools: 18 over HTTP, 14 over stdio. USDC per call, no API key.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables users to generate QR code images for text or links, convert public web pages to Markdown, fetch page metadata, and host small files through a hosted MCP endpoint, with paid tools settled via x402 and no API key.4MIT
- AlicenseNot gradedqualityCmaintenanceCaptures full-page screenshots and PDFs from any URL using Chromium rendering, with pay-per-call via x402 micropayments.MIT
- AlicenseNot gradedqualityCmaintenanceRenders Markdown to styled HTML with CSS themes (light, dark, GitHub) via pay-per-call x402 micropayments. No API key or signup required.MIT
- AlicenseNot gradedqualityBmaintenancePay-per-call tools for AI agents via x402 (USDC on Base): web-to-Markdown, PDF, provenance (human vs synthetic), trusted lookup with citations, a 3.9M-business global directory, LatAm ID validators, agent-forged tools and 2,000+ proxied x402 services. No API keys, charged only on success, free trial without a wallet. Remote: https://toll402.dev/mcp · Local: npx -y toll402-mcpMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.