x402 Tools
Server Details
Pay-per-call research tools for AI agents, paid via x402 USDC. Remote MCP, one free tool.
- Status
- Healthy
- Uptime
- 98.3% over 20 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- foxxx009/x402-tools-mcp
- GitHub Stars
- 0
TDQS
Scored across 13 tools
Most tools target clearly distinct resources (weather, earthquakes, exchange rates, FDA, SEC, stocks). However, github_repo vs repo_diligence is a superset relationship (repo_diligence = base snapshot + extras) and free_url_check vs web_fetch overlap on URL fetching, though descriptions do steer usage.
All 13 tools use a consistent snake_case noun_phrase convention (domain_intel, exchange_rates, github_repo, web_fetch, etc.). No mixed casing or style drift across the set.
13 tools sits comfortably in the well-scoped 3-15 range. Each tool earns its place as a distinct data lookup for a broad general-purpose paid API toolkit.
As a multi-domain utility collection it covers a wide spread of lookups (domain, repo, web, finance, gov data). No obvious critical lifecycle gaps, though there is mild redundancy rather than true missing coverage.
Available Tools
13 toolsdomain_inteldomain_intelAInspect
$0.005 per call — Domain due-diligence bundle: RDAP registrar + creation/expiry dates + status, DNS records (A/MX/NS/TXT), and Certificate Transparency history via crt.sh. Use to vet a domain before trusting or linking to it.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain to vet, e.g. example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It discloses cost ($0.005 per call), which is valuable, but doesn't mention rate limits, data freshness, or what happens on failure. Cost disclosure is a strong addition, but more behavioral context is needed for a tool with no 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?
Two sentences, front-loaded with cost and capabilities, followed by use case. No wasted words.
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 no output schema, the description enumerates the data returned (registrar, dates, DNS, CT), which is good. However, it doesn't describe the response format or structure. Cost is included, which is helpful. Reasonably complete but could specify output format.
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% and there is only 1 parameter. The example 'example.com' in the schema description adds a bit, but the description itself adds no new parameter semantics beyond what the schema provides. Baseline 4 for 0 parameters is not applicable; here, with 1 parameter fully documented, 4 is appropriate for no extra description.
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 ('Domain due-diligence bundle') and enumerates exactly what it retrieves: RDAP registrar, dates, DNS records, and CT history. This is clearly distinguishable from siblings like free_url_check or web_brief.
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?
Explicitly states the use case: 'Use to vet a domain before trusting or linking to it.' This gives clear context, though it doesn't name an alternative or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
exchange_ratesexchange_ratesAInspect
$0.002 per call — Live fiat exchange rates (open.er-api.com, no key, ~200 currencies). Params: base = ISO code (default USD); to = comma list or single code (default EUR,GBP,JPY,CNY). Returns rates and the last-update timestamp.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Comma-separated target currencies (default EUR,GBP,JPY,CNY) | |
| base | No | Base currency (default USD) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the load and does well: it discloses cost ($0.002 per call), that no API key is required, the upstream source, and that it returns rates plus a last-update timestamp. It omits rate limits and error behavior, but the cost and auth disclosures are meaningful context an agent would not otherwise have.
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?
A single dense sentence, front-loaded with the cost signal, then source, then params, then return shape. No filler; every clause carries 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?
There is no output schema, and the description compensates by naming what is returned (rates + last-update timestamp). For a 2-param read tool this is nearly complete; only error/rate-limit behavior is unaddressed.
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 both parameters are already documented, and the description largely repeats that (defaults, comma list, ISO code). It adds only minor meaning (ISO code framing), so the 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 ('Live fiat exchange rates'), names the data source (open.er-api.com), and scopes it (~200 currencies, no key). This clearly separates it from siblings like stock_quote or sec_edgar_search without needing to open a schema.
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?
Usage is implied by the purpose ('fiat exchange rates') but there is no explicit when-to-use, when-not-to-use, or named alternative among the siblings. An agent can infer conversion use cases, but nothing routes it away from the tool when inappropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fda_recallsfda_recallsAInspect
$0.02 per call — FDA recall enforcement reports from open.fda.gov (no key, rate-limited). Params: type = food|drug|device (default food); reason = free-text filter; limit = max records (default 10). Returns recall reason, status, date and product description for each match.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | food | drug | device (default food) | |
| limit | No | Max reports (default 10) | |
| reason | No | Optional reason keyword |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose cost ($0.02 per call), authentication (no key), and a rate limit, plus a partial sketch of returned fields. It stops short of pagination limits or error behavior, but the cost/auth/rate context is genuinely useful.
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?
A single tight block that front-loads the two facts an agent most needs before calling (price and source), then compresses params and returns. Slight redundancy with the schema's own parameter descriptions is the only 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?
For a no-annotation, no-output-schema read tool with three optional params, the description covers cost, auth, rate limiting, param semantics and the shape of results. Missing only secondary details like result caps or pagination behavior.
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 all three parameters are already documented in the schema; the description repeats them with defaults and adds only the 'free-text filter' nuance for reason. Baseline 3 is correct when the schema does the heavy lifting.
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?
Names a specific resource (FDA recall enforcement reports) plus the exact source (open.fda.gov), which is enough to distinguish it from every sibling such as sec_edgar_search or usgs_earthquakes without opening a schema.
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 supplies the dataset, the food|drug|device selector and defaults, which implies when the tool applies, but never states when to prefer it over a sibling or when not to use it. No exclusions or alternative routing are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
free_url_checkfree_url_checkAInspect
FREE — FREE: check whether a public URL is reachable and what it is. Returns HTTP status, final URL after redirects, content type and page title. Use web_fetch (paid) for full text and links.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Target URL; protocol optional |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it does disclose the return shape, redirect-following behavior, and the free/paid cost model relative to web_fetch. It stops short of stating timeouts, rate limits, or whether private/non-public URLs are rejected, which matters for a network-egress tool.
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 short sentences, front-loaded with the purpose and return values before the alternative. The doubled 'FREE — FREE:' prefix is redundant noise that costs a little precision.
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?
There is no output schema, but the description compensates by enumerating the returned fields, and the single-parameter surface is fully documented in the schema. For a one-arg read-only probe this is close to sufficient, with only failure/edge-case behavior left implicit.
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% for the single 'url' parameter, so the baseline is 3. The description's 'public URL' wording adds a mild constraint the schema lacks (schema only notes protocol is optional), but no format or syntax detail beyond that.
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 ('check whether a public URL is reachable') and enumerates the exact payload returned (HTTP status, final URL after redirects, content type, page title). That enumeration distinguishes it cleanly from web_fetch and web_brief among the siblings.
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?
It names the alternative explicitly — 'Use web_fetch (paid) for full text and links' — and gives the condition that selects it, so an agent can route between a cheap reachability probe and a full-content fetch without guessing. The 'FREE' marker adds a cost dimension to the decision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_repogithub_repoAInspect
$0.005 per call — GitHub repo snapshot: stars, forks, open-issue count, watchers, primary language, SPDX license, created/pushed dates and latest release tag. Use to triage a repo before contributing or depending on it.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | owner/name, URL also accepted |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses the cost per call and the returned fields, but omits authentication requirements, rate limits, error behavior, and whether private repositories are supported. These gaps leave meaningful uncertainty for an agent deciding whether to invoke it.
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?
Two tight sentences: the first front-loads cost and return fields, the second states the use case. Every clause earns its place with no redundancy or 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?
The tool is simple, schema coverage is complete, and the description compensates for the absent output schema by listing the returned fields. It still lacks operational details like auth and rate limits, but for a read-only public-data lookup this is largely sufficient.
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% for the single 'repo' parameter, and the schema already documents that it accepts 'owner/name' or a URL. The description adds no further parameter detail, so the baseline score of 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?
The description names a specific resource ('GitHub repo snapshot') and enumerates the exact fields returned, making the tool's purpose immediately clear. It does not differentiate itself from the sibling repo_diligence, which may offer overlapping or deeper analysis, so it falls short of a 5.
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?
It gives a clear use case: 'Use to triage a repo before contributing or depending on it.' This tells the agent when to reach for the tool. However, it offers no exclusions or alternatives (e.g., when to use repo_diligence instead), so it is not fully prescriptive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_meteo_weatheropen_meteo_weatherAInspect
$0.002 per call — Current weather from Open-Meteo (no API key, no signup). Given lat/lon returns temperature (C), apparent temperature, humidity, wind speed, precipitation and a WMO weather code. Params: lat, lon (required).
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude | |
| lon | Yes | Longitude |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses cost ($0.002 per call), the auth profile (no API key, no signup), and the payload contents. It omits error behavior, rate limits, data freshness/caching, and units for wind speed and precipitation.
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-loads the price and source, then the return contract, then the required params — a sensible order with almost no waste. The closing 'Params: lat, lon (required)' largely duplicates the schema and could be dropped.
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 two-parameter read tool with no annotations and no output schema, the description covers cost, auth, input contract, and return fields, which is nearly everything an agent needs. Missing units and error/timeout behavior are the only real gaps.
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 both lat and lon documented, so the schema does the heavy lifting; the description merely restates that lat and lon are required. It adds no coordinate convention (WGS84, decimal degrees) or valid ranges beyond the schema.
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 resource and scope ('Current weather from Open-Meteo') and enumerates the returned fields (temperature, apparent temperature, humidity, wind speed, precipitation, WMO code). The 'current' qualifier implicitly separates it from forecast/historical variants, though no sibling is named for routing.
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?
Usage is implied by 'Current weather' plus 'Given lat/lon', so an agent can infer it is the tool for current conditions at a coordinate. There is no explicit when-not-to-use, no alternative named, and no mention of forecast/historical coverage limits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repo_diligencerepo_diligenceAInspect
$0.03 per call — Deep GitHub repo due-diligence: base snapshot + last 5 commits (author/date/message), contributor count, archived flag, security-policy presence, latest release cadence and open/closed issue ratio. Use to decide whether to depend on or contribute to a repo before trusting it.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | owner/name, URL also accepted |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the per-call cost ($0.03), the exact read scope, and the recency bound (last 5 commits), which is real behavioral context beyond the schema. It stops short of stating explicitly that the operation is read-only or what happens on an invalid/private repo.
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?
Two sentences with zero waste: the cost is front-loaded and the field inventory follows immediately, then the decision context. Every clause earns its place.
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, so the description must explain return values itself, and it does so thoroughly (snapshot, commits, contributors, archived, security policy, release cadence, issue ratio). Combined with the usage rationale, an agent has everything needed to call 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?
One parameter with 100% schema description coverage ('owner/name, URL also accepted'), so the schema already documents the single input. The description adds no syntax or format detail beyond what the schema provides; baseline 3 is appropriate.
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 ('Deep GitHub repo due-diligence') and enumerates the exact data returned: base snapshot, last 5 commits, contributor count, archived flag, security policy, release cadence, issue ratio. An agent can distinguish this from the sibling github_repo without opening a schema.
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 to use it: to decide whether to depend on or contribute to a repo before trusting it. However, it does not name an alternative (e.g. github_repo or web_fetch) or state when not to use this paid tool, so the routing guidance is contextual but incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sec_edgar_searchsec_edgar_searchAInspect
$0.02 per call — SEC EDGAR full-text search (efts.sec.gov, no key). Find filings by term. Params: q = search term (required); forms = comma list e.g. 10-K,8-K; limit = max hits (default 10). Returns filing date, company, CIK and accession number for each hit.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Full-text search term (required) | |
| forms | No | Optional form filter, e.g. 10-K,8-K | |
| limit | No | Max hits (default 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does real work: it discloses cost ($0.02 per call), auth requirements (no key), the upstream host, and the return shape (date, company, CIK, accession number). It stops short of pagination or rate-limit behavior, so it is strong but not exhaustive.
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?
Cost is front-loaded, the core capability follows, and the param recap is compressed into one line. Slightly redundant with the schema, but nothing is padded or buried.
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?
There is no output schema, but the description enumerates the returned fields, and with no annotations it covers the cost and auth profile an agent needs before calling. Only pagination and error behavior remain unaddressed for a simple three-param search.
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 all three parameters are already documented in the schema. The description's param recap (q required, forms comma list, limit default 10) largely restates the schema, adding only the comma-separated form example, which is already present as well. 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 ('SEC EDGAR full-text search', 'Find filings by term') and pins the exact backend (efts.sec.gov). No sibling tool touches SEC filings, so disambiguation is trivially satisfied.
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?
Usage is implied by 'Find filings by term', but there is no explicit when-to-use, when-not-to-use, or routing to an alternative for company-level lookups. Given the sibling set is entirely unrelated domains, the gap is low-impact but still a gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_quotestock_quoteAInspect
$0.01 per call — Real-time stock quotes: price, change, change percent, open, high, low, volume, turnover, currency and exchange timestamp. Covers A-shares (sh600000, sz000001), Hong Kong (hk00700) and US (usAAPL or plain AAPL). Accepts several symbols at once separated by commas. No API key needed, sourced from Tencent qt.gtimg.cn with a Nasdaq fallback for US tickers.
| Name | Required | Description | Default |
|---|---|---|---|
| symbols | No | Comma-separated symbols, e.g. AAPL,600519.SS,00700.HK |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose meaningful behavioral traits: cost ($0.01 per call), no API key required, the upstream source (Tencent qt.gtimg.cn) and a Nasdaq fallback for US tickers. It omits rate limits, error/empty-symbol behavior, and latency characteristics, but the disclosed operational context is well above average.
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?
It is essentially one dense, front-loaded block that packs cost, output fields, market coverage, batching, auth and data source into a few clauses with no filler. It is slightly run-on, but every clause earns its place.
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 single-parameter tool with no annotations and no output schema, the description does the needed work: it enumerates returned fields (compensating for the missing output schema), covers auth, cost, symbol formats and data provenance. The only real gap is failure/edge-case behavior for invalid or empty symbols.
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% for the single parameter, so baseline is 3, but the description adds symbol-format guidance beyond the schema example — prefix conventions for A-shares (sh600000, sz000001), HK (hk00700) and US (usAAPL or plain AAPL) plus comma batching. Note the schema example uses a different style (600519.SS, 00700.HK), which is a minor inconsistency the description does not resolve.
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 ('Real-time stock quotes') and enumerates the returned fields, making it clearly distinguishable from siblings like exchange_rates or sec_edgar_search. An agent can identify the tool's function without opening the schema.
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 explains how to call it (comma-separated symbols) and what markets are covered, but never states when to prefer it over alternatives such as exchange_rates or when it would be inappropriate. Usage context is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_inteltoken_intelAInspect
$0.005 per call — Base ERC-20 due-diligence: on-chain name, symbol, decimals and total supply via eth_call. Use to sanity-check a Base token address before interacting with it.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | ERC-20 contract address on Base (0x...) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden and does well: it discloses the cost ($0.005 per call) and the read-only mechanism (eth_call), which tells the agent this is a non-mutating on-chain lookup. It omits edge behavior—what happens for an address that is not a valid ERC-20 (revert, null fields?)—which keeps it out of the 5 range.
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?
Two compact clauses: cost and capability first, then the intended use. Zero filler, front-loaded with the distinguishing facts.
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?
There is no output schema, but the description compensates by listing the four returned fields (name, symbol, decimals, total supply), so the agent knows the shape of the result. The remaining gap is failure/edge-case behavior, which is modest for a trivial one-address read.
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% for the single 'address' parameter, so the schema already documents format and chain. The description reinforces the Base/ERC-20 constraint but adds no syntax, casing, or checksum detail beyond it; baseline 3 for a fully covered schema is correct.
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?
Names a specific resource ('Base ERC-20') and enumerates exactly what is fetched: on-chain name, symbol, decimals and total supply. The mechanism ('via eth_call') and chain scope make it unmistakable and clearly distinct from the unrelated sibling tools (stock_quote, repo_diligence, etc.).
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 to sanity-check a Base token address before interacting with it' gives a concrete trigger context. It stops short of naming an alternative or stating exclusions (e.g. non-Base chains, non-ERC-20 contracts), but no sibling covers this domain so the absence is minor.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
usgs_earthquakesusgs_earthquakesAInspect
$0.002 per call — Recent earthquakes from the USGS GeoJSON feed (no API key). Returns magnitude, place, time, depth and coordinates for each event. Params: period = hour|day|week (default day); minmag = minimum magnitude (default 0); limit = max events (default 20).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max events returned (default 20) | |
| minmag | No | Minimum magnitude (default 0) | |
| period | No | hour | day | week | month (default day) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does meaningful work: it discloses the data source (USGS GeoJSON), that no API key is needed, and the per-call cost of $0.002. It stops short of stating rate limits, pagination behavior, or how fresh the feed is.
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?
Cost and source are front-loaded, followed by the payload and parameters, in a compact multi-clause form with no filler. The parameter restatement is somewhat duplicative of a schema that already documents every field with defaults.
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 no-auth, three-optional-param read tool with no output schema, the description supplies source, cost, auth posture, parameter defaults, and the shape of each returned event. Only freshness/rate-limit details are absent.
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 already 100%, so the baseline is 3, but the description's param list actively narrows the enum: it says 'period = hour|day|week' while the schema also permits 'month'. An agent relying on the prose alone would miss a valid option, which is worse than adding nothing.
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 ('Recent earthquakes from the USGS GeoJSON feed') plus the exact fields returned (magnitude, place, time, depth, coordinates). No sibling tool overlaps this domain, so the agent can route to 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?
Usage is only implied by the parameter defaults (period, minmag, limit); there is no explicit statement of when to reach for this tool versus alternatives, nor any exclusions. For a simple single-purpose read tool with no comparable siblings, that is minimally adequate rather than strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_briefweb_briefAInspect
$0.02 per call — Multi-source research brief from 1–3 URLs. For each source extract title, meta description, key sentences (numbered/quoted/date-or-figure-bearing) and outbound links. Returns a structured, citable brief other agents can consume without their own web access.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | 1-3 URLs, comma separated; protocol optional | |
| maxSentences | No | Key sentences per source (default 8) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does reasonably well: it discloses the $0.02 per-call cost, the 1–3 URL input bound, and the structured/citable output format intended for other agents. It stops short of covering error behavior, rate limits, or partial-failure handling for individual URLs.
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?
Two tight sentences, front-loaded with the cost signal, then the operation and output. Every clause carries information; 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, so the description must explain return values — and it does list the extracted fields (title, meta description, key sentences, outbound links) and the brief format. It is largely complete for a 2-parameter tool, though per-URL failure behavior is unstated.
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 both parameters are already fully documented in the schema. The description reinforces the URL count and hints at the sentence-selection criteria, but adds no syntax or format detail beyond what the schema provides, 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?
The description names a specific operation (multi-source research brief from 1–3 URLs) and enumerates exactly what is extracted, so the agent knows what the tool produces. It does not explicitly name web_fetch as the raw-fetch alternative, so sibling differentiation is implied rather than stated.
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 'multi-source research brief' framing implies when the tool is appropriate, but there is no explicit when-to-use or when-not-to-use guidance and no named alternative such as web_fetch. Usage is inferable but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_fetchweb_fetchAInspect
$0.005 per call — Fetch a public URL and return status, final URL, title, cleaned text (scripts/styles stripped, truncated) and the top 20 absolute links. Useful when an agent itself cannot reach the open web.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Target URL; protocol optional (https:// added if missing) | |
| maxChars | No | Max characters of cleaned text (default 4000) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden, and it does well: it discloses per-call cost ($0.005), the exact return shape, that scripts/styles are stripped, and that text is truncated. 'Public URL' implicitly rules out authenticated/private content. It still omits rate limits, auth requirements, and whether JS-rendered pages are handled.
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?
Two sentences: cost first, then the operation and payload, then a single routing hint. Every clause earns its place and nothing is repeated from the schema.
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 well by enumerating the returned fields including the top-20 link cap. It is nearly complete for a simple fetch tool; only edge behavior such as timeout/error handling and JS-rendering support is unstated.
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 both url and maxChars are already documented with defaults and protocol behavior. The description's mention of truncated cleaned text loosely ties to maxChars but adds no syntax or constraints beyond the schema, making 3 the correct baseline.
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 ('Fetch a public URL') and enumerates the return payload (status, final URL, title, cleaned text, top 20 links), which is unusually precise for a fetch tool. It does not differentiate itself from plausible siblings like web_brief or free_url_check, so it stops short of 5.
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?
'Useful when an agent itself cannot reach the open web' gives one triggering condition, which is a real usage hint rather than none. However, it never says when to prefer this over web_brief (presumably the summarization sibling) or free_url_check, so the agent must infer the routing.
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.
13 tool updates
- Changed
domain_intel3 fields changed- added
Input schema / properties / domainAdded value: +{ + "description": "Domain to vet, e.g. example.com", + "type": "string" +} - removed
Input schema / properties / qRemoved value: -{ - "description": "JSON or key=value input for the tool", - "type": "string" -} - added
Input schema / requiredAdded value: +[ + "domain" +]
- Changed
exchange_rates4 fields changed- added
Input schema / properties / baseAdded value: +{ + "description": "Base currency (default USD)", + "type": "string" +} - removed
Input schema / properties / qRemoved value: -{ - "description": "JSON or key=value input for the tool", - "type": "string" -} - added
Input schema / properties / toAdded value: +{ + "description": "Comma-separated target currencies (default EUR,GBP,JPY,CNY)", + "type": "string" +} - added
Input schema / requiredAdded value: +[]
- Changed
fda_recalls5 fields changed- added
Input schema / properties / limitAdded value: +{ + "description": "Max reports (default 10)", + "type": "number" +} - removed
Input schema / properties / qRemoved value: -{ - "description": "JSON or key=value input for the tool", - "type": "string" -} - added
Input schema / properties / reasonAdded value: +{ + "description": "Optional reason keyword", + "type": "string" +} - added
Input schema / properties / typeAdded value: +{ + "description": "food | drug | device (default food)", + "type": "string" +} - added
Input schema / requiredAdded value: +[]
- Changed
free_url_check3 fields changed- removed
Input schema / properties / qRemoved value: -{ - "description": "JSON or key=value input for the tool", - "type": "string" -} - added
Input schema / properties / urlAdded value: +{ + "description": "Target URL; protocol optional", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "url" +]
- Changed
github_repo3 fields changed- removed
Input schema / properties / qRemoved value: -{ - "description": "JSON or key=value input for the tool", - "type": "string" -} - added
Input schema / properties / repoAdded value: +{ + "description": "owner/name, URL also accepted", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "repo" +]
- Changed
open_meteo_weather4 fields changed- added
Input schema / properties / latAdded value: +{ + "description": "Latitude", + "type": "number" +} - added
Input schema / properties / lonAdded value: +{ + "description": "Longitude", + "type": "number" +} - removed
Input schema / properties / qRemoved value: -{ - "description": "JSON or key=value input for the tool", - "type": "string" -} - added
Input schema / requiredAdded value: +[ + "lat", + "lon" +]
- Changed
repo_diligence3 fields changed- removed
Input schema / properties / qRemoved value: -{ - "description": "JSON or key=value input for the tool", - "type": "string" -} - added
Input schema / properties / repoAdded value: +{ + "description": "owner/name, URL also accepted", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "repo" +]
- Changed
sec_edgar_search4 fields changed- added
Input schema / properties / formsAdded value: +{ + "description": "Optional form filter, e.g. 10-K,8-K", + "type": "string" +} - added
Input schema / properties / limitAdded value: +{ + "description": "Max hits (default 10)", + "type": "number" +} - changed
Input schema / properties / q / descriptionPrevious value: -"JSON or key=value input for the tool"New value: +"Full-text search term (required)" - added
Input schema / requiredAdded value: +[ + "q" +]
- Changed
stock_quote3 fields changed- removed
Input schema / properties / qRemoved value: -{ - "description": "JSON or key=value input for the tool", - "type": "string" -} - added
Input schema / properties / symbolsAdded value: +{ + "description": "Comma-separated symbols, e.g. AAPL,600519.SS,00700.HK", + "type": "string" +} - added
Input schema / requiredAdded value: +[]
- Changed
token_intel3 fields changed- added
Input schema / properties / addressAdded value: +{ + "description": "ERC-20 contract address on Base (0x...)", + "type": "string" +} - removed
Input schema / properties / qRemoved value: -{ - "description": "JSON or key=value input for the tool", - "type": "string" -} - added
Input schema / requiredAdded value: +[ + "address" +]
- Changed
usgs_earthquakes5 fields changed- added
Input schema / properties / limitAdded value: +{ + "description": "Max events returned (default 20)", + "type": "number" +} - added
Input schema / properties / minmagAdded value: +{ + "description": "Minimum magnitude (default 0)", + "type": "number" +} - added
Input schema / properties / periodAdded value: +{ + "description": "hour | day | week | month (default day)", + "type": "string" +} - removed
Input schema / properties / qRemoved value: -{ - "description": "JSON or key=value input for the tool", - "type": "string" -} - added
Input schema / requiredAdded value: +[]
- Changed
web_brief4 fields changed- added
Input schema / properties / maxSentencesAdded value: +{ + "description": "Key sentences per source (default 8)", + "type": "number" +} - removed
Input schema / properties / qRemoved value: -{ - "description": "JSON or key=value input for the tool", - "type": "string" -} - added
Input schema / properties / urlsAdded value: +{ + "description": "1-3 URLs, comma separated; protocol optional", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "urls" +]
- Changed
web_fetch4 fields changed- added
Input schema / properties / maxCharsAdded value: +{ + "description": "Max characters of cleaned text (default 4000)", + "type": "number" +} - removed
Input schema / properties / qRemoved value: -{ - "description": "JSON or key=value input for the tool", - "type": "string" -} - added
Input schema / properties / urlAdded value: +{ + "description": "Target URL; protocol optional (https:// added if missing)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "url" +]
8 tool updates
- Added
domain_intel - Added
free_url_check - Added
github_repo - Added
repo_diligence - Added
stock_quote - Added
token_intel - Added
web_brief - Added
web_fetch
13 tool updates
- Removed
domain_intel - Added
exchange_rates - Added
fda_recalls - Removed
free_url_check - Removed
github_repo - Added
open_meteo_weather - Removed
repo_diligence - Added
sec_edgar_search - Removed
stock_quote - Removed
token_intel - Added
usgs_earthquakes - Removed
web_brief - Removed
web_fetch
1 tool update
- Added
stock_quote
7 tool updates
- First observed
domain_intel - First observed
free_url_check - First observed
github_repo - First observed
repo_diligence - First observed
token_intel - First observed
web_brief - First observed
web_fetch
Related MCP Connectors
5 pay-per-call SEO tools over MCP. Free discovery, tool calls settle in USDC on Base via x402.
x402 toolkit for AI agents: paid web, AI, and Base chain tools per call in USDC. Free tools too.
8 pay-per-call web intel tools over MCP. Free discovery, calls settle in USDC on Base (x402).
x402 pay-per-call: 146 MCP tools, no account or key. USDC on Base + Solana, $0.001-$0.01/call.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides free MCP-based tool discovery and per-call paid execution of live web search and deep research tools, with USDC settlement via x402 v2.MIT
- AlicenseNot gradedqualityDmaintenance250+ AI-powered MCP tools: research, write, code, translate, scrape, sentiment, vision, RAG, agent memory, marketplace, trading signals, and more. 15 models across 7 providers. Pay-per-use via API key or x402 USDC micropayments.42 PyPI2MIT
- AlicenseBqualityDmaintenanceExposes 25 paid API endpoints as MCP tools for AI agents, with payments in USDC on Base mainnet via the x402 protocol, enabling tasks like web search, company intelligence, and crypto research.2555 npmMIT
- AlicenseNot gradedqualityCmaintenance55+ pay-per-call tools for AI agents over MCP: live telemetry, blockchain/on-chain checks, environmental, transit, finance, and network utilities. No API key or signup — agents pay per request with x402 USDC micropayments (Base and Solana).MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.