Skip to main content
Glama

Indicator Visual Artifact

indicator_visual_artifact
Read-only

Same payload as indicator_query, but also returns MCP Apps metadata so compatible clients (Claude Desktop, ChatGPT, Codex, etc.) render an interactive line chart instead of a JSON dump. Prefer this by default for indicator time-series requests, especially when the user asks to show, tell, explain, compare, inspect a trend, or review a recent window. For broad histories, use the existing limit, offset, or page controls and inspect pagination.next_offset rather than retrying with arbitrary shorter windows. Only fall back to indicator_query when the user explicitly wants a raw table, plain text list, JSON, exact rows, or minimal structured data. Supported currencies: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD. Supported indicators: average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, breakeven_inflation_rate, broad_money, building_approvals, building_permits, business_confidence, capital_account_balance, cb_assets, commodity_price_energy, commodity_price_ex_energy, commodity_price_index, commodity_prices, consumer_confidence, core_inflation, core_inflation_median, core_inflation_mom, core_inflation_trim, core_pce, core_pce_mom, credit_growth, crude_oil_inventories, current_account_balance, dairy_exports, deposit_rates, durable_goods_orders, employment, exports, financial_account_balance, foreign_reserves, full_time_employment, fx_reserves, gdp, gdp_growth_q4_yoy, gold_reserves, gov_bond_10y, gov_bond_1y, gov_bond_20y, gov_bond_2y, gov_bond_30y, gov_bond_3y, gov_bond_40y, gov_bond_4y, gov_bond_5y, gov_bond_7y, government_debt, house_price_index, house_prices, household_credit, housing_starts, imports, inflation, inflation_linked_bond, inflation_mom, initial_jobless_claims, international_assets, international_liabilities, job_openings, m1, m2, m3, nairu, natural_gas_storage, net_foreign_asset_position, non_farm_payrolls, non_farm_payrolls_change, part_time_employment, participation_rate, pce, pce_mom, policy_rate, policy_rate_midpoint, policy_rate_mlf, policy_rate_mro, policy_rate_target_lower, ppi, ppi_mom, primary_income_balance, retail_sales, retail_sales_control_group, retail_sales_ex_autos, retail_sales_ex_autos_and_gas, risk_free_rate, secondary_income_balance, sight_deposits, snb_balance_sheet, tankan_capex, terms_of_trade, trade_balance, trade_weighted_index, trimmed_mean_inflation, unemployment, wage_price_index, wages.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoOne-based page number. When supplied, the REST endpoint derives offset as `(page - 1) * limit`.
limitNoMaximum rows to render from the existing REST pagination path. Defaults to 20; maximum 100.
offsetNoZero-based row offset after most-recent-first ordering.
currencyYes3-letter ISO currency code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
end_dateNoInclusive upper bound, YYYY-MM-DD.
indicatorYesIndicator slug. Supported: average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, breakeven_inflation_rate, broad_money, building_approvals, building_permits, business_confidence, capital_account_balance, cb_assets, commodity_price_energy, commodity_price_ex_energy, commodity_price_index, commodity_prices, consumer_confidence, core_inflation, core_inflation_median, core_inflation_mom, core_inflation_trim, core_pce, core_pce_mom, credit_growth, crude_oil_inventories, current_account_balance, dairy_exports, deposit_rates, durable_goods_orders, employment, exports, financial_account_balance, foreign_reserves, full_time_employment, fx_reserves, gdp, gdp_growth_q4_yoy, gold_reserves, gov_bond_10y, gov_bond_1y, gov_bond_20y, gov_bond_2y, gov_bond_30y, gov_bond_3y, gov_bond_40y, gov_bond_4y, gov_bond_5y, gov_bond_7y, government_debt, house_price_index, house_prices, household_credit, housing_starts, imports, inflation, inflation_linked_bond, inflation_mom, initial_jobless_claims, international_assets, international_liabilities, job_openings, m1, m2, m3, nairu, natural_gas_storage, net_foreign_asset_position, non_farm_payrolls, non_farm_payrolls_change, part_time_employment, participation_rate, pce, pce_mom, policy_rate, policy_rate_midpoint, policy_rate_mlf, policy_rate_mro, policy_rate_target_lower, ppi, ppi_mom, primary_income_balance, retail_sales, retail_sales_control_group, retail_sales_ex_autos, retail_sales_ex_autos_and_gas, risk_free_rate, secondary_income_balance, sight_deposits, snb_balance_sheet, tankan_capex, terms_of_trade, trade_balance, trade_weighted_index, trimmed_mean_inflation, unemployment, wage_price_index, wages.
start_dateNoInclusive lower bound, YYYY-MM-DD.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context beyond annotations: it returns MCP Apps metadata so clients render a line chart instead of a JSON dump, and it advises inspecting pagination.next_offset rather than retrying with shorter windows. These are useful behavioral traits not visible in schema or annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The first few sentences are excellent and front-loaded, but the description becomes bloated by reproducing the entire supported-currency and supported-indicator lists, which already exist in the schema descriptions. These massive enum-like lists add no information beyond the structured schema and should be removed or shortened. As a result, the description is not appropriately sized for the value it adds.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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's mention of 'MCP Apps metadata' and 'interactive line chart instead of a JSON dump' offers a useful high-level view of the return shape. It also covers pagination behavior and fallback conditions. The only missing piece is a more explicit statement about the exact payload structure, but the description covers the essential operational context for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds no new parameter semantics beyond what the schema already documents — the supported currency and indicator lists are repeated verbatim from the schema. The reference to limit/offset/page controls is more of a usage hint than parameter meaning, so no score above baseline is warranted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: it returns the same payload as indicator_query plus MCP Apps metadata for rendering a line chart. It also explicitly names the sibling it is not, saying 'Same payload as indicator_query' and 'Only fall back to indicator_query' — so an agent can distinguish it from the very similar sibling 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives precise when-to-use guidance: 'Prefer this by default for indicator time-series requests, especially when the user asks to show, tell, explain, compare, inspect a trend, or review a recent window.' It also states when NOT to use it and the alternative: 'Only fall back to indicator_query when the user explicitly wants a raw table, plain text list, JSON, exact rows, or minimal structured data.' That is explicit selection-criteria routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.8/5.0
Disambiguation4/5

Most tools have clearly distinct purposes with detailed descriptions; the visual_artifact variants are explicitly duplicate payloads for chart rendering. However, several task and analysis tools (macro_briefing_task, macro_research_pack_task, indicator_intel_task) have overlapping scopes and could cause misselection despite different outputs.

Naming Consistency4/5

Tool names are consistently snake_case with systematic _task and _visual_artifact suffixes, making the pattern predictable. Minor deviations like 'ping', 'subscribe_for_mcp_access', and a few noun-only names (e.g., 'forex', 'commodities') break a strict verb_noun pattern but remain readable.

Tool Count2/5

At 48 tools, the surface is far beyond the typical well-scoped server and risks overwhelming agents. The broad macro/FX domain justifies some size, but 48 is excessive and could be consolidated (e.g., merging visual artifact pairs or grouping task tools).

Completeness5/5

The tool set covers the full macro/FX workflow: data discovery (data_catalogue), raw queries (indicator_query, forex, commodities), visual artifacts, release calendar, news, COT, sentiment, seasonality, backtesting, scenario modeling, portfolio risk, and reference tools. No obvious dead ends or missing lifecycle operations for a read-heavy data server.