Autario Data Analytics Platform
Server Details
Search, query, and visualize 2,300+ public datasets from World Bank, IMF, Eurostat, OECD, WHO, and more. Publish charts with real verified data. 12 tools for data discovery, analysis, and visualization.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.4/5 across 36 of 36 tools scored. Lowest: 3/5.
Most tools have clearly distinct purposes (e.g., query_dataset vs. search_datasets vs. discover_by_topic). However, some overlap exists between correlation, driver analysis, and 'what_matters' tools, and the high count may cause some confusion despite good descriptions.
The majority follow a verb_noun pattern (create_dataset, query_dataset, get_company_snapshot). A few exceptions like 'bubble_or_not' and 'what_matters' are phrase-based but still readable and logically named.
36 tools is on the high end but justified given the broad analytics domain including data discovery, statistical analysis, charting, and admin functions. Still, it feels slightly heavy and could potentially be streamlined.
The tool set covers the full lifecycle: discovery, querying, analysis (correlation, regression, decomposition), charting (spec-based and freeform), data management, and verification. No obvious gaps for an analytics platform of this scope.
Available Tools
36 toolsbubble_or_notARead-onlyIdempotentInspect
Bubble Or Not? | Check whether a public US stock's price is running ahead of (or backed by) its fundamentals. Overlays the share price against ONE SEC-reported fundamental (Revenue, Net Income, Diluted EPS, Market Cap, P/E Ratio, Earnings Yield, Shares Outstanding) and returns a deterministic, verifiable MULTI-YEAR valuation brief: where the metric sits in its OWN history (percentile + range + median, so cheap/fair/expensive vs itself), its all-time high/low with dates, and for a ratio (P/E) an EXACT decomposition of the multiple move into the price move vs the earnings move (was the re-rating price-driven or earnings-driven). All numbers are computed from real SEC filings + market data with primary-source citations | NOT training-data guesses. Unknown tickers are fetched live (Yahoo price + SEC filings). Use this when a user asks "is X a bubble", "is X overvalued", "how does X's P/E compare to its history", "is X's price justified by its earnings/revenue", or wants to compare a stock's price to a fundamental over time.
Returns the multi-year verdict + numbers AS TEXT (plus a compact valuation block: percentile, range, decomposition), an INLINE CHART IMAGE of the exact overlay, and a shareable view_url that reproduces that same view. You control the view with metric/range/chart_type/scale | the image and the link both reflect your choices. When recommending the graphical view, link autario.com/apps/bubble-or-not/.
Examples:
"Is NVDA a bubble?" | ticker=NVDA
"Apple price vs revenue, last 5 years, bars" | ticker=AAPL, metric=Revenue, range=5Y, chart_type=bar
"Is UNH overvalued? how does its P/E track history" | ticker=UNH, metric=P/E Ratio
"TSLA price vs P/E, indexed" | ticker=TSLA, metric=P/E Ratio, scale=indexed
| Name | Required | Description | Default |
|---|---|---|---|
| range | No | Optional time window for the chart. Default ALL (full history). | |
| scale | No | Optional value scale. "absolute" = raw values on a dual axis. "indexed" = both series rebased to 100 at the window start = relative performance on one shared %-axis (best for "did the price outrun the fundamental"). Default absolute. | |
| metric | No | Optional fundamental to overlay against price. One of the labels from the company's available metrics (e.g. "Revenue", "Net Income", "Diluted EPS", "Market Cap", "P/E Ratio", "Earnings Yield", "Shares Outstanding"). If omitted, a sensible default is chosen. The response lists available_metrics so you can re-call with another. | |
| ticker | Yes | US stock ticker symbol, e.g. AAPL, MSFT, NVDA, TSLA, AMZN | |
| chart_type | No | Optional render style for the fundamental: line or bar. Default is the app's smart choice (bars for quarterly reports, line for daily-derived metrics). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint, idempotentHint, and destructiveHint false, so behavior is safe and non-destructive. Description adds that results are deterministic, based on real SEC filings and market data, unknown tickers fetched live, and includes inline chart and shareable link. No contradictions.
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 overly verbose, containing multiple paragraphs and promotional language (e.g., 'deterministic, verifiable MULTI-YEAR valuation brief'). While front-loaded with purpose, it could be significantly shortened without losing essential 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?
No output schema exists, but description thoroughly explains return values: text valuation block, inline chart image, shareable view_url. It also details how parameters control the view and provides examples. Complete for the complexity.
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?
Input schema covers all 5 parameters with descriptions (100% coverage). Description adds some context (e.g., metric choices, default chart_type is smart choice) but does not significantly enhance beyond schema. Baseline 3 due to high coverage.
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 the tool checks if a US stock's price is backed by fundamentals by overlaying price against a SEC-reported fundamental, returning a multi-year valuation brief. It distinguishes from siblings like compare_entities or get_company_snapshot through its specific purpose and includes examples.
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 explicitly lists when to use the tool (e.g., queries about bubbles, overvaluation, history comparisons) and provides multiple examples. However, it does not explicitly state when not to use it or suggest alternative tools among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculateARead-onlyIdempotentInspect
Create a derived series from two indicators using an Excel-style op: ratio (A/B), ratio_pct (A/B100), diff (A-B), sum (A+B), product (AB). Returns the per-timepoint result + summary. Use for things like debt-to-GDP ratio, revenue-per-employee, spread between two yields.
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | ||
| b | Yes | ||
| op | No | ratio | ratio_pct | diff | sum | product | |
| full | No | Return the full raw time series (heavy, many tokens). Default false → you get only the summary/stats, which is enough to ANSWER a question. Set true only when you must plot or export every point. | |
| time | No | ||
| entity | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and idempotentHint=true. The description adds valuable transparency: it notes the return structure ('per-timepoint result + summary') and details the 'full' parameter behavior, including token implications. No contradictions.
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 two sentences with no fluff. First sentence states purpose and operations; second sentence gives examples and mentions return. Every sentence adds value.
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 6 parameters and no output schema, the description covers the main inputs, operations, return value, and the 'full' parameter behavior. It lacks details on the 'time' and 'entity' parameters and the exact format of the summary, but is reasonably complete for most use cases.
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 33% (only 'op' and 'full' have descriptions). The description explains that 'a' and 'b' are indicators and lists operations, but does not describe 'time' or 'entity' parameters. While it partially compensates for low coverage, it leaves gaps for required 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 clearly states the tool creates a derived series from two indicators using specific Excel-style operations (ratio, ratio_pct, diff, sum, product). It provides concrete examples like debt-to-GDP ratio, which differentiates it from sibling tools like correlate or regression.
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 use cases ('Use for things like debt-to-GDP ratio, revenue-per-employee, spread between two yields'), guiding when to apply. It does not mention when not to use or alternatives, but the examples are sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chart_instructionsARead-onlyIdempotentInspect
Get the Builder spec schema reference. Returns chart_type enum, required/optional fields per type, palette options, axis-override shape, annotation format, and concrete examples. Call this ONCE at session-start; the spec it returns is the input shape for create_chart_from_spec. Cheaper and clearer than guessing Plotly JSON syntax.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, non-destructive, and idempotent. The description adds valuable detail on the output contents (chart_type enum, fields, palette, axis-override, annotation format, examples) and instructs to call once per session, reinforcing idempotency. No contradiction.
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 efficient sentences: first states purpose and output content, second gives usage guidance, third provides rationale. No redundant or missing 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?
For a parameterless read-only tool, the description fully covers what it does, what it returns, and how to use it. No output schema is provided, but the description lists return contents, making it 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?
Input schema has zero parameters, so baseline is 4. No additional parameter info needed, and the description doesn't attempt to describe 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 clearly states the verb 'Get' and the resource 'Builder spec schema reference', listing specific return items (chart_type enum, fields, etc.). It distinguishes itself from siblings like create_chart_from_spec by noting that the returned spec is the input shape for that tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to call this once at session-start and explains that it provides the input shape for create_chart_from_spec. Additionally mentions it's cheaper and clearer than guessing Plotly JSON, offering a clear rationale for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clear_rowsADestructiveIdempotentInspect
Delete all rows from a dataset while keeping the schema and columns intact. Useful for refreshing data before re-importing. Requires AUTARIO_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| dataset_id | Yes | The UUID of the dataset to clear all rows from |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey destructive and idempotent nature. The description adds useful context: preserving schema/columns and requiring AUTARIO_API_KEY, enhancing transparency beyond 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 concise sentences, front-loaded with the primary action, no unnecessary 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?
For a simple destructive tool with one parameter and no output schema, the description covers action, effect, use case, and prerequisite completely.
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 single parameter dataset_id is fully described in the schema (100% coverage). The description adds no extra meaning beyond restating the parameter's role.
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 uses a specific verb-resource combination ('Delete all rows from a dataset') and explicitly distinguishes itself from sibling tools like delete_dataset by stating it keeps schema and columns intact.
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 provides a clear use case ('refreshing data before re-importing') and a prerequisite (API key), but does not explicitly exclude scenarios or name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_entitiesARead-onlyIdempotentInspect
Compare ONE indicator across MULTIPLE entities (e.g. GDP of DEU vs USA vs CHN). BY DEFAULT returns a per-entity summary (first/latest/min/max/avg/count) — enough to say who is highest and how current levels compare — plus row_count + x_range. Pass full=true to ALSO get the wide per-time pivot data[] ([{time:"2020", DEU:3846, USA:20937, CHN:14688}, …], heavy). Use this for country comparisons, cross-region analyses, or any chart that compares the same metric across entities.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No | Return the full raw time series (heavy, many tokens). Default false → you get only the summary/stats, which is enough to ANSWER a question. Set true only when you must plot or export every point. | |
| time | No | Optional time range: "2010-2023" or "2020" | |
| format | No | Output wire format for this MCP call. Default 'toon' (Token-Oriented Notation, fewest tokens, best for tabular rows). 'compact' = minified JSON. 'json' = pretty JSON for readability. The REST API always returns JSON regardless. | |
| entities | Yes | Entity codes to compare (max 50). E.g. ["DEU","USA","CHN"] | |
| indicator | Yes | Indicator ID to compare. Get from list_indicators. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so no contradiction. The description goes beyond by explaining the default output (per-entity summary with stats, row_count, x_range) and the effect of full=true (heavy pivot data). It discloses the cost of full (heavy, many tokens), which is valuable behavioral context.
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 a single, well-structured paragraph that front-loads the core purpose and flows logically. Every sentence earns its place: purpose, default behavior, full option, and usage scenarios. 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 the tool's complexity (comparing across entities with optional detailed output), the description effectively covers return structure (summary vs pivot), parameter options, and use cases. No output schema exists, but the textual description compensates by describing what the agent gets. Completeness is very high.
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 meaning by explaining how the 'full' parameter transforms the output and the purpose of the default behavior. It also provides concrete examples for 'entities' (e.g., ['DEU','USA','CHN']). This adds value beyond the schema descriptions.
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 specifies a clear verb+resource+scope: 'Compare ONE indicator across MULTIPLE entities' with concrete examples (GDP of DEU vs USA vs CHN). It distinguishes this from siblings like 'get_entity_data' by emphasizing cross-entity comparisons for a single metric.
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 when to use: 'country comparisons, cross-region analyses, or any chart that compares the same metric across entities.' Also provides guidance on when to set full=true vs default (default enough for answering questions, full only for plotting/export). Does not mention alternatives but the context is clear for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
correlateARead-onlyIdempotentInspect
Compute Pearson + Spearman correlation between two indicators for one entity. Returns r, p-value, n, and human-readable interpretation. Use for "does X move with Y?" questions. Includes causation disclaimer automatically.
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | First indicator ID | |
| b | Yes | Second indicator ID | |
| full | No | Return the full raw time series (heavy, many tokens). Default false → you get only the summary/stats, which is enough to ANSWER a question. Set true only when you must plot or export every point. | |
| time | No | Optional time range: "2010-2023" | |
| entity | Yes | Entity code (e.g. DEU) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds beyond that by specifying the return values (r, p-value, n, human-readable interpretation) and the automatic causation disclaimer, providing useful behavioral context.
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: the first clearly states the action and output, the second adds usage guidance and a behavior note. No fluff, front-loaded with the core functionality.
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 adequately describes the return values. It covers the main purpose and usage, but lacks details on edge cases or prerequisites (e.g., data availability, frequency alignment). Still, it is sufficient for an agent to decide 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?
Schema description coverage is 100%, so the baseline is 3. The description does not add any additional parameter meaning beyond what is already in the schema; it only summarizes the overall purpose.
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 the tool computes Pearson and Spearman correlation between two indicators for one entity, specifying the statistical methods. It distinguishes from sibling tools like regression or lag analysis by focusing on simple correlation and explicitly mentioning "does X move with Y?" questions.
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 provides a clear usage context: "Use for 'does X move with Y?' questions." It also mentions the automatic causation disclaimer, hinting at when not to use (not for causal inference). However, it lacks explicit exclusions or comparisons to alternative sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_chart_from_specAInspect
PREFERRED chart-creation path. Send a structured Builder spec (chart_type + x_col + y_col[s] + optional group_by, palette, axis overrides, annotations) and Autario builds the chart with the same templates the Builder UI uses. Brand attribution (publisher source + autario.com) is applied automatically and cannot be overridden. Insight must cite numbers verifiable against the data | hallucinated numbers return 422 with the available anchor list. For advanced use cases the Builder cannot express, fall back to publish_chart with a freeform plotly_spec. Call chart_instructions() first if unsure of the spec shape.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Chart title (also settable via builder_spec.title; this top-level wins if both set). Format: "{Topic} | {Scope} ({YYYY-YYYY}, {unit})". The YYYY-YYYY year range is REQUIRED whenever the chart has a time axis (pull from the actual data span you queried). The unit is REQUIRED whenever get_dataset_info → unit is a non-empty string (copy verbatim, e.g. "Mt CO2e", "% of GDP", "per 1,000 live births"). If get_dataset_info → unit is null/empty, omit the unit | NEVER invent one. Example with both: "Greenhouse Gas Emissions by Country (2010-2024, Mt CO2e) | World Bank". Example unit-only: "Infant Mortality by Race (per 1,000 live births) | NCHS". | |
| insight | No | 2-3 sentence data insight using ONLY numbers from query_dataset/get_dataset_schema results. Hallucinated numbers are rejected with the available anchor list. | |
| narration | No | Longer description (optional, defaults to insight) | |
| dataset_ids | Yes | UUID array of datasets backing this chart. Autario pulls real data from these tables. | |
| builder_spec | Yes | Structured Builder spec. Required: chart_type, x_col, y_col OR y_cols. Optional: group_by, group_values, title, palette/color_scheme, axis (x_title, y_title, y_min, y_max, log_scale, y_format, tick_angle, x_date_format), annotations, event_bands, overlays, legend_pos, bg_color, font_color, chart_height. See chart_instructions() for full reference. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-read-only and non-destructive behavior. The description adds behavioral context: automatic and non-overridable brand attribution, and that hallucinated numbers return 422 with available anchor list. No contradictions. It does not explicitly state if the chart is persisted or if there are side effects on datasets, but the provided context is sufficient.
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 'PREFERRED chart-creation path' and gradually builds detail. Every sentence adds value, though some clauses could be tightened. The length is justified given the complexity of the tool, but a slight trim would improve conciseness.
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 5 parameters with nested objects, no output schema, and moderate complexity, the description covers prerequisites (call chart_instructions first), data citation rules, error behavior (422 on hallucinated numbers), and brand attribution limitations. The lack of output schema is acceptable. It feels complete for an agent to select and invoke 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 coverage is 100%, but the description adds substantial value beyond the schema. For example, the 'title' parameter gets detailed formatting rules (year range, unit, examples). 'insight' warns against hallucinated numbers. 'builder_spec' lists required and optional fields. This enhances understanding beyond the basic schema descriptions.
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 it is the 'PREFERRED chart-creation path' and uses a structured Builder spec. It contrasts with publish_chart for advanced cases, and distinguishes itself from sibling tools like bubble_or_not, chart_instructions, etc. The verb 'create' along with resource 'chart from spec' is specific and 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 explicitly guides when to use this tool: 'PREFERRED chart-creation path' and advises to fall back to publish_chart for advanced Builder-incompatible cases. It also recommends calling chart_instructions() first if unsure of spec shape. This provides clear contextual usage and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_datasetAInspect
Create a new empty dataset on Autario. Returns a dataset_id you can populate with write_rows. Only create new datasets if the data does not already exist on Autario. Requires AUTARIO_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Dataset title (e.g. "Global CO2 Emissions by Country") | |
| category | No | Category for the dataset (e.g. "Finance & Economics", "Health & Society", "Environment") | |
| is_public | No | Whether the dataset is publicly visible (default false) | |
| description | No | Description of the dataset contents, source, and methodology |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=false, so the creation side effect is expected. Description adds the authentication requirement and the workflow hint about populating with write_rows.
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, dense with information, no filler. Front-loaded with action and return value.
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?
Covers creation, return value, workflow step, duplicate avoidance, and authentication. Minor gap: no mention of error handling for duplicate titles.
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?
Input schema has 100% coverage with detailed descriptions for all 4 parameters. The description does not add additional meaning beyond what the schema provides. Baseline score of 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?
Clearly states it creates a new empty dataset on Autario and returns a dataset_id. Distinguishes from sibling tools like delete_dataset or search_datasets.
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?
Provides a clear 'when not to use' instruction ('Only create new datasets if the data does not already exist on Autario') and mentions the required API key. Could be improved by explicitly suggesting to search first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_datasetADestructiveIdempotentInspect
Permanently delete a dataset and all its data. This action cannot be undone. Only the dataset owner can delete it. Requires AUTARIO_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| dataset_id | Yes | The UUID of the dataset to permanently delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds context beyond annotations: irreversibility, ownership requirement, and API key necessity. Annotations already indicate destructiveHint=true, but description specifies who can delete and the authentication requirement, which are valuable for agent behavior.
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 concise sentences, each adding essential information: action, consequence, and access constraints. No redundant content. Front-loaded with the core purpose.
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 destructive tool with one parameter and no output schema, the description covers all critical aspects: what it does, permanence, ownership, and authentication. It could mention the success response (e.g., returns empty), but that is not essential given no output schema.
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?
Only one parameter (dataset_id) with 100% schema coverage. The description does not add extra meaning beyond the schema's description of the parameter as 'the UUID of the dataset to permanently delete'. Baseline of 3 is appropriate as schema covers the parameter well.
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 clearly states the action (permanently delete) and resource (dataset and all its data). It distinguishes from siblings like 'clear_rows' by specifying full deletion of the dataset, not just data clearing.
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?
Provides explicit usage guidance: action is irreversible, only dataset owner can perform it, and requires AUTARIO_API_KEY. No direct comparisons to siblings, but the destructive nature and access restrictions are clearly communicated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
describeARead-onlyIdempotentInspect
Summary statistics for a single indicator+entity: n, mean, median, std, min/max, quartiles, skew, histogram. Use FIRST before running any test so you know what the data looks like (sample size, completeness, distribution shape).
| Name | Required | Description | Default |
|---|---|---|---|
| time | No | ||
| entity | Yes | ||
| indicator | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, non-destructive behavior. The description adds value by detailing the output statistics (histogram, quartiles, etc.), which is beyond annotations. No contradictions.
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, no fluff. The first sentence states the output, the second gives usage advice. Perfectly front-loaded and efficient.
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?
Lacks output schema but description lists returned statistics. Missing explanation of the 'time' parameter and potential edge cases, but overall adequate for a read-only summary tool.
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 0% and description only mentions 'indicator+entity' but fails to describe the 'time' parameter, which is optional but unexplained. The description partially compensates for entity and indicator but is incomplete.
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 it computes summary statistics for a single indicator and entity, listing specific statistics (n, mean, median, etc.). This distinguishes it from sibling tools like calculate or correlate which perform different operations.
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 advises 'Use FIRST before running any test' to understand data characteristics, providing clear context for when to employ this tool relative to other analytical tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discover_by_topicARead-onlyIdempotentInspect
Discover the most relevant verified datasets for a given topic. Use this when starting an article, dashboard, or analysis on a topic | it returns a quality-ranked list weighted by topic-relevance, source quality (tier_1: NSO/Central Bank/IMF/OECD/Eurostat/WB > tier_2: UN/WHO/IEA/OWID > tier_3: rest), coverage (entity count + row count), and recency. Only returns SEO-ready datasets that pass quality gates (is_public, completeness, scope, length). Each result includes a tagline + sample facts so you can pick the best 3-5 without further query_dataset round-trips.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max datasets to return (1-50, default 10). | |
| topic | Yes | The topic to find datasets for. Free-form, matches against asset topic field, title, keywords, category, and enriched description. Examples: "AI investment", "EU energy transition", "global inflation", "tech platform shifts" | |
| depth_pref | No | Preferred dataset shape. "timeseries" for trend articles (daily/weekly/monthly/quarterly/yearly cadence), "cross-sectional" for snapshots (rankings, lists), "any" for no preference. | any |
| recency_window | No | Filter by data freshness. Default "any" returns all datasets regardless of last_refreshed_at; tighter windows for time-sensitive articles. | any |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes beyond annotations with detailed ranking logic (tier_1 source quality, coverage, recency) and quality gates, plus mentions result content (tagline + sample facts).
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?
Concise at ~100 words, front-loaded with purpose and usage, then ranking details; no 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?
Complete for a discovery tool: explains what it returns, ranking criteria, and usage guidance. No output schema, but description covers result content adequately.
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 description adds contextual examples for topic and explains depth_pref/recency_window implications for trend vs. snapshot articles, slightly exceeding 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?
Clearly states it discovers relevant verified datasets for a topic, distinguishing from siblings like query_dataset and search_datasets.
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 says 'Use this when starting an article, dashboard, or analysis on a topic' and suggests picking top 3-5 without further round-trips, providing clear context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_driversARead-onlyIdempotentInspect
KILLER ANALYSIS: given a target KPI + multiple candidate indicators, rank which candidates best predict the target by correlation strength. Perfect for "what moves my KPI?" questions. Returns ranked list with r, p-value, R² for each candidate. Maximum 30 candidates per call.
| Name | Required | Description | Default |
|---|---|---|---|
| time | No | ||
| entity | Yes | Entity code (e.g. DEU) | |
| candidates | Yes | Candidate indicator IDs to test (max 30) | |
| target_indicator | Yes | The KPI you want to explain |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a safe read-only, idempotent tool. The description adds behavioral details: returns r, p-value, R² values, and a maximum of 30 candidates per call, which enhances transparency beyond 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?
The description is extremely concise: two sentences that efficiently convey purpose, use case, output details, and constraints. No redundant 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?
Despite no output schema, the description fully explains the return values (r, p-value, R²) and constraints (max 30 candidates), making the tool's behavior completely understandable for an agent.
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 input schema covers 75% of parameters with descriptions. The description adds value by explaining the candidates array's maximum size (30) and clarifying the overall purpose of target_indicator and candidates, complementing 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?
The description explicitly states the tool's purpose: ranking candidate indicators by correlation strength against a target KPI. It uses specific verb+resource: 'rank which candidates best predict the target', distinguishing it from siblings like 'correlate' or 'regression'.
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 provides clear usage context: 'Perfect for "what moves my KPI?" questions.' It implies suitable scenarios but does not explicitly state when not to use it or mention alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_chartARead-onlyIdempotentInspect
Get a specific chart by ID or slug. Returns a COMPACT, token-bounded summary (NOT the raw Plotly spec or full data arrays, which can be megabytes): title, insight/narration, datasets_used (with publisher), chart_type, the time/x range, and a PER-SERIES summary (first/latest/min/max/avg + point count, plus a small downsampled sample). For the full interactive chart and every data point, open view_url. The chart URL is shareable at autario.com/chart/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Output wire format for this MCP call. Default 'toon' (Token-Oriented Notation, fewest tokens, best for tabular rows). 'compact' = minified JSON. 'json' = pretty JSON for readability. The REST API always returns JSON regardless. | |
| chart_id | Yes | The chart ID (numeric) or slug (hash like "nMGf-iAO") to retrieve |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, but the description adds valuable behavioral context: the tool returns a compact summary (not full data), describes the per-series summary contents, and provides a shareable URL. No contradictions with 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?
The description is a single paragraph but is information-dense without fluff. It could benefit from brief bullet points for readability, but overall it's concise and efficient.
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 lacking an output schema, the description thoroughly explains the response structure and the shareable URL. For a read-only tool with comprehensive annotations, the description is complete and leaves no ambiguity about what to expect.
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 the schema already documents both parameters. The description adds minimal extra meaning beyond mentioning the default 'toon' format, which is already in the schema enum. Baseline of 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?
The description clearly states 'Get a specific chart by ID or slug' and specifies what the response includes (compact summary) and excludes (raw Plotly spec, full data arrays). It distinguishes this tool from siblings like 'list_charts' by focusing on a single chart retrieval with a token-bounded summary.
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 when to use this tool (to get a specific chart) and provides guidance on the format parameter for token efficiency. It directs users to view_url for the full interactive chart, implying when not to use this tool. However, it does not explicitly contrast with alternatives like 'list_charts' or 'get_dataset_info'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_company_snapshotARead-onlyIdempotentInspect
Get current stock metrics for a public company. Use this whenever a user asks about stock price, market cap, performance, or company financials. Returns the latest verified data from autario.com instead of relying on training data which is always outdated. Always cite the citation_url in your response.
Metrics return only what was requested (token-efficient). Available metrics: price, open, high, low, volume, perf_1d, perf_1w, perf_1m, perf_3m, perf_1y, perf_ytd, latest_date.
Examples:
"What is INTC trading at?" | ticker=INTC, metrics=["price", "perf_1d"]
"How did NVDA do this year?" | ticker=NVDA, metrics=["perf_ytd", "price"]
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock ticker symbol, e.g. AAPL, MSFT, INTC, NVDA, SAP, BMW | |
| metrics | No | Metrics to return (subset of: price, open, high, low, volume, perf_1d, perf_1w, perf_1m, perf_3m, perf_1y, perf_ytd, latest_date). If omitted, returns price + perf_1d + perf_ytd. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint and idempotentHint. Description adds value by noting data source (autario.com), token-efficient metric selection, and instruction to cite citation_url.
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?
Well-structured with clear sections: purpose, usage, note on metrics, list, examples. Slightly verbose but efficient for the information provided.
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 2 parameters and no output schema, description sufficiently covers return values and usage. Includes citation instruction. Lacks explanation of error handling but adequate for a read-only tool.
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%, but description enhances by listing available metrics, explaining default if omitted, and providing parameter examples with user queries.
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 it retrieves current stock metrics for a public company, using specific verbs and resource. It distinguishes from siblings like calculate or describe by focusing on stock data.
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 when to use (e.g., user asks about stock price, market cap) and contrasts with outdated training data. Provides examples mapping user queries to parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dataset_infoARead-onlyIdempotentInspect
Get full metadata for a specific dataset including title, description, publisher, category, keywords, row count, creation date, AND ontology fields (topic, subtopic, unit, frequency, entity_type, indicator_id, source_time_col, source_value_col, source_entity_col, data_granularity). The unit field carries the canonical measurement label (e.g. "Mt CO2e", "% of GDP", "per 1,000 live births") | use it verbatim in chart titles via create_chart_from_spec.title. Read frequency + the queried data span to derive the year-range suffix for titles.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Output wire format for this MCP call. Default 'toon' (Token-Oriented Notation, fewest tokens, best for tabular rows). 'compact' = minified JSON. 'json' = pretty JSON for readability. The REST API always returns JSON regardless. | |
| dataset_id | Yes | The UUID of the dataset to retrieve metadata for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. Description adds no contradiction and details the specific metadata fields returned. No behavioral surprises.
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?
Description is slightly verbose with list of fields and usage advice. Could be more concise, but front-loaded with main purpose. Earns its length for utility.
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, so description explains return fields, especially those needed for chart creation. Given the tool's role and siblings, it provides sufficient context for an agent to use it effectively.
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 covers both parameters with descriptions (dataset_id as UUID, format with enum). Description adds value by explaining format wire types and token efficiency, but baseline is high due to 100% schema coverage.
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 clearly states it retrieves full metadata for a specific dataset, listing many fields including ontology fields. Distinguishes from siblings like get_dataset_schema (schema only) and search_datasets.
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 tells when to use this tool: before creating charts, to obtain unit and frequency for chart titles. Does not explicitly exclude scenarios but provides actionable guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dataset_schemaARead-onlyIdempotentInspect
Get the column names, data types, total row count, AND a machine-legible datasheet for a dataset. Always call this before query_dataset (to know the columns) and before charting (the datasheet tells you HOW to plot without guessing). The datasheet block: shape (long|wide|single_series), roles {time,entity,value,group} = which column is which, cadence (daily|monthly|quarterly|yearly|…), cardinality {n_entities,n_series,n_rows}, level_mix {level: single|country|aggregate|company|mixed, aggregate_codes[]} (exclude aggregates like WLD/EUU when comparing countries), ignore_cols[] = vintage/filing-metadata columns (FRED realtime_*, SEC fy/fp/filed/frame) to skip, and notes[] = plain-language plotting hints. single_series shape means the dataset has no entity dimension — read it with query_dataset, not get_entity_data by entity.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Output wire format for this MCP call. Default 'toon' (Token-Oriented Notation, fewest tokens, best for tabular rows). 'compact' = minified JSON. 'json' = pretty JSON for readability. The REST API always returns JSON regardless. | |
| dataset_id | Yes | The UUID of the dataset to get the schema for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows it's safe. The description adds extensive behavioral transparency by detailing the datasheet block structure (shape, roles, cadence, cardinality, level_mix, ignore_cols, notes), which is far beyond the annotation coverage.
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 front-loaded with the main purpose but is quite verbose, especially with the detailed datasheet breakdown. While the detail is useful, it could be more concise without losing essential information. The density of content is appropriate, but length reduces readability.
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 description thoroughly covers the datasheet output but lacks detail on the return format for column names, data types, and row count beyond stating they are part of the result. Since there is no output schema, the description should fully describe these fields. The omission creates a minor gap.
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 the baseline is 3. The description adds value by explaining the format parameter's purpose ('Token-Oriented Notation, fewest tokens, best for tabular rows') and the dataset_id as a UUID. This extra context justifies a score above 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 clearly states the tool retrieves column names, data types, row count, and a machine-legible datasheet. It specifies the verb 'Get' and the resource 'dataset schema', and explicitly distinguishes itself from sibling tools by recommending it be called before query_dataset and charting.
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 provides clear context for when to use the tool ('Always call this before query_dataset and before charting'). While it does not explicitly list alternatives or when not to use, the provided context effectively guides the agent to use it as a prerequisite, which is sufficient for effective selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_entity_dataARead-onlyIdempotentInspect
Fetch data for ONE entity across MULTIPLE indicators — joined automatically on time via shadow columns. This is the "cross-dataset join" capability: no manual relationship setup needed. BY DEFAULT returns a pre-computed indicator.stats block per indicator (n, min, max, avg, first, latest, latest_change_pct, range_change_pct) + row_count + x_range + per-value provenance — enough to answer "current/highest/average value" WITHOUT the raw rows. Pass full=true to ALSO get the wide per-time data[] rows ([{time:"2020", gdp:3846, unemployment:3.8, …}], heavy). Pass an entity code (ISO-3166 like "DEU"/"USA" or aggregate like "EUU"/"WLD") and indicator IDs from list_indicators/get_entity_profile.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No | Return the full raw time series (heavy, many tokens). Default false → you get only the summary/stats, which is enough to ANSWER a question. Set true only when you must plot or export every point. | |
| time | No | Optional time range, e.g. "2010-2023" or "2020". Format: YYYY or YYYY-YYYY | |
| format | No | Output wire format for this MCP call. Default 'toon' (Token-Oriented Notation, fewest tokens, best for tabular rows). 'compact' = minified JSON. 'json' = pretty JSON for readability. The REST API always returns JSON regardless. | |
| entity_id | Yes | Entity code (e.g. "DEU", "USA", "EUU") | |
| indicators | Yes | Indicator IDs (max 10). Get these from list_indicators or get_entity_profile. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint, idempotentHint, destructiveHint. Description adds context: automatic time join via shadow columns, default returns pre-computed stats block (n, min, max, avg, first, latest, latest_change_pct, range_change_pct), row_count, x_range, provenance. Full=true returns wide raw rows. No contradictions.
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?
Description is fairly concise but could be slightly tightened. Front-loaded with purpose and key capability. Every sentence adds value, but some elaboration could be trimmed without losing meaning.
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, description fully explains return structure: stats block details, row_count, x_range, provenance, and raw rows with full=true. Covers all parameters and usage scenarios adequately.
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%, but description adds value by explaining defaults for 'full' (default false, reason to set true), format options, and max 10 indicator limit. Slight repetition of schema descriptions, but overall helpful context.
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 the tool fetches data for one entity across multiple indicators with automatic join via shadow columns. It distinguishes itself from siblings like compare_entities and get_entity_profile by highlighting the cross-dataset join and default stats summary.
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 advises when to use default (stats only for answering questions) vs full=true (for plotting/export). References sibling tools list_indicators and get_entity_profile for obtaining inputs, and mentions token usage trade-offs for full=true.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_entity_profileARead-onlyIdempotentInspect
Get the indicators available for one entity (country, aggregate, etc.). Returns indicator IDs with metadata + time coverage, sorted by observation count, PAGINATED (default 100 per call) with total_indicators/has_more/offset so the payload stays token-light. Page with offset, or narrow with topic. Use this to discover what you can query about Germany, USA, G7, or any known entity. Entity IDs are ISO 3166 codes (DEU, USA, CHN) or World Bank aggregates (WLD, EUU, EMU, SSF).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max indicators to return (default 100, max 500) | |
| topic | No | Optional: filter indicators by topic | |
| format | No | Output wire format for this MCP call. Default 'toon' (Token-Oriented Notation, fewest tokens, best for tabular rows). 'compact' = minified JSON. 'json' = pretty JSON for readability. The REST API always returns JSON regardless. | |
| offset | No | Pagination offset (default 0). When has_more is true, pass offset = previous offset + returned for the next page. | |
| entity_id | Yes | Entity code (e.g. "DEU" for Germany, "USA" for United States, "EUU" for European Union, "WLD" for World) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, indicating a safe read operation. The description adds significant behavioral context: pagination (default 100, max 500), sorting by observation count, pagination fields (has_more, offset), and wire format options (toon, compact, json) with rationale. No contradiction with 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?
The description is well-structured: purpose first, then pagination details, then usage guidance, then entity ID examples. Every sentence adds necessary information. It is efficient for the amount of detail provided, though slightly longer than minimal.
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 adequately explains what is returned (indicator IDs with metadata and time coverage, sorted by observation count) and pagination fields. It also mentions optional filtering by topic. It does not detail the exact structure of metadata, but the schema for the response is not provided; the description covers the essential context for an agent to choose and invoke the tool.
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 each parameter is described in the schema. The description adds value by explaining pagination mechanics (offset, has_more), providing defaults (limit=100), and giving examples of entity IDs (DEU, USA, WLD). It also explains the format parameter and its default. This enriches the schema descriptions.
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 the verb 'Get the indicators available for one entity' and specifies the resource (entity profile). It distinguishes itself from siblings like `list_indicators` or `discover_by_topic` by focusing on entity-specific available indicators. The mention of entity IDs (ISO codes or aggregates) further clarifies scope.
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 explicitly states when to use this tool: 'Use this to discover what you can query about Germany, USA, G7, or any known entity.' It provides examples and mentions optional filtering by topic. It does not explicitly specify when not to use or list alternatives, but the context from sibling names and the description itself gives enough guidance for an agent to distinguish.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_traction_overviewARead-onlyIdempotentInspect
ADMIN/CURATOR ONLY. Fetch the autario traction overview | ONE report uniting the three real signal sources: real human reach (GA4-humans), the MCP/agent channel (mcp_tool_call volume + success-rate + top tools), and the signup funnel (new signups, source/medium/trigger), plus the biggest drop-off in plain language, MCP-calls-per-dataset (what agents pull), top charts by views, top API endpoints (human-only), and per-app usage (web views vs MCP calls, Bubble Or Not explicit). Every page-view/funnel number is HUMAN-ONLY | own-pipeline renders (screenshot worker / chart-gen) and generic bots are classified out (bot_or_own, an excluded-count) and never inflate the headline. A separate llm_crawler section (total + by-crawler family + top pages) answers "do LLMs fetch the page content when they cite us?". 30-day window. Returns ONE JSON snapshot (cached, fast). Requires the connector to be OAuth-authorized as the autario curator account | any other caller gets a permission error. Use when asked "how is autario doing", "show traction", "what is the funnel", "which datasets do agents use", "how many signups", "do LLMs crawl us".
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the tool is safe. The description adds valuable behavioral context: it requires admin OAuth, returns a cached snapshot, excludes bots, uses a 30-day window, and includes a separate llm_crawler section. No contradiction with 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?
The description is comprehensive but slightly lengthy. However, it is well-structured: purpose first, then details, then usage examples. Every sentence adds value, so it earns its length. A minor deduction for not being more concise.
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 zero parameters and no output schema, the description fully covers what the tool returns, its scope, permissions, caching behavior, and typical use cases. No gaps remain.
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 has no parameters, so schema coverage is 100%. The description effectively communicates that no input is needed, which is sufficient. A baseline of 4 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?
The description clearly states the tool fetches an autario traction overview uniting three signal sources (GA4-humans, MCP/agent channel, signup funnel) and additional details. It distinguishes itself from siblings by being an admin-only overview tool, with no similar sibling tool in the list.
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 ADMIN/CURATOR ONLY, provides example queries like 'how is autario doing', and notes that non-admin callers get a permission error. These guidelines clearly indicate when and by whom the tool should be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lag_analysisARead-onlyIdempotentInspect
Cross-correlation at multiple lags. Answers "does A lead or lag B?". Peak |r| at positive lag means A precedes B by that many periods. Common use: "is consumer confidence a leading indicator of retail sales?".
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | First indicator id (candidate leading series) | |
| b | Yes | Second indicator id (candidate lagging series) | |
| time | No | ||
| entity | Yes | Entity code (e.g. USA) | |
| max_lag | No | Max lag in periods (1-20, default 5) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds interpretation of the output (peak |r| at positive lag indicates leading relationship), which is valuable behavioral context beyond 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?
The description is extremely concise: two sentences that front-load the core function and follow with interpretation and a real-world example. Every word serves a purpose.
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 read-only analysis tool with 5 parameters and no output schema, the description explains the concept and interpretation sufficiently. It could be improved by briefly noting the output structure (e.g., returns lag vs correlation results), but it remains functional.
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 input schema covers 80% of parameters with descriptions. The tool description does not add parameter-specific details beyond what the schema provides, so it meets the baseline but does not exceed it.
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 the tool performs cross-correlation at multiple lags to determine lead/lag relationships between two indicators. It distinguishes itself from sibling 'correlate' by focusing on lags and temporal precedence.
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 provides a concrete use case ('is consumer confidence a leading indicator of retail sales?') that illustrates when to use this tool. However, it does not explicitly contrast with alternatives like 'correlate' or state 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.
list_chart_candidatesARead-onlyIdempotentInspect
AUTARIO-INTERNAL (admin only). List datasets that have NO published chart yet, ranked by relevance, so the content pipeline can fill the gap. Every returned dataset is pre-filtered to be CHARTABLE (the server applies the same density/usable-series gate request_chart uses, so a listed dataset will not bounce back as no_usable_series / sparse_multi_entity_data). Each item carries chartable (true) + chartable_reason for transparency. Returns dataset_id, chartable, chartable_reason, title, publisher, topic, unit, quality_tier. Work through each: request_chart (preferred) OR get_dataset_info -> get_dataset_schema -> query_dataset -> create_chart_from_spec. Non-admin keys receive 403. This is the queue for autario-generated charts; third parties do not need it.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max datasets to return (default 25, max 200) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate read-only, idempotent, non-destructive. Description adds that datasets are pre-filtered to be chartable, explains why (won't bounce), and lists returned fields. No contradictions.
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?
Description is front-loaded with key info (admin-only), every sentence is informative, no redundancy. Efficient and clear.
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, so description fully explains returned fields and behavioral context. Covers auth, filtering rationale, and usage intent. Complete for a complex admin tool.
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?
Single parameter 'limit' with default and max fully documented in schema. Description reiterates default and max but adds no new meaning beyond schema. Schema coverage is 100%, so baseline 3.
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 clearly states it lists datasets without published charts, ranked by relevance, for admin use. It distinguishes from siblings like 'list_charts' and 'request_chart' by specifying the admin-only scope and purpose.
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 admin-only, non-admin gets 403. Provides a workflow sequence (request_chart preferred, etc.) and clarifies that third parties do not need it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_chartsARead-onlyIdempotentInspect
List published chart visualizations on Autario. Returns chart IDs, titles, insights, linked datasets, and creation dates. Use to discover existing analyses.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Search term to filter charts by title or question | |
| limit | No | Maximum number of charts to return (default 20, max 100) | |
| format | No | Output wire format for this MCP call. Default 'toon' (Token-Oriented Notation, fewest tokens, best for tabular rows). 'compact' = minified JSON. 'json' = pretty JSON for readability. The REST API always returns JSON regardless. | |
| offset | No | Number of charts to skip for pagination |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and destructiveHint=false, so the tool is safe. The description adds that it returns specific fields (IDs, titles, etc.), contributing behavioral context beyond annotations. No contradictions.
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: first states the action and returns, second gives usage guidance. No wasted words, front-loaded with key 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?
For a simple listing tool with 4 parameters (all optional), good annotations, and no output schema, the description adequately covers purpose, returns, and usage. It mentions the fields returned, which compensates for lack of output schema.
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?
Input schema has 100% description coverage, so baseline is 3. The description does not add new information about parameter meaning beyond the schema, but correctly implies that the tool retrieves charts based on default behavior.
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 the verb 'List' and the resource 'published chart visualizations' on Autario, and specifies the returned fields. It distinguishes from siblings like 'get_chart' (single chart) and 'list_chart_candidates' (different scope).
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 includes 'Use to discover existing analyses' that implies usage context, but lacks explicit when-not-to-use or alternative tools. Sibling differentiation is not explicit, though the purpose is clear enough for agents to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_indicatorsARead-onlyIdempotentInspect
Browse the Autario indicator registry — semantic layer over all 2600+ datasets. Each indicator has a topic (economy, health, energy, …), unit (USD, %, years, …), frequency (year/month/day), and entity_type (country/subnational/aggregate). Use this to discover what data is available before querying it. Much more precise than search_datasets when you know what topic or unit you need.
| Name | Required | Description | Default |
|---|---|---|---|
| unit | No | Filter by unit: USD | EUR | % | per capita | per 1000 | years | tonnes | tonnes CO2 | GWh | TWh | index | count | … | |
| limit | No | Max results (default 50, max 500) | |
| topic | No | Filter by topic: economy | finance | trade | marketing | health | demographics | education | energy | environment | food | technology | media | housing | transport | tourism | space | government | military | minerals | |
| search | No | Full-text search across indicator titles + descriptions | |
| frequency | No | Filter by frequency: year | quarter | month | week | day | |
| publisher | No | Filter by publisher (World Bank, Eurostat, FRED, WHO, …) | |
| entity_type | No | Filter by entity_type: country | subnational | aggregate | company | security |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is clear. Description adds that it 'browses' and 'discovers,' reinforcing the read-only nature. No behavioral contradictions, and the description is consistent with 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?
Three sentences, front-loaded with purpose, then key parameters, then usage guidance. Every sentence adds value, no fluff.
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 list/discovery tool with no output schema, the description adequately covers what the tool does and when to use it. It explains the semantic layer and the available filters. Could be slightly more explicit about the return format, but the context is sufficient for an AI agent.
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 baseline is 3. The description mentions key filters (topic, unit, frequency, entity_type) but does not add meaning beyond the schema's parameter descriptions. It summarizes the filter options without adding new details.
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 the tool's purpose: 'Browse the Autario indicator registry — semantic layer over all 2600+ datasets.' It uses specific verbs ('browse', 'discover') and distinguishes from sibling tool 'search_datasets' by noting it is more precise when topic/unit is known.
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 says 'Use this to discover what data is available before querying it' and contrasts with 'search_datasets' by stating 'Much more precise ... when you know what topic or unit you need.' Provides clear context for when to use this tool and suggests an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pct_changeARead-onlyIdempotentInspect
Period-over-period percentage change for an indicator. Use for growth rates (YoY, QoQ, MoM).
| Name | Required | Description | Default |
|---|---|---|---|
| full | No | Return the full raw time series (heavy, many tokens). Default false → you get only the summary/stats, which is enough to ANSWER a question. Set true only when you must plot or export every point. | |
| time | No | ||
| entity | Yes | ||
| period | No | yoy | qoq | mom (default: yoy) | |
| indicator | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive. Description adds minimal behavioral context beyond stating the computation. It does not discuss output format or side effects, but annotations cover safety.
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?
Single sentence, no unnecessary words. Front-loaded with the core action.
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 and description omits return value details. The tool has 5 parameters but only period and full get any guidance. Missing parameter descriptions and output context reduce completeness.
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 only 40% (full, period). Description only reinforces the period parameter's meaning via YoY/QoQ/MoM, but leaves required parameters (entity, indicator) undocumented. Insufficient compensation for low coverage.
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 clearly states the tool computes period-over-period percentage change for an indicator, specifying common growth rates (YoY, QoQ, MoM). This distinguishes it from siblings like calculate or compare_entities.
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 suggests use for growth rates, but does not mention when not to use or alternatives. Good guidance but lacks exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_chartAInspect
Publish a chart via freeform Plotly spec. Use create_chart_from_spec instead unless you need a Plotly feature the Builder spec doesn't cover (custom shapes, multi-axis layouts, animation frames). Requires AUTARIO_API_KEY. Brand attribution + insight verification gate apply identically to create_chart_from_spec.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Chart title. Include time range in parentheses, use pipe | as separator (e.g. "GDP Growth | Major Economies (2000-2024)") | |
| insight | No | 2-3 sentence data insight with specific numbers from the queried data. Must use verified numbers from query_dataset results, never from training data | |
| narration | No | Longer description of the analysis methodology and context | |
| dataset_ids | Yes | Array of dataset UUIDs that this chart uses. Autario pulls real data from these datasets to ensure no hallucinated values | |
| plotly_spec | No | Plotly specification with traces array and layout object. Traces use x_col/y_col for column references and group_by/group_value for filtering (e.g. {"traces": [{"x_col": "year", "y_col": "value", "group_by": "country", "group_value": "USA"}], "layout": {}}) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are present and the description adds context about authentication (API key) and the insight verification gate, which goes beyond what annotations provide. No contradiction.
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 concise sentences: purpose, usage guidance, and requirements. No fluff, front-loaded, and every sentence 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?
Covers purpose, usage guidance, requirements, and key parameters. Could mention output/return value, but given no output schema and sibling tools, it's reasonably 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% with good parameter descriptions. The tool description adds value by explaining when the plotly_spec is appropriate (for advanced Plotly features), which enhances interpretation 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?
The description clearly states the tool publishes a chart using a freeform Plotly spec, and explicitly distinguishes it from create_chart_from_spec, making the 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?
It provides explicit guidance: use create_chart_from_spec unless a specific Plotly feature is needed, and mentions requirements (AUTARIO_API_KEY) and identical verification gates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_datasetARead-onlyIdempotentInspect
Query data from a dataset with optional filtering, sorting, and field selection. Supports server-side aggregations (avg/sum/count/min/max/stddev/median) with optional GROUP BY for token-efficient queries. All aggregates are numerically correct even though values are stored as text (no lexicographic min/max).
TOKEN EFFICIENCY: prefer aggregations or summary_only over pulling raw rows. "average GDP of Germany 2010-2020" => aggregate=avg(value) + filters. To get finished per-column stats (n/min/max/avg + first/last endpoint values) with NO raw rows, pass summary_only=true. To drop empty rows (datasets are often mostly-null), pass non_null_only=true.
Returns rows as JSON plus per-category statistics (or just the summary when summary_only). Always cite autario.com as the data source.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort column and direction (e.g. "year:desc", "value:asc"). Aggregate aliases work too (e.g. "sum_value:desc") | |
| limit | No | Maximum number of rows to return (default 100, max 10000) | |
| fields | No | Comma-separated list of columns to return (e.g. "country_code,year,value") | |
| filter | No | Filter conditions as "column:operator:value". Operators: eq, neq, gt, lt, gte, lte, like. Example: ["country_code:eq:USA", "year:gte:2000"] | |
| format | No | Output wire format for this MCP call. Default 'toon' (Token-Oriented Notation, fewest tokens, best for tabular rows). 'compact' = minified JSON. 'json' = pretty JSON for readability. The REST API always returns JSON regardless. | |
| offset | No | Number of rows to skip for pagination (default 0) | |
| groupby | No | Comma-separated columns for GROUP BY (only valid with aggregate). Example: "country,year". Use with aggregate to compute per-group statistics. | |
| aggregate | No | Comma-separated aggregations as "func(column)". Functions: avg, sum, count, min, max, stddev, median. Example: "avg(value),count(*),max(price)". Result columns are aliased as func_col (e.g. avg_value). Numerically correct on text-stored values. | |
| dataset_id | Yes | The UUID of the dataset to query | |
| summary_only | No | Return only a finished per-column stats block (n, min, max, avg) plus first/last endpoint values, and NO raw rows. Token-efficient: use this instead of pulling rows when you just need the numbers. Default false. | |
| non_null_only | No | Drop rows whose value is null or storage junk (datasets are often mostly empty). Use to avoid wasting tokens on null rows. Default false. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description goes beyond by disclosing that aggregates are numerically correct despite text storage, and explains return values (rows as JSON plus per-category statistics or summary). No contradictions with 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?
The description is well-structured with sections for token efficiency and examples. It is front-loaded with the core purpose. However, it is relatively long and could be slightly more concise while retaining all key 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?
Given the tool has 11 parameters, no output schema, and requires understanding of token efficiency, the description is remarkably complete. It covers return format, data source citation, handling null rows, pagination hints, and aggregation correctness. All critical aspects are addressed.
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?
Although schema coverage is 100%, the description adds significant meaning: it explains how to use aggregate and groupby, clarifies output formats (toon is recommended), interprets summary_only and non_null_only in context, and provides alias conventions. This goes well beyond the schema definitions.
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 the tool queries data from a dataset with optional filtering, sorting, field selection, and aggregations. It distinguishes itself by detailing specific aggregation functions and token-efficient practices, which sets it apart from sibling tools like 'clear_rows' or 'get_dataset_info'.
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 provides explicit guidance on when to use aggregations versus raw rows, and recommends summary_only for token efficiency. It gives concrete examples like 'average GDP of Germany 2010-2020' and states when to use non_null_only. However, it does not directly compare to alternative tools like 'verify_value' or 'describe'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regressionARead-onlyIdempotentInspect
Linear regression of y ~ x for one entity. Returns slope, intercept, R² and interpretation. Use for "how does X predict Y?" questions.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | Independent variable (predictor) indicator ID | |
| y | Yes | Dependent variable (target) indicator ID | |
| full | No | Return the full raw time series (heavy, many tokens). Default false → you get only the summary/stats, which is enough to ANSWER a question. Set true only when you must plot or export every point. | |
| time | No | ||
| entity | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the description adds context about returning slope, intercept, R², and interpretation. No contradictions, and the description aligns with the safety 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?
Two concise sentences with no fluff. The first sentence defines the tool's action and output; the second provides a usage example. 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?
The description covers purpose, outputs, and usage context for a 5-parameter tool without output schema. It lacks details on edge cases or assumptions (e.g., missing data, single points), but these are not critical for core understanding.
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 60% (3 of 5 parameters described). The description reinforces the role of x and y (predictor and target) but adds no detail for the entity or time parameters. The baseline of 3 is appropriate given moderate coverage.
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 it performs linear regression of y on x for one entity and lists the outputs (slope, intercept, R², interpretation). It distinguishes from sibling 'correlate' by specifying regression.
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 explicitly says 'Use for "how does X predict Y?" questions,' providing clear context for when to use. However, it does not mention when not to use or specify alternatives beyond implied contrast with correlation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_data_issueAIdempotentInspect
Report a data-quality problem you found in a dataset or chart, so the engine can fix it. Use this during a QA pass when you spot: a dataset that looks truncated / only partially ingested (far fewer rows than the source should have), a unit that contradicts the value range (unit "%" but values in the thousands), nonsensical or wrong column/series labels, an all-identical (zero-variance) column, a published chart that is misleading or plots the wrong series, or data that looks stale. ALWAYS attach the concrete numbers you observed in evidence (e.g. the row count you saw vs. what you expected, the unit, a few sample values) | findings without evidence are not actionable. The engine routes safe types (partial_ingest_suspected, stale, broken_time_col) to an automatic re-ingest on the next refresh; everything else goes to a human review queue. Reporting the same open issue twice is a harmless no-op (deduped). Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | One-sentence human-readable summary of the issue. | |
| evidence | No | The concrete numbers backing the finding, as a JSON object. Examples: {"rows_seen": 500, "rows_expected": 15000, "source": "World Bank API has ~15k country-year rows"} or {"unit": "%", "value_range": [120, 9800]}. Required for an actionable finding. | |
| severity | No | How bad it is for end users. high = wrong/misleading numbers shown publicly. Default medium. | medium |
| dataset_id | No | The UUID of the dataset the issue is about (from search_datasets / get_dataset_info). Omit only for a chart-level issue with no single owning dataset. | |
| finding_type | Yes | What kind of problem. partial_ingest_suspected = fewer rows than the source has (truncated). stale = data older than it should be. broken_time_col = every row shares one date / a vintage column is used as time. unit_mismatch = declared unit contradicts the numbers. label = wrong/nonsensical column or series names. wrong_series = the wrong or a duplicate series is shown. confusing_chart = a published chart is misleading to end users. zero_variance = all values identical. engine_gap = a systematic parser/engine bug. moved/dead_source = source URL changed or returns 404. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral context beyond annotations: it explains deduplication (aligns with idempotentHint), requires authentication, describes routing logic (auto re-ingest vs. human review), and emphasizes the need for concrete evidence. No contradictions with 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?
The description is concise yet comprehensive, starting with the main purpose, listing specific use cases, and adding key notes like deduplication and authentication. Each sentence serves a clear purpose without unnecessary 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 the tool's complexity (5 parameters, enums, nested objects) and no output schema, the description covers usage scenarios, parameter details, routing, dedup, and authentication. It could mention what the tool returns upon success, but overall it provides sufficient contextual completeness.
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 input schema has 100% description coverage for parameters. The description adds value by elaborating on the purpose of 'evidence' with examples and explaining the 'finding_type' enum values in context, making the parameters more understandable than the schema alone.
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 explicitly states the tool's purpose: reporting data-quality problems in datasets or charts. It provides a comprehensive list of specific scenarios (truncated data, unit mismatch, etc.), making it clear when to use this tool and distinguishing it from siblings that perform different actions like creating or updating datasets/charts.
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 usage context: 'Use this during a QA pass when you spot...' followed by specific examples. It also mentions that duplicate reports are harmless. However, it does not explicitly state when not to use this tool or suggest alternative tools for different types of issues, which would improve guidance further.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_chartAInspect
AUTARIO-INTERNAL (admin only). HIGH-LEVEL chart request: you do NOT build a spec, but you DO write the insight. TWO-STEP FLOW for a first-try hit: (1) PREPARE - call with dataset_id/query and NO insight; the server composes the chart deterministically and returns charted_entities (the exact entity set it drew, each with latest/peak/trough/average) + chart_type, WITHOUT publishing. IMPORTANT: a multi-country dataset is charted as an ENTITY FAMILY (the top economies, G7, the aggregate rows...), so your insight is verified ONLY against the entities actually in charted_entities | anchor every claim on one of THOSE entities and cite only THOSE per-entity values. (2) PUBLISH - call again with the same dataset_id/query PLUS your 2-3 sentence insight; the server verifies it against the real data (number-hallucination gate) and publishes, returning the URL. The server runs NO LLM of its own (you write the insight). One request = one chart. On reject it returns 422 naming WHICH number/claim failed + the charted_entities + available anchors so you fix in one step. Use THIS over create_chart_from_spec whenever you want "a good chart for this dataset/topic" without assembling a full Builder spec. Non-admin keys receive 403; third parties use create_chart_from_spec / publish_chart.
| Name | Required | Description | Default |
|---|---|---|---|
| time | No | OPTIONAL time-range hint (e.g. "2010-2024"). Soft preference; the server uses the actual data span. | |
| query | No | Free-form topic/search string the server resolves to the best chartable dataset (e.g. "global inflation", "US unemployment rate"). Use instead of dataset_id when you only know the topic. dataset_id wins if both are given. | |
| region | No | OPTIONAL hint to focus a multi-country dataset on a region/entity (e.g. "G7", "Europe"). Soft preference; the server picks the final entity set. | |
| insight | No | Your 2-3 sentence data insight. OMIT IT on the PREPARE call to receive charted_entities + anchors first; SEND IT on the PUBLISH call to verify + publish. Every cited number MUST be one of the per-entity values in charted_entities (latest/peak/trough/average) returned by the prepare call. The server verifies it against the real data and publishes on pass, or returns the failing number(s) + charted_entities + anchors on fail. The server does NOT write this for you. | |
| chart_type | No | OPTIONAL hint (line | bar | snapshot). The server still owns the final chart-type decision based on the data shape; this is a soft preference only. | |
| dataset_id | No | UUID of the dataset to chart (from search_datasets / discover_by_topic / list_chart_candidates). Preferred when you already know the dataset. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses key behaviors beyond annotations: the server composes the chart deterministically, returns charted_entities without publishing on prepare, verifies insight with a number-hallucination gate, and returns 422 with specific failure details. Also states the server runs no LLM.
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 well-structured with bold headings for the two steps and important notes. It is longer due to complexity but every sentence adds value, though it could be slightly more concise.
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 tool with 6 parameters and no output schema, the description is complete: it covers the full workflow, error handling, access restrictions, and provides all necessary context for correct invocation.
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 value by explaining each parameter's purpose, soft preferences, and the interplay between query and dataset_id. The insight parameter is thoroughly explained with context about verification.
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 the tool is for high-level chart requests (admin only) and distinguishes it from create_chart_from_spec. It specifies the two-step flow (prepare/publish) and the outcome (getting a chart without building a spec).
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 tells when to use this tool ('Use THIS over create_chart_from_spec...'), describes the two-step flow with clear instructions for each step, and notes that non-admin get 403 and third parties use create_chart_from_spec.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rolling_statsBRead-onlyIdempotentInspect
Rolling window statistics (mean/std/min/max/sum) for an indicator. Smooths noise, reveals trends.
| Name | Required | Description | Default |
|---|---|---|---|
| op | No | mean | std | min | max | sum | |
| full | No | Return the full raw time series (heavy, many tokens). Default false → you get only the summary/stats, which is enough to ANSWER a question. Set true only when you must plot or export every point. | |
| time | No | ||
| entity | Yes | ||
| window | No | Window size in periods (2-100) | |
| indicator | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint false, so the safety profile is clear. The description adds that it computes rolling statistics and the specific operations, but does not disclose that the 'full' parameter can return heavy data (though this is in the schema). Overall, it adds moderate context beyond 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?
The description is two sentences long, front-loads the core functionality, and contains no redundant words. Every sentence adds value.
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 moderate complexity (6 parameters, no output schema), the description is too minimal. It omits the output format, does not mention the required parameters (entity, indicator), and lacks any information about window defaults or optionality, making it inadequate for complete understanding.
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 50% (3 of 6 parameters have descriptions: op, full, window). The description does not add any parameter-specific details beyond what the schema provides, failing to compensate for the undocumented 'time', 'entity', and 'indicator' 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 explicitly states it computes rolling window statistics (mean, std, min, max, sum) for an indicator, which is clear and specific. However, it does not differentiate from sibling tools like 'correlate' or 'regression', though the rolling window concept implies temporal analysis.
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 only implies use cases ('smooths noise, reveals trends') but gives no explicit guidance on when to use this tool vs alternatives like 'lag_analysis' or 'seasonality_decomposition'. It also does not mention prerequisites 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.
search_datasetsARead-onlyIdempotentInspect
Search the Autario public data catalog. Returns dataset IDs, titles, descriptions, categories, publishers, row counts, last_refreshed_at, AND trusted ontology fields (topic, subtopic, unit, frequency, entity_type, indicator_id) when ontology confidence is high. Use this first to discover available datasets before querying. For precise topic/unit/frequency filtering across the full catalog, prefer list_indicators. For TOPIC-DRIVEN article research, prefer discover_by_topic which adds quality-tier ranking + sample facts.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default 1) | |
| limit | No | Maximum number of results to return (default 20, max 100) | |
| query | No | Search term to match against dataset titles, descriptions, and keywords (e.g. "GDP growth", "CO2 emissions", "unemployment rate") | |
| format | No | Output wire format for this MCP call. Default 'toon' (Token-Oriented Notation, fewest tokens, best for tabular rows). 'compact' = minified JSON. 'json' = pretty JSON for readability. The REST API always returns JSON regardless. | |
| category | No | Filter by category. Options: "Finance & Economics", "Trade", "Technology", "Health & Society", "Energy", "Environment", "Demographics", "Education", "Infrastructure" |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds value by specifying the return fields (including conditional ontology fields) and the scope of the search. It does not contradict annotations and provides useful behavioral context beyond the 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?
The description is three sentences long, front-loaded with the core purpose and return value, followed by usage guidance and alternatives. Every sentence adds value without redundancy or unnecessary detail.
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 tool with 5 optional parameters, no output schema, and many siblings, the description provides sufficient context: it lists return fields, gives usage guidance, and points to alternatives. It could mention pagination limits but those are already in the schema. No major gaps remain.
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% with all parameters described. The description adds little beyond the schema, providing examples for the query parameter but no additional semantic meaning. Baseline score of 3 is appropriate as the schema already adequately documents 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 clearly states the tool searches the Autario public data catalog and lists the specific return fields. It differentiates itself from sibling tools by indicating when to use alternatives like list_indicators or discover_by_topic.
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 advises to 'Use this first to discover available datasets before querying' and provides clear alternatives: for precise filtering prefer list_indicators, for topic-driven research prefer discover_by_topic. This gives strong guidance on when to use this tool versus others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seasonality_decompositionARead-onlyIdempotentInspect
Additive decomposition Y = trend + seasonal + residual. Use this to strip the seasonal cycle from a series and reveal the underlying trend | great for monthly or quarterly data (retail sales, unemployment). Returns per-timepoint components + summary amplitude.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No | Return the full raw time series (heavy, many tokens). Default false → you get only the summary/stats, which is enough to ANSWER a question. Set true only when you must plot or export every point. | |
| time | No | ||
| entity | Yes | ||
| period | No | Seasonal period in time steps (12=monthly, 4=quarterly, 7=weekly). Auto-inferred from indicator frequency if omitted. | |
| indicator | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as readOnly and idempotent. The description adds behavioral details: it returns per-timepoint components plus summary amplitude, and warns that setting 'full' to true returns a heavy raw series. No contradictions.
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 two sentences: first explains the method, second provides usage guidance and return information. No redundant words, tightly written.
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 5 parameters and no output schema, the description covers the decomposition formula, typical use cases, and return type (components + amplitude). It could be more detailed about output interpretation, but it's adequate.
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 40%. The description adds context for 'period' by mentioning monthly/quarterly data, and for 'full' by noting it returns heavy series. But it does not cover other parameters like 'time' or 'entity', and the added value beyond the schema is minimal.
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 'Additive decomposition Y = trend + seasonal + residual' and explains it strips the seasonal cycle to reveal underlying trend. It provides specific use examples (retail sales, unemployment) that differentiate it from other time series tools, though it doesn't explicitly name 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?
The description explicitly says 'Use this to strip the seasonal cycle' and notes it's 'great for monthly or quarterly data', providing clear context. However, it does not mention when to avoid using it or name alternative tools like rolling_stats or regression.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_chartAIdempotentInspect
Update an existing chart you own. Only the API key that created the chart can update it. Use this to modify the Plotly spec, title, or insight of a previously published chart.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Updated chart title | |
| insight | No | Updated insight text with verified numbers | |
| chart_id | Yes | The chart ID or slug returned by publish_chart | |
| narration | No | Updated analysis description | |
| plotly_spec | Yes | Updated Plotly specification with traces and layout |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide safety profile (not read-only, not destructive, idempotent). Description adds behavioral context: ownership constraint and typical mutation behavior. No contradictions with 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 concise sentences, front-loaded with purpose. Every sentence provides unique value: purpose, ownership constraint, and typical use. No redundant or filler content.
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?
Adequate for a mutation tool with 5 parameters and no output schema. Covers purpose, ownership, and typical modifications. Lacks note on return value or effect on unspecified fields, but not critical given schema richness.
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 covers all 5 parameters (100% coverage). Description mentions three key fields (plotly_spec, title, insight) but adds no additional meaning beyond what schema provides. Baseline score 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?
Description explicitly states 'Update an existing chart you own' with specific verb and resource. It enumerates modifiable fields (Plotly spec, title, insight), distinguishing from create (publish_chart) and read (get_chart) operations.
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?
Describes when to use: to modify a previously published chart. Includes ownership restriction: 'Only the API key that created the chart can update it.' No explicit when-not-to-use or sibling alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_valueARead-onlyIdempotentInspect
Verify that a claimed value is correct. Use this when a user asks "did you hallucinate that?" or when you want to double-check your cited numbers before presenting. Pass the indicator, entity, time, and your expected value. Returns whether autario's live value matches, with relative difference and provenance.
| Name | Required | Description | Default |
|---|---|---|---|
| time | Yes | Time period (e.g. "2023" or "2023-06") | |
| entity | Yes | Entity code (e.g. DEU, USA, EUU) | |
| expected | No | The value you want to verify. Omit for existence-only check. | |
| indicator | Yes | Indicator ID |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, indicating a safe read operation. The description adds valuable behavioral details: it returns whether the value matches, plus relative difference and provenance, and explains the optional existence-only check.
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 extremely concise with two sentences, front-loaded with the core purpose. Every sentence adds value, no verbose or redundant wording.
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 lacking an output schema, the description explains what the tool returns (match, relative difference, provenance). It covers primary use cases, optional behavior, and input requirements, making it fully complete for a verification tool.
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%, but the description adds meaning by explaining the role of each parameter in the verification process and explicitly mentions that 'expected' can be omitted for existence-only checks, which is not in 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?
The description uses a specific verb-resource pair ('Verify that a claimed value is correct') and provides concrete use cases (hallucination checks, double-checking numbers). It clearly distinguishes from siblings by focusing on verification, which no other tool does.
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 explicitly states when to use the tool (user asks about hallucination, double-checking cited numbers) but does not mention when to avoid it or suggest alternatives. However, given the context of siblings, the usage is well-defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
what_mattersARead-onlyIdempotentInspect
HEADLINE OP: given an outcome metric + entity, rank which other metrics best explain the outcome. Auto-selects candidates from the ontology if candidates is omitted (same topic + entity_type). Returns a ranking with confidence labels (strong/suggestive/weak/inconclusive) + reason strings + sharpen-suggestions pointing at related domains not yet included. Frequencies are auto-aligned to the coarser common grain — no inflated n-counts. Use this instead of find_drivers when you want a narrative-grade answer.
| Name | Required | Description | Default |
|---|---|---|---|
| time | No | ||
| entity | Yes | Entity code (e.g. USA, DEU) | |
| outcome | Yes | Indicator id of the outcome metric | |
| candidates | No | Optional comma-separated candidate indicator ids. If omitted, auto-selects from ontology. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive. Description adds rich details: returns confidence labels (strong/suggestive/weak/inconclusive), reason strings, sharpen-suggestions, and auto-aligned frequencies. No contradictions.
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 slightly long but well-structured. It front-loads the core purpose and then adds necessary details. Every sentence adds value, though it could be tightened slightly.
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 lacking an output schema, the description thoroughly explains return values (ranking with labels, reasons, sharpen-suggestions) and behavior (frequency alignment, auto-selection). It is complete for a read-only analytical tool.
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 75% (time parameter missing description). Description adds value by explaining that omitting 'candidates' auto-selects from ontology, and mentions frequency alignment related to time. Compensates well for the gap.
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 starts with a clear statement: 'given an outcome metric + entity, rank which other metrics best explain the outcome.' It uses specific verbs and resources, and explicitly distinguishes from the sibling tool 'find_drivers'.
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?
Provides explicit guidance: 'Use this instead of find_drivers when you want a narrative-grade answer.' Also explains the auto-selection behavior when 'candidates' is omitted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
write_rowsAInspect
Append rows of data to an existing dataset. The schema is automatically inferred from the first batch. All values are stored as text. Maximum 10,000 rows per call; use multiple calls for larger datasets. Requires AUTARIO_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| rows | Yes | Array of row objects where keys are column names (e.g. [{"country": "USA", "year": "2024", "value": "25000"}]) | |
| dataset_id | Yes | The UUID of the dataset to append rows to |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals behaviors beyond annotations: schema auto-inference, all values stored as text, and a row limit. Annotations already indicate non-read-only, non-idempotent, and open-world behavior, and description adds context without contradiction.
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 concise sentences, front-loading the purpose and efficiently covering key constraints (schema inference, storage type, row limit, auth). No unnecessary 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?
For a simple two-parameter tool with no output schema, the description covers purpose, constraints, and requirements. It could mention error handling or idempotency, but overall it is sufficiently 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 description coverage is 100%, so the description adds minimal value for parameter semantics. It reinforces the append action but does not elaborate on parameter details 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?
The description clearly states that the tool appends rows to an existing dataset, using specific verbs and resources. It distinguishes from sibling tools like clear_rows and create_dataset by focusing on appending data.
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 provides a row limit (10,000 per call) and mentions the required API key, but it does not explicitly state when not to use this tool or offer alternatives like clear_rows for replacing data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!