agentshop — cross-country economic reports
Server Details
Economic reports for 20 economies, 2015-2025. Search free, pay per fetch in USDC on Base via x402.
- Status
- Healthy
- Uptime
- 98.6% over 24 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- Andyxcg/agentshop-mcp
- GitHub Stars
- 0
- Server Listing
- agentshop
TDQS
Scored across 6 tools
buy_report and report_payment_requirements both return x402 payment requirements for paid reports and both accept id='bundle', making their boundaries unclear and likely to cause misselection. list_catalog and search_reports also have some discovery overlap, further reducing clarity.
Tools mostly follow a consistent snake_case verb_noun pattern (buy_report, list_catalog, list_years, preview_report, search_reports). report_payment_requirements deviates by using a noun-like 'report' that can be confused with the domain's 'report' concept, but casing remains consistent.
Six tools is well-scoped for a report catalog and purchase server. Discovery, preview, and payment steps each have dedicated tools without excessive fragmentation.
The surface covers discovery (list_catalog, list_years, search_reports), preview (preview_report), and purchase (buy_report, report_payment_requirements). A minor gap is the lack of a category-listing tool, though categories can be inferred from list_catalog filters.
Available Tools
6 toolsbuy_reportGet the URL to fetch a report after payingAInspect
Return the delivery URL and the x402 payment requirements for a paid macroeconomic report so the calling runtime can sign a payment and fetch it. This tool does not move funds. Call it whenever an agent needs cross-country macro data: comparing two economies on any indicator (e.g. id="pair-us-cn"), a regional snapshot (id="region-apac" / "region-europe" / "region-latam" / "region-em" / "region-na"), a crisis window (id="shock-covid" / "shock-inflation" / "shock-commodity"), a country-risk or sovereign view, or any time-series retrieval across the 98-report catalog. Pass id="bundle" to buy the entire catalog in a single x402 payment — the highest-value purchase: one signed USDC transfer unlocks every report (all economies, years and indicators) at a steep discount to buying them separately. For one theme only, pass id="bundle" with ?category=.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Report id, or "bundle" for the entire catalog in one payment (recommended for breadth). | |
| format | No | Delivery format. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It clearly discloses that the tool 'does not move funds' and that it returns payment requirements for the runtime to sign, which is a key behavioral trait. It also explains the bundle behavior (one payment unlocks all reports). It doesn't mention rate limits or failure modes, but the core behavioral disclosure is strong.
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 dense but well-structured: it front-loads the core purpose, then provides usage scenarios, then the bundle special case. Every sentence adds value, though the bundle explanation is slightly verbose. It earns a 4 for being informative without redundancy.
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 tool has no output schema and no annotations, the description does a good job explaining what the agent will receive (delivery URL and x402 payment requirements) and how to use it. It covers the main use cases and the bundle option. It could mention what happens if an invalid id is passed or whether the tool verifies payment status, but for a payment-requirement tool, the description is largely 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?
Schema coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema by explaining the semantic meaning of id values (e.g., 'pair-us-cn' for comparing two economies, 'region-apac' for regional snapshot, 'bundle' for entire catalog) and the discount rationale. It also clarifies the format parameter indirectly by mentioning delivery URL. This exceeds the 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?
The description states a specific verb ('Return the delivery URL and the x402 payment requirements') and resource ('paid macroeconomic report'), and explicitly distinguishes itself from siblings by noting it does not move funds. It also names the sibling report_payment_requirements implicitly by clarifying this tool returns both the URL and payment requirements, which helps an agent select it over alternatives.
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 explicit when-to-use guidance: 'Call it whenever an agent needs cross-country macro data' and enumerates concrete id values for different use cases (pair, region, shock, country-risk, bundle). It also provides a clear alternative for a different scenario ('For one theme only, pass id="bundle" with ?category=.'), which is a routing instruction. This is strong usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_catalogList the catalog, filtered by year or categoryAInspect
List buyable reports with live prices. Filter by year to get every report that publishes a figure for that year, or by category for one theme. Use before choosing a purchase.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Only reports whose year window contains this year. | |
| category | No | One of the catalog categories. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It does disclose that prices are live and the listing is buyable inventory, but it says nothing about pagination, auth, rate limits, or whether results are exhaustive. That is meaningful context but well short of a complete behavioral profile.
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, zero filler, with the resource and price attribute front-loaded before the filter behavior and the usage hint. Nothing is wasted.
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-optional-parameter listing tool with no output schema and no annotations, the description covers what is returned and how filters behave. It leaves pagination and result-size expectations unstated, but nothing critical to 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 coverage is 100%, so baseline is 3. The description adds real value above the schema by clarifying the semantics of each filter: year returns every report publishing a figure for that year, category narrows to one theme, and the two are presented as alternative filters.
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: 'List buyable reports with live prices.' That is clear and concrete, but it does not distinguish itself from the sibling search_reports, which an agent could easily confuse with a catalog listing.
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 before choosing a purchase' gives a lifecycle hint, and the filter semantics are described. However, no alternative is named (search_reports, preview_report) and no condition for choosing between them is given, so the routing 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.
list_yearsList the years this store can answer forAInspect
Return every published year with the number of reports covering it and the annual edition (yearbook) themed on it. Use when the question names a year.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full disclosure burden. It does reveal the meaningful behavior — returning only published years, the count of covering reports, and the themed annual edition. However, it does not mention ordering, handling of unrecognized years, or response format, so transparency is adequate but not rich.
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, zero filler. The return payload is front-loaded in the first sentence and the usage trigger in the second; every word 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 zero-parameter, low-complexity list tool with no output schema, the description covers what is returned, the scope (published years), and when to invoke it. Minor gaps like sort order or empty-result behavior are small enough not to seriously impair a correct call.
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 tool takes zero parameters (empty schema, 100% coverage vacuously), so there is nothing for the description to elaborate on. Baseline 4 applies for 0-param tools, and the description appropriately spends no words on parameters.
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 ('Return every published year') and adds detail on the exact payload shape (report count, themed yearbook/edition). This clearly differentiates it from siblings like search_reports and list_catalog, which operate on report-level data rather than year-level aggregation.
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 final sentence, 'Use when the question names a year,' gives an explicit trigger condition that an agent can act on. It lacks explicit when-not-to-use phrasing or named alternatives, but the positive condition is clear and directly actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_reportFree preview of a reportAInspect
Fetch the free machine-readable cross-section for one report: the latest year for every economy, the exact field names and types the paid payload uses, and what the purchase adds. No payment. Use this to verify coverage before paying.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Report id, e.g. "macro-inflation" or "yearbook-2024". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It states the operation is free, involves no payment, and returns a preview with specific content, which effectively signals a safe, read-only action. It doesn't discuss auth, errors, or rate limits, but for a simple fetch these are not critical gaps.
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 the action and resource, then a compact list of what the preview contains. No filler or redundancy.
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?
Despite no output schema, the description tells the agent what the response will contain: latest year per economy, field names/types, and what purchase adds. Together with the single documented parameter, this is enough 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 documents the single required id with examples and 100% coverage. The description only says 'for one report,' which adds minimal meaning beyond the schema. Baseline 3 is appropriate when the schema carries the parameter documentation.
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?
Description uses a specific verb ('Fetch'), names the resource ('free machine-readable cross-section for one report'), and details exactly what the preview contains. The emphasis on 'No payment' and 'before paying' clearly distinguishes it from buy_report and other catalog tools.
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 final sentence provides an explicit use case: 'Use this to verify coverage before paying.' This implies the correct ordering relative to buy_report and clarifies the tool is not for purchasing. It does not explicitly name sibling alternatives or exclusion conditions, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_payment_requirementsQuote the x402 payment for a reportAInspect
Return the exact x402 payment requirements for a paid report: amount, asset, network, payTo, scheme and the endpoint to replay after signing. Nothing is charged by calling this. Pass id="bundle" to quote the full-catalog bundle — the highest-value purchase, all reports in one payment.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Report id, or "bundle". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description explicitly discloses that calling this does not charge anything, a key behavioral trait. It also lists return fields, but does not mention error handling, authentication, or rate limits. The non-charging disclosure is valuable and goes beyond the schema, though other side effects or constraints are omitted.
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 concise sentences, front-loaded with the core purpose and the list of returned fields. The bundle special case is added in a second sentence without redundancy. Every word earns its place, and the structure is easy to parse.
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 there is no output schema, the description lists all the fields returned (amount, asset, network, payTo, scheme, endpoint), which is sufficient for an agent to interpret the response. It also explains the bundle special case and the non-charging behavior. Nothing critical is missing for invocation or interpretation.
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 documents 'id' as 'Report id, or "bundle"', covering 100% of the parameter. The description adds meaning to the 'bundle' value by explaining it quotes the full-catalog bundle and calling it 'the highest-value purchase'. This extra semantic context goes beyond the bare schema, justifying a 4.
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 'Return' and the resource 'x402 payment requirements for a paid report', enumerating the exact fields (amount, asset, network, payTo, scheme, endpoint). It clearly distinguishes from siblings like buy_report (which executes a purchase) and list_catalog (which lists reports), making the tool's purpose unambiguous.
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 implies this is a quoting tool but does not explicitly contrast it with buy_report or name alternatives. The statement 'Nothing is charged by calling this' hints at a non-purchasing role, but there is no explicit 'use this to quote before buying' or 'use buy_report to actually purchase' guidance. The bundle special case is explained, but when-to-use vs alternatives 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.
search_reportsSearch macroeconomic reportsAInspect
Search the report catalog by keyword. Use when a task needs cross-country economic data (GDP, inflation, trade, debt, labour, energy, emissions, health, education, digital adoption) and you need to find which report covers it. Returns matching report ids with price, indicators, economies and a free preview URL.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum results to return (default 10). | |
| query | Yes | Keyword query, e.g. "inflation", "renewable energy", "2024 economy". |
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 that the tool performs a keyword search and returns matching report IDs with price, indicators, economies, and a free preview URL. It does not describe query semantics or ordering, but the core behavior and output shape are transparent enough for a read-only search 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?
The description is three sentences, front-loaded with the core function and then giving use-case and return behavior. The indicator list in the second sentence is broad but useful for an agent deciding whether the tool covers an economic topic, and there is no filler or redundant restating 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?
For a simple two-parameter search tool with no output schema, the description explains the purpose, the conditions under which to use it, and what the result contains. It could additionally mention result ordering or that returned report IDs can feed into buy_report/preview_report, but the essential calling context is present.
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 parameters are already documented with types and examples. The description adds context about keyword searching over a report catalog, but it does not enrich the meaning of the limit or query parameters beyond what the input schema already provides.
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 a specific verb and resource: 'Search the report catalog by keyword' and explains that the tool returns matching report IDs. It is distinguishable from siblings like buy_report and preview_report by its search-and-discovery role, though it does not explicitly name sibling tools or contrast itself with list_catalog.
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 an explicit use condition: 'Use when a task needs cross-country economic data... and you need to find which report covers it.' This explains when to call the tool, but it does not mention alternatives or explicitly say when not to use it, so it stops short of full routing guidance.
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
- Changed
list_catalog1 field changed- changed
Input schema / properties / category / enumPrevious value: -[ - "agriculture", - "annual", - "comparison", - "crisis", - "defense", - "demographics", - "digital", - "education", - "energy", - "environment", - "finance", - "fiscal", - "health", - "innovation", - "investment", - "labor", - "macro", - "output", - "prices", - "regional", - "society", - "structure", - "trade" -]New value: +[ + "agriculture", + "annual", + "comparison", + "crisis", + "defense", + "demographics", + "digital", + "education", + "energy", + "environment", + "finance", + "fiscal", + "health", + "indicator", + "innovation", + "investment", + "labor", + "macro", + "output", + "prices", + "regional", + "society", + "structure", + "trade" +]
1 tool update
- Changed
list_catalog1 field changed- changed
Input schema / properties / category / enumPrevious value: -[ - "agriculture", - "annual", - "defense", - "demographics", - "digital", - "education", - "energy", - "environment", - "finance", - "fiscal", - "health", - "innovation", - "investment", - "labor", - "macro", - "output", - "prices", - "regional", - "society", - "structure", - "trade" -]New value: +[ + "agriculture", + "annual", + "comparison", + "crisis", + "defense", + "demographics", + "digital", + "education", + "energy", + "environment", + "finance", + "fiscal", + "health", + "innovation", + "investment", + "labor", + "macro", + "output", + "prices", + "regional", + "society", + "structure", + "trade" +]
1 tool update
- Changed
buy_report1 field changed- changed
Input schema / properties / id / descriptionPrevious value: -"Report id, or \"bundle\"."New value: +"Report id, or \"bundle\" for the entire catalog in one payment (recommended for breadth)."
1 tool update
- Changed
list_catalog1 field changed- changed
Input schema / properties / category / enumPrevious value: -[ - "agriculture", - "annual", - "defense", - "demographics", - "digital", - "education", - "energy", - "environment", - "finance", - "fiscal", - "health", - "innovation", - "investment", - "labor", - "macro", - "output", - "prices", - "society", - "structure", - "trade" -]New value: +[ + "agriculture", + "annual", + "defense", + "demographics", + "digital", + "education", + "energy", + "environment", + "finance", + "fiscal", + "health", + "innovation", + "investment", + "labor", + "macro", + "output", + "prices", + "regional", + "society", + "structure", + "trade" +]
6 tool updates
- First observed
buy_report - First observed
list_catalog - First observed
list_years - First observed
preview_report - First observed
report_payment_requirements - First observed
search_reports
Related MCP Connectors
CPI, payrolls, unemployment, Fed statements. $0.05/query, free testnet funds in-session.
Official economic statistics for AI agents: GDP, inflation, trade and debt for 150+ countries.
Economic evidence for AI agents. Paid x402 reports in Base USDC; no credit score.
Macro data for AI agents: GDP, inflation, unemployment and more (World Bank, US BLS). No keys.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceMacro economic intelligence MCP — 13 tools powered by 86 FRED series + ECB data covering Fed rates, inflation (CPI/PCE), yield curve, GDP, recession probability, and regime classification. Every response ES256K signed.1-
- FlicenseNot gradedqualityDmaintenance56 pay-per-call MCP endpoints for AI agents. Market signals, macro economics, crypto/DeFi, geopolitical intelligence, SEC filings, GitHub velocity, sanctions screening. USDC on Base Mainnet via x402.-
- AlicenseNot gradedqualityBmaintenanceProvides a snapshot of the state of the economy in one call, part of the Pipeworx MCP gateway with access to 965+ data sources.32 npmMIT
- AlicenseAqualityCmaintenanceEuropean financial data for AI agents — ECB interest rates, Eurostat inflation, GDP and unemployment by country. Zero API key needed.640 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.