Hosted MCP server · #110 most used on Smithery

autario

autario/data

autario is data app infrastructure: your tools and thousands of public datasets in one normalized layer, with the data apps that run on top of it. Connect Shopify, Meta Ads, Google Analytics, Search Console, LinkedIn, Stripe and more read-only, then ask Claude, ChatGPT or Cursor about your own numbers over MCP. No code, no export. ## How it works 1. Connect a service at https://autario.com/connectors. Each connector has its own page with the reports it reads. 2. Add https://autario.com/mcp to your assistant. 3. Ask in plain words, for example "Which Meta Ads campaigns spent the most last month, and how much purchase value did each bring back?" ## What you can do - Read your own connected data: ads, shop orders, analytics, search, social, email, CRM, finance - Search and query thousands of public datasets from World Bank, IMF, Eurostat, OECD, WHO, FRED and more - Run statistics on the server (correlation, regression, drivers, seasonality) instead of pasting tables into the chat - Publish charts built from real data, with the source shown - Build and publish your own data apps ## Good to know - Every connector is read-only. - Public data needs no setup. Your own data uses OAuth sign-in or API keys from https://autario.com/account ## Links - Connectors: https://autario.com/connectors - Documentation: https://autario.com/documentation - Security: https://autario.com/security - npm: npx autario-mcp

Uses
5.1k
Tools
58
Runs
Hosted
Prompts
3
Listed
7mo ago

Get started

Add it to your agent

npx -y @smithery/cli@latest install autario/data --client claude

Swap --client claude for cursor, vscode, windsurf or another client. The CLI asks for any required settings.

What it can do

58 tools

discover_by_topic4 paramsDiscover the most relevant verified datasets for a given topic, across the public autario catalog (World Bank, FRED, Eurostat, OECD, IMF,…

Discover the most relevant verified datasets for a given topic, across the public autario catalog (World Bank, FRED, Eurostat, OECD, IMF, WHO, ECB, US Census, SEC). 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 quali

ParameterTypeDescription
limitnumberMax datasets to return (1-50, default 10).
topicstringThe 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"
depth_prefstringPreferred dataset shape. "timeseries" for trend articles (daily/weekly/monthly/quarterly/yearly cadence), "cross-sectional" for snapshots (rankings, lists), "any" for no preference.
recency_windowstringFilter by data freshness. Default "any" returns all datasets regardless of last_refreshed_at; tighter windows for time-sensitive articles.
search_datasets6 paramsSearch the Autario data catalog by keyword | thousands of normalized public datasets from World Bank, FRED, Eurostat, OECD, WHO, IMF, ECB…

Search the Autario data catalog by keyword | thousands of normalized public datasets from World Bank, FRED, Eurostat, OECD, WHO, IMF, ECB, US Census and SEC, plus your own uploads and connector tables (Google Search Console, GA4, Meta Ads, Google Ads, YouTube, TikTok, Instagram, Facebook, Shopify, LinkedIn, Bing). Returns dataset IDs, titles, descriptions, categories, publishers, row counts, last_refreshed_at, AND trusted ontology fields (topic, subtopic, unit, frequency, entity_type, indicator_

ParameterTypeDescription
pagenumberPage number for pagination (default 1)
limitnumberMaximum number of results to return (default 20, max 100)
querystringSearch term to match against dataset titles, descriptions, and keywords (e.g. "GDP growth", "CO2 emissions", "unemployment rate")
formatstringOutput 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 alwa
categorystringFilter by category. Options: "Finance & Economics", "Trade", "Technology", "Health & Society", "Energy", "Environment", "Demographics", "Education", "Infrastructure"
visibilitystringWhich datasets to search: "public" catalog only, "private" only your own datasets, "both". Default: "both" when authenticated, "public" otherwise. Other users' private datasets are never returned.
get_dataset_info2 paramsGet full metadata for a specific dataset including title, description, publisher (World Bank, FRED, Eurostat, OECD, WHO, IMF, ECB, US Cen…

Get full metadata for a specific dataset including title, description, publisher (World Bank, FRED, Eurostat, OECD, WHO, IMF, ECB, US Census, SEC, or your own connector), 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

ParameterTypeDescription
formatstringOutput 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 alwa
dataset_idstringThe UUID of the dataset to retrieve metadata for
get_dataset_schema2 paramsGet the column names, data types, total row count, AND a machine-legible `datasheet` for a dataset. Always call this before query_dataset…

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|mixe

ParameterTypeDescription
formatstringOutput 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 alwa
dataset_idstringThe UUID of the dataset to get the schema for
query_dataset11 paramsQuery the rows of ONE dataset | a public table from World Bank, FRED, Eurostat, OECD, WHO, IMF, ECB, US Census or SEC, or one of your own…

Query the rows of ONE dataset | a public table from World Bank, FRED, Eurostat, OECD, WHO, IMF, ECB, US Census or SEC, or one of your own uploads / connector tables (Google Search Console, GA4, Meta Ads, Shopify), or a table another account shared with you (read-only, listed by get_my_workspace under shared_with_you) | with optional filtering, sorting, and field selection. Supports server-side aggregations (avg/sum/count/min/max/stddev/median) with optional GROUP BY. All aggregates are numerical

ParameterTypeDescription
sortstringSort column and direction (e.g. "year:desc", "value:asc"). Aggregate aliases work too (e.g. "sum_value:desc")
limitnumberMaximum number of rows to return (default 100, max 10000)
fieldsstringComma-separated list of columns to return (e.g. "country_code,year,value")
filterarrayFilter conditions as "column:operator:value". Operators: eq, neq, gt, lt, gte, lte, like. Example: ["country_code:eq:USA", "year:gte:2000"]
formatstringOutput 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 alwa
offsetnumberNumber of rows to skip for pagination (default 0)
groupbystringComma-separated columns for GROUP BY (only valid with aggregate). Example: "country,year". Use with aggregate to compute per-group statistics.
aggregatestringComma-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)
dataset_idstringThe UUID of the dataset to query
summary_onlybooleanReturn 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. Def
non_null_onlybooleanDrop rows whose value is null or storage junk (datasets are often mostly empty). Use to avoid wasting tokens on null rows. Default false.
create_dataset4 paramsCreate a new empty dataset on Autario, alongside the public catalog (World Bank, FRED, Eurostat, OECD, SEC) but private to you unless you…

Create a new empty dataset on Autario, alongside the public catalog (World Bank, FRED, Eurostat, OECD, SEC) but private to you unless you set is_public. Returns a dataset_id you can populate with write_rows, then query with query_dataset and chart with create_chart_from_spec. SEARCH FIRST: only create a dataset if search_datasets / list_indicators shows the data does not already exist on Autario. Requires AUTARIO_API_KEY.

ParameterTypeDescription
titlestringDataset title (e.g. "Global CO2 Emissions by Country")
categorystringCategory for the dataset (e.g. "Finance & Economics", "Health & Society", "Environment")
is_publicbooleanWhether the dataset is publicly visible (default false)
descriptionstringDescription of the dataset contents, source, and methodology
write_rows2 paramsAppend rows of data to an existing dataset you own (from create_dataset) | your own numbers, a derived table you computed, or a series yo…

Append rows of data to an existing dataset you own (from create_dataset) | your own numbers, a derived table you computed, or a series you scraped together from World Bank / FRED / Eurostat results. 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.

ParameterTypeDescription
rowsarrayArray of row objects where keys are column names (e.g. [{"country": "USA", "year": "2024", "value": "25000"}])
dataset_idstringThe UUID of the dataset to append rows to
clear_rows1 paramDelete all rows from a dataset you own while keeping the schema and columns intact. Useful for refreshing your own uploaded table before …

Delete all rows from a dataset you own while keeping the schema and columns intact. Useful for refreshing your own uploaded table before re-importing. Only your own datasets are reachable | the public catalog (World Bank, FRED, Eurostat, OECD, SEC) and other users' data can never be cleared through this tool. Requires AUTARIO_API_KEY.

ParameterTypeDescription
dataset_idstringThe UUID of the dataset to clear all rows from
delete_dataset1 paramPermanently delete a dataset you own, and all its data. This action cannot be undone. Only the dataset owner can delete it | the public c…

Permanently delete a dataset you own, and all its data. This action cannot be undone. Only the dataset owner can delete it | the public catalog (World Bank, FRED, Eurostat, OECD, SEC) is a permanent URL contract and is not deletable through this tool. Requires AUTARIO_API_KEY.

ParameterTypeDescription
dataset_idstringThe UUID of the dataset to permanently delete
list_connectorsList the platform connectors set up on this Autario account: search, web and product analytics, ads, social, commerce, payments, AI usage…

List the platform connectors set up on this Autario account: search, web and product analytics, ads, social, commerce, payments, AI usage and developer platforms. The answer names each connected platform, so call this instead of guessing which ones exist. Each entry carries its live dataset_id (queryable via query_dataset), datasets[] (ALL datasets the connector materialized | multi-report connectors produce one per report), refresh interval, last refresh time, and `health`: state (ok | stale |

refresh_connector1 paramPull the latest numbers from one connected platform right now and refresh its hosted Postgres table on Autario. Works for whatever that c…

Pull the latest numbers from one connected platform right now and refresh its hosted Postgres table on Autario. Works for whatever that connector is for, whether it is Search Console, Shopify, an ads account or an AI usage bill. Use when health.state is stale or never_ran, or the user says "get the latest". The answer is the finished run: status (refreshed | failed), rows, dataset_id and `health` with one outcome per report (delivered | empty | not_fetched, with the sentence why) and next_step.

ParameterTypeDescription
connector_idstringThe id of the connector instance to refresh (from list_connectors).
get_connector_status1 paramExplain the state of ONE connected platform (Search Console, Shopify, an ads account, an AI usage bill): is its data fresh, which reports…

Explain the state of ONE connected platform (Search Console, Shopify, an ads account, an AI usage bill): is its data fresh, which reports arrived, which came back empty because the account has no such data, which did not arrive and why, and who has to act. Returns the connector plus `health`: state (ok | stale | needs_sign_in | reports_missing | retrying | ours | never_ran | running), sentence, last_run_at, last_success_at, schedule, next_run_at, data_as_of per dataset (basis data_day = newest d

ParameterTypeDescription
connector_idstringThe id of the connector instance (from list_connectors).
report_data_issue5 paramsReport a data-quality problem you found in an autario dataset or chart (World Bank, FRED, Eurostat, OECD, WHO, IMF, ECB, US Census, SEC o…

Report a data-quality problem you found in an autario dataset or chart (World Bank, FRED, Eurostat, OECD, WHO, IMF, ECB, US Census, SEC or any other publisher in the catalog), 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

ParameterTypeDescription
detailstringOne-sentence human-readable summary of the issue.
evidenceobjectThe 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":
severitystringHow bad it is for end users. high = wrong/misleading numbers shown publicly. Default medium.
dataset_idstringThe 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_typestringWhat 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 use
get_company_snapshot2 paramsGet current stock metrics for a public company, from live market data joined with its SEC filings. Use this whenever a user asks about st…

Get current stock metrics for a public company, from live market data joined with its SEC filings. 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,

ParameterTypeDescription
tickerstringStock ticker symbol, e.g. AAPL, MSFT, INTC, NVDA, SAP, BMW
metricsarrayMetrics 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.
list_indicators7 paramsBrowse the Autario indicator registry, the semantic layer over the whole public catalog (World Bank, FRED, Eurostat, OECD, WHO, IMF, ECB,…

Browse the Autario indicator registry, the semantic layer over the whole public catalog (World Bank, FRED, Eurostat, OECD, WHO, IMF, ECB, US Census, SEC). Each indicator has a topic (economy, health, energy, …), unit (USD, %, years, …), frequency (year/month/day), and entity_type (country/subnational/aggregate), and can be filtered by publisher. Use this to discover what data is available before querying it, and to get the indicator IDs that get_entity_data, compare_entities and every stats tool

ParameterTypeDescription
unitstringFilter by unit: USD | EUR | % | per capita | per 1000 | years | tonnes | tonnes CO2 | GWh | TWh | index | count | …
limitnumberMax results (default 50, max 500)
topicstringFilter by topic: economy | finance | trade | marketing | health | demographics | education | energy | environment | food | technology | media | housing | transport | tourism | space | government | mil
searchstringFull-text search across indicator titles + descriptions
frequencystringFilter by frequency: year | quarter | month | week | day
publisherstringFilter by publisher (World Bank, Eurostat, FRED, WHO, …)
entity_typestringFilter by entity_type: country | subnational | aggregate | company | security
get_entity_profile5 paramsGet the indicators available for one entity (country, aggregate, etc.). Returns indicator IDs with metadata + time coverage, sorted by ob…

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).

ParameterTypeDescription
limitnumberMax indicators to return (default 100, max 500)
topicstringOptional: filter indicators by topic
formatstringOutput 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 alwa
offsetnumberPagination offset (default 0). When has_more is true, pass offset = previous offset + returned for the next page.
entity_idstringEntity code (e.g. "DEU" for Germany, "USA" for United States, "EUU" for European Union, "WLD" for World)
get_entity_data5 paramsFetch data for ONE entity across MULTIPLE indicators, joined automatically on time via shadow columns, even when the indicators come from…

Fetch data for ONE entity across MULTIPLE indicators, joined automatically on time via shadow columns, even when the indicators come from different publishers (World Bank GDP next to FRED unemployment next to Eurostat energy). 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 | eno

ParameterTypeDescription
fullbooleanReturn 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.
timestringOptional time range, e.g. "2010-2023" or "2020". Format: YYYY or YYYY-YYYY
formatstringOutput 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 alwa
entity_idstringEntity code (e.g. "DEU", "USA", "EUU")
indicatorsarrayIndicator IDs (max 10). Get these from list_indicators or get_entity_profile.
compare_entities5 paramsCompare ONE indicator across MULTIPLE entities (e.g. World Bank GDP of DEU vs USA vs CHN, or a FRED / Eurostat / OECD series across count…

Compare ONE indicator across MULTIPLE entities (e.g. World Bank GDP of DEU vs USA vs CHN, or a FRED / Eurostat / OECD series across countries). 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

ParameterTypeDescription
fullbooleanReturn 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.
timestringOptional time range: "2010-2023" or "2020"
formatstringOutput 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 alwa
entitiesarrayEntity codes to compare (max 50). E.g. ["DEU","USA","CHN"]
indicatorstringIndicator ID to compare. Get from list_indicators.
verify_value4 paramsVerify that a claimed value is correct against the primary source (World Bank, FRED, Eurostat, OECD, WHO, IMF, ECB, US Census, SEC). Use …

Verify that a claimed value is correct against the primary source (World Bank, FRED, Eurostat, OECD, WHO, IMF, ECB, US Census, SEC). 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. If your time= matches more than one observation (e.g. a year on a monthly series) you get reason

ParameterTypeDescription
timestringTime period (e.g. "2023" or "2023-06")
entitystringEntity code (e.g. DEU, USA, EUU)
expectednumberThe value you want to verify. Omit for existence-only check.
indicatorstringIndicator ID
correlate5 paramsCompute Pearson + Spearman correlation between two indicators for one entity. Returns r, p-value, n, and human-readable interpretation. U…

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. Runs on any verified autario indicator (World Bank, FRED, Eurostat, OECD, IMF, WHO, ECB, US Census, SEC).

ParameterTypeDescription
astringFirst indicator ID
bstringSecond indicator ID
fullbooleanReturn 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.
timestringOptional time range: "2010-2023"
entitystringEntity code (e.g. DEU)
regression5 paramsLinear regression of y ~ x for one entity. Returns slope, intercept, R² and interpretation. Use for "how does X predict Y?" questions. Ru…

Linear regression of y ~ x for one entity. Returns slope, intercept, R² and interpretation. Use for "how does X predict Y?" questions. Runs on any verified autario indicator (World Bank, FRED, Eurostat, OECD, IMF, WHO, ECB, US Census, SEC).

ParameterTypeDescription
xstringIndependent variable (predictor) indicator ID
ystringDependent variable (target) indicator ID
fullbooleanReturn 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.
timestring
entitystring
pct_change5 paramsPeriod-over-period percentage change for an indicator. Use for growth rates (YoY, QoQ, MoM) | "how fast did German GDP grow", "what is US…

Period-over-period percentage change for an indicator. Use for growth rates (YoY, QoQ, MoM) | "how fast did German GDP grow", "what is US CPI doing month over month". Runs on any verified autario indicator (World Bank, FRED, Eurostat, OECD, IMF, WHO, ECB, US Census, SEC).

ParameterTypeDescription
fullbooleanReturn 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.
timestring
entitystring
periodstringyoy | qoq | mom (default: yoy)
indicatorstring
rolling_stats6 paramsRolling window statistics (mean/std/min/max/sum) for an indicator. Smooths noise, reveals trends | use it before claiming a turning point…

Rolling window statistics (mean/std/min/max/sum) for an indicator. Smooths noise, reveals trends | use it before claiming a turning point in a monthly FRED or Eurostat series. Runs on any verified autario indicator (World Bank, FRED, Eurostat, OECD, IMF, WHO, ECB, US Census, SEC).

ParameterTypeDescription
opstringmean | std | min | max | sum
fullbooleanReturn 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.
timestring
entitystring
windownumberWindow size in periods (2-100)
indicatorstring
find_drivers4 paramsRank candidate drivers of a KPI one at a time: given a target indicator + multiple candidates, order them by correlation strength. Perfec…

Rank candidate drivers of a KPI one at a time: given a target indicator + multiple candidates, order them 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. Use decompose_drivers instead when the candidates may overlap. Runs on any verified autario indicator (World Bank, FRED, Eurostat, OECD, IMF, WHO, ECB, US Census, SEC).

ParameterTypeDescription
timestring
entitystringEntity code (e.g. DEU)
candidatesarrayCandidate indicator IDs to test (max 30)
target_indicatorstringThe KPI you want to explain
decompose_drivers5 paramsCONFOUNDER-AWARE DRIVER ANALYSIS: fits ONE multiple regression of the target on ALL candidates jointly, so each effect is estimated holdi…

CONFOUNDER-AWARE DRIVER ANALYSIS: fits ONE multiple regression of the target on ALL candidates jointly, so each effect is estimated holding the other candidates constant. Distinguishes "it was the weather" from "a promo ran at the same time": candidates too entangled to separate (VIF > 5 or pairwise |r| > 0.8) are flagged not_separable (named pairs) instead of ranked with a confident wrong number. Returns per candidate: standardized coefficient (effect size), raw slope, p-value, VIF, pairwise r

ParameterTypeDescription
timestring
entitystringEntity code (e.g. DEU). Omit for entity-less private series.
max_lagnumberMax lead/lag periods to scan per candidate (0 disables, default 5, max 20)
candidatesarrayCandidate indicator ids to decompose jointly (2-15)
target_indicatorstringThe KPI you want to explain
lag_analysis5 paramsCross-correlation at multiple lags. Answers "does A lead or lag B?". Peak |r| at positive lag means A precedes B by that many periods. Co…

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?". Runs on any verified autario indicator (World Bank, FRED, Eurostat, OECD, IMF, WHO, ECB, US Census, SEC).

ParameterTypeDescription
astringFirst indicator id (candidate leading series)
bstringSecond indicator id (candidate lagging series)
timestring
entitystringEntity code (e.g. USA)
max_lagnumberMax lag in periods (1-20, default 5)
seasonality_decomposition5 paramsAdditive decomposition Y = trend + seasonal + residual. Use this to strip the seasonal cycle from a series and reveal the underlying tren…

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. Runs on any verified autario indicator (World Bank, FRED, Eurostat, OECD, IMF, WHO, ECB, US Census, SEC).

ParameterTypeDescription
fullbooleanReturn 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.
timestring
entitystring
periodnumberSeasonal period in time steps (12=monthly, 4=quarterly, 7=weekly). Auto-inferred from indicator frequency if omitted.
indicatorstring
describe3 paramsSummary statistics for a single indicator+entity: n, mean, median, std, min/max, quartiles, skew, histogram. Use FIRST before running any…

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). Runs on any verified autario indicator (World Bank, FRED, Eurostat, OECD, IMF, WHO, ECB, US Census, SEC).

ParameterTypeDescription
timestring
entitystring
indicatorstring
calculate8 paramsCreate a derived series from two indicators using an Excel-style op: ratio (A/B), ratio_pct (A/B*100), diff (A-B), sum (A+B), product (A*…

Create a derived series from two indicators using an Excel-style op: ratio (A/B), ratio_pct (A/B*100), diff (A-B), sum (A+B), product (A*B). Returns the per-timepoint result + summary. Use for things like debt-to-GDP ratio, revenue-per-employee, spread between two yields. autario refuses to combine columns of different kinds. Read the semantics field of the schema before combining two columns. A refused call answers error_code incompatible_semantics with both columns, the reason, and the ops tha

ParameterTypeDescription
astring
bstring
opstringratio | ratio_pct | diff | sum | product
fullbooleanReturn 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.
timestring
entitystring
reasonstringWhy the refused combination is correct here. Returned with the result so a human can audit the decision.
overridebooleanCompute a combination autario refused as incompatible. Requires `reason`.
what_matters4 paramsAnswer "what explains this?" in one call: given an outcome metric + entity, rank which other metrics best explain the outcome. Auto-selec…

Answer "what explains this?" in one call: 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), so it can reach across World Bank, FRED, Eurostat, OECD, WHO and IMF series without you naming them. Returns a ranking with confidence labels (strong/suggestive/weak/inconclusive) + reason strings + sharpen-suggestions pointing at related domains not yet included. Frequencies

ParameterTypeDescription
timestring
entitystringEntity code (e.g. USA, DEU)
outcomestringIndicator id of the outcome metric
candidatesstringOptional comma-separated candidate indicator ids. If omitted, auto-selects from ontology.
list_charts4 paramsList published chart visualizations on Autario, built on the public catalog (World Bank, FRED, Eurostat, OECD, WHO, IMF, SEC) and rendere…

List published chart visualizations on Autario, built on the public catalog (World Bank, FRED, Eurostat, OECD, WHO, IMF, SEC) and rendered with Plotly. Returns chart IDs, titles, insights, linked datasets, and creation dates. Use to discover existing analyses before building a new one, and to find a shareable autario.com/chart/{id} link for an answer.

ParameterTypeDescription
qstringSearch term to filter charts by title or question
limitnumberMaximum number of charts to return (default 20, max 100)
formatstringOutput 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 alwa
offsetnumberNumber of charts to skip for pagination
list_chart_candidates1 paramAUTARIO-INTERNAL chart queue (admin only): list catalog datasets (World Bank, FRED, Eurostat, OECD, WHO, IMF, SEC) that have NO published…

AUTARIO-INTERNAL chart queue (admin only): list catalog datasets (World Bank, FRED, Eurostat, OECD, WHO, IMF, SEC) 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 transpare

ParameterTypeDescription
limitnumberMax datasets to return (default 25, max 200)
get_chart2 paramsGet 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 m…

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}.

ParameterTypeDescription
formatstringOutput 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 alwa
chart_idstringThe chart ID (numeric) or slug (hash like "nMGf-iAO") to retrieve
chart_instructionsGet the Builder spec schema reference. Returns chart_type enum, required/optional fields per type, palette options, axis-override shape, …

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.

request_chart6 paramsAUTARIO-INTERNAL high-level chart request (admin only): the server builds the Plotly chart from a catalog dataset (World Bank, FRED, Euro…

AUTARIO-INTERNAL high-level chart request (admin only): the server builds the Plotly chart from a catalog dataset (World Bank, FRED, Eurostat, OECD, WHO, IMF, SEC), 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. IMPORTAN

ParameterTypeDescription
timestringOPTIONAL time-range hint (e.g. "2010-2024"). Soft preference; the server uses the actual data span.
querystringFree-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 wi
regionstringOPTIONAL hint to focus a multi-country dataset on a region/entity (e.g. "G7", "Europe"). Soft preference; the server picks the final entity set.
insightstringYour 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-enti
chart_typestringOPTIONAL 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_idstringUUID of the dataset to chart (from search_datasets / discover_by_topic / list_chart_candidates). Preferred when you already know the dataset.
create_chart_from_spec5 paramsPREFERRED chart-creation path, for any autario dataset (World Bank, FRED, Eurostat, OECD, SEC, or your own upload / connector table). Sen…

PREFERRED chart-creation path, for any autario dataset (World Bank, FRED, Eurostat, OECD, SEC, or your own upload / connector table). Send a structured Builder spec (chart_type + x_col + y_col[s] + optional group_by, palette, axis overrides, annotations) and Autario renders the Plotly 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 | hallu

ParameterTypeDescription
titlestringChart 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 ti
insightstring2-3 sentence data insight using ONLY numbers from query_dataset/get_dataset_schema results. Hallucinated numbers are rejected with the available anchor list.
narrationstringLonger description (optional, defaults to insight)
dataset_idsarrayUUID array of datasets backing this chart. Autario pulls real data from these tables.
builder_specobjectStructured Builder spec. Required: chart_type + x_col + y_col/y_cols (axis charts), label_col + value_col (pie/donut), x_col + group_by + value_col (heatmap). Optional: group_by, group_values, facet_b
publish_chart5 paramsPublish a chart via freeform Plotly spec. Use create_chart_from_spec instead unless you need a Plotly feature the Builder spec doesn't co…

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.

ParameterTypeDescription
titlestringChart title. Include time range in parentheses, use pipe | as separator (e.g. "GDP Growth | Major Economies (2000-2024)")
insightstring2-3 sentence data insight with specific numbers from the queried data. Must use verified numbers from query_dataset results, never from training data
narrationstringLonger description of the analysis methodology and context
dataset_idsarrayArray of dataset UUIDs that this chart uses. Autario pulls real data from these datasets to ensure no hallucinated values
plotly_specobjectPlotly 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", "gro
update_chart5 paramsUpdate 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 in…

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.

ParameterTypeDescription
titlestringUpdated chart title
insightstringUpdated insight text with verified numbers
chart_idstringThe chart ID or slug returned by publish_chart
narrationstringUpdated analysis description
plotly_specobjectUpdated Plotly specification with traces and layout
get_traction_overviewADMIN/CURATOR ONLY, autario's own traction. ONE report uniting the three real signal sources: real human reach (GA4-humans), the MCP/agen…

ADMIN/CURATOR ONLY, autario's own traction. 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), the signup funnel (new signups, source/medium/trigger) and the activation half of it (charts created, charts published, publish failures, logins), 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 usa

get_engine_report3 paramsADMIN/CURATOR ONLY, autario's own ingest engine. The machine-readable health of the pipeline that pulls World Bank, FRED, Eurostat, OECD,…

ADMIN/CURATOR ONLY, autario's own ingest engine. The machine-readable health of the pipeline that pulls World Bank, FRED, Eurostat, OECD, WHO, IMF, ECB, US Census and SEC into the catalog, in ONE snapshot: the ingestion funnel (sources registered to user-visible datasets, with every drop-off labelled by reason | policy-excluded, quarantined, errored, empty), the dirty backlog, shadow-column coverage WITH the concrete asset list still needing backfill, per-provider health, the top failure pattern

ParameterTypeDescription
formatstringOutput 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 alwa
trendsbooleanAlso return the day-bucketed engine run/event history (default false). Use it to compare before and after an engine change.
trend_daysintegerHow many days of history when trends=true (default 30, max 90).
list_apps1 paramList the autario data apps (the app catalog): id, name, what each app does, its live page URL, and data_scope (private = the app works on…

List the autario data apps (the app catalog): id, name, what each app does, its live page URL, and data_scope (private = the app works on the caller's own connected data from Google Search Console, GA4, Meta Ads, Google Ads, YouTube, TikTok, Instagram, Facebook, Shopify or LinkedIn; public = it runs on public autario datasets only). Includes AI Visibility 360 (which brands ChatGPT, Claude, Gemini and Perplexity recommend), SEO 360, Social 360, Audience 360 and Bubble Or Not. When the caller is a

ParameterTypeDescription
formatstringOutput 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 alwa
get_app_context2 paramsThe data map behind ONE autario app, so you can query app-first instead of guessing across thousands of datasets. Returns the app manifes…

The data map behind ONE autario app, so you can query app-first instead of guessing across thousands of datasets. Returns the app manifest (what it consumes, which connector providers it reads | Google Search Console, GA4, Google Ads, Meta Ads, YouTube, TikTok, Instagram, Facebook, Shopify, LinkedIn, Bing) and, for an authenticated caller, YOUR OWN reality behind it: your connector-instance tables (per-operation table with column list, row count, backing dataset_id and last refresh), your saved

ParameterTypeDescription
app_idstringApp id from list_apps, e.g. "audience-360", "company-compare", "projects", "builder".
formatstringOutput 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 alwa
get_my_workspace1 paramYOUR data-app workspace in ONE call: every autario app the calling user has activated or connected, each with its platforms (Google Searc…

YOUR data-app workspace in ONE call: every autario app the calling user has activated or connected, each with its platforms (Google Search Console, GA4, Google Ads, Meta Ads, YouTube, TikTok, Instagram, Facebook, Shopify, LinkedIn, Bing), connector-backed tables (dataset_id/slug + row count + last refresh), saved artifact list and a ready-to-run query example, plus shared_with_you: tables another account shared with you read-only (dataset_id, title, shared_by). THE first call when a user referen

ParameterTypeDescription
formatstringOutput 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 alwa
get_app_artifact3 paramsLoad ONE saved artifact from an autario data app | the EXACT view state the user saved there (a saved SEO 360 / Audience 360 / Social 360…

Load ONE saved artifact from an autario data app | the EXACT view state the user saved there (a saved SEO 360 / Audience 360 / Social 360 / AI Visibility 360 report configuration, a Plotly chart spec, a screener view) plus any inline data, so your answer is grounded in what the user actually sees instead of a guess. Call after get_app_context / get_my_workspace listed the artifact slugs. Owner-gated: you see your own artifacts plus public/unlisted ones; foreign private artifacts are invisible. V

ParameterTypeDescription
slugstringArtifact slug from get_app_context / get_my_workspace (your_artifacts[].slug).
app_idstringApp id from list_apps, e.g. "audience-360", "projects", "builder".
formatstringOutput 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 alwa
audience_36010 paramsAudience 360 | the caller's OWN audience report over their connected Google Search Console + GA4 + social (Facebook Page, Instagram, TikT…

Audience 360 | the caller's OWN audience report over their connected Google Search Console + GA4 + social (Facebook Page, Instagram, TikTok) connector data, computed deterministically server-side (the exact numbers the user sees in the app | nothing re-derived, nothing estimated). Use this FIRST for any interpretation question about a user's traffic/audience ("why is my AI traffic falling", "which queries are rising", "which pages do AI assistants cite", "how is my funnel doing") | it is far mor

ParameterTypeDescription
tostringCustom window end (YYYY-MM-DD), only with range=custom.
fromstringCustom window start (YYYY-MM-DD), only with range=custom.
brandstringThe brand (connector grouping) id to report on, as a uuid. A non-uuid value is read as `brand_term` instead, so a caller written before 2026-09-22 keeps working.
rangestringTime window preset. Relative presets anchor at the newest data day. Default 90d. Use "custom" together with from/to.
formatstringOutput 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 alwa
channelstringOptional single-channel filter (sections that cannot honor it say so in notes).
sectionsarrayWhich report sections to return. Default ["overview","channels"]. Request only what the question needs (token efficiency); call again for more.
countriesstringOptional comma-separated ISO country codes filter, e.g. "DEU,USA".
instancesstringOptional comma-separated connector instance ids, to narrow the report to some of the connections inside the selected brand (for example one of two Search Console properties). Omitted means all of them
brand_termstringOptional brand TERM override for the brand-vs-generic query split (default: derived from the GSC property). Renamed from `brand` on 2026-09-22, when that word became the connector grouping everywhere;
seo_3603 paramsSEO 360 | the caller's OWN deterministic Google Search Console ACTION report, computed server-side from their connected GSC data (the exa…

SEO 360 | the caller's OWN deterministic Google Search Console ACTION report, computed server-side from their connected GSC data (the exact numbers the user sees in the app | nothing re-derived, nothing estimated). The unit is the (query, page) pair and EVERY row ends in a concrete action, so this is the tool to call when a user asks "what should I write next", "which page should I fix first", "where am I losing clicks", "how are my rankings developing", "which pages are decaying", "how are my C

ParameterTypeDescription
daysintegerAnalysis window in days (7-90, default 28), anchored at the newest day of the caller's data. The trend comparison uses the same-length window before it.
formatstringOutput 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 alwa
sectionsarrayWhich report sections to return. Default ["page2_gaps","health"]. Request only what the question needs (token efficiency); call again for more.
social_3605 paramsSocial 360 | the caller's OWN deterministic social performance report over their connected Facebook Page, Instagram, TikTok, YouTube and …

Social 360 | the caller's OWN deterministic social performance report over their connected Facebook Page, Instagram, TikTok, YouTube and LinkedIn (own profile and page) data, computed server-side (the exact numbers the user sees in the app | nothing re-derived, nothing estimated). Call it when a user asks "how are my social accounts doing", "is my account growing", "which post worked best", "which format should I post more of", "when should I post", "what caused the follower jump", "how do I com

ParameterTypeDescription
daysintegerAnalysis window in days (7-90, default 28). Each platform anchors it at the newest day of ITS OWN connector table, because connectors refresh on different rhythms.
sortstringHow the cross-platform top-post list is ranked (posts section). Default engagement.
formatstringOutput 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 alwa
sectionsarrayWhich report sections to return. Default ["score","health"]. Request only what the question needs (token efficiency); call again for more. activity = the activity table: every post with platform, cont
instancesstringOptional comma-separated connector instance ids, to narrow the report to some of the connections inside the selected brand (for example one of two Search Console properties). Omitted means all of them
marketing_report8 paramsMarketing Report | the caller's OWN brand marketing report, read deterministically from the derived `marketing_daily` table server-side (…

Marketing Report | the caller's OWN brand marketing report, read deterministically from the derived `marketing_daily` table server-side (the exact numbers the user sees in the app | nothing re-derived, nothing estimated, no LLM). In one sentence: what one brand spent across Meta Ads, Google Ads, TikTok Ads, Shopify, Amazon and Google Analytics, and what came back, under ONE definition of return on ad spend. Call it when a user asks "how did brand X do last week", "what did we spend on Meta vs Go

ParameterTypeDescription
tostringEnd day (YYYY-MM-DD) when period is "custom".
fromstringStart day (YYYY-MM-DD) when period is "custom". An unusable pair falls back to the default window rather than erroring.
brandstringThe brand id (uuid) to report on. Omitted means the account's Default brand, which is where every unassigned connector already belongs. Every response lists the caller's brands, so a first call withou
clientstringDeprecated spelling of `brand`, still accepted so callers written before 2026-09-22 keep working. Pass `brand`.
formatstringOutput 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 alwa
periodstringThe reporting window. Default last-30. "this-week" runs Monday to today and compares to the same weekdays one week earlier; "custom" needs `from` and `to`.
sectionsarrayWhich report sections to return. Default ["overview"]. Request only what the question needs (token efficiency); call again for more.
instancesstringOptional comma-separated connector instance ids, to narrow the report to some of the connections inside the selected brand (for example one of two Search Console properties). Omitted means all of them
ai_visibility_3604 paramsAI Visibility 360 | the caller's OWN brand-visibility report across the AI assistants (ChatGPT, Claude, Gemini, Perplexity, optionally Gr…

AI Visibility 360 | the caller's OWN brand-visibility report across the AI assistants (ChatGPT, Claude, Gemini, Perplexity, optionally Grok/DeepSeek/Mistral), read deterministically from stored runs server-side (the exact numbers the user sees in the app | nothing re-derived, NO LLM runs on this read and no run is started). In one sentence: which brands ChatGPT, Claude, Gemini and Perplexity recommend when someone asks about your category. Call it when a user asks "how visible is my brand in Cha

ParameterTypeDescription
daysintegerAnalysis window in days over the stored runs (1-365, default 30).
brandstringBrand name or brand id. Optional when the account has exactly one brand; with several brands the tool answers with the list so you can re-call with one (nothing is picked for you).
formatstringOutput 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 alwa
sectionsarrayWhich report sections to return. Default ["overview"]. Request only what the question needs (token efficiency); call again for more. searches = the web searches the assistants ran behind their answers
bubble_or_not5 paramsBubble Or Not? | Check whether a public US stock's price is running ahead of (or backed by) its fundamentals. Overlays the share price ag…

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

ParameterTypeDescription
rangestringOptional time window for the chart. Default ALL (full history).
scalestringOptional 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
metricstringOptional 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
tickerstringUS stock ticker symbol, e.g. AAPL, MSFT, NVDA, TSLA, AMZN
chart_typestringOptional render style for the fundamental: line or bar. Default is the app's smart choice (bars for quarterly reports, line for daily-derived metrics).
projects12 paramsProjects | the caller's OWN project board with its objectives and key results, read and written deterministically (no LLM on this path): …

Projects | the caller's OWN project board with its objectives and key results, read and written deterministically (no LLM on this path): what a team agreed to achieve, what it works on, who works on it, how far along it is, and which key result each piece of work pays into. Call it for "what is my team working on", "which key result has no project behind it", "what does marketing contribute", "which projects are off track", "what is undecided", or to add or move a project, objective or key resul

ParameterTypeDescription
idstringThe id of the thing to read or change: the project for "get" and "update", the objective for "update_objective", the key result for "update_key_result".
kindstringIs this a project with an end, or recurring day-to-day work? Default "project".
sortstringFor "list": the order of cards inside each group. "board" (default) puts off-track work first; "effort_impact" orders by impact (5 to 1) then effort (fewest days first), unrated work last. No combined
unitstringFor key results: the unit the number is in.
briefstringA short description of what the project is.
groupstringFor "list": which axis the cards are folded on. Default "okr", which is the axis that answers "does everything we do pay into something we agreed".
ownerstringThe one person accountable for it.
stagestringWhere it stands. A new project starts "active" (running); when the board owner switched on "New projects need admin approval", a non-admin's new project starts at "inbox" (pending review) and only an
titlestringProject title. Required for "create".
actionstringWhat to do. Default "list".
formatstringOutput 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 alwa
impactintegerExpected impact as a judgement: 1 low, 2 some, 3 clear, 4 high, 5 very high.
create_app8 paramsCreate a data app on autario in ONE call, owned by you. You give it a name and an entry: either an https URL where the app already runs, …

Create a data app on autario in ONE call, owned by you. You give it a name and an entry: either an https URL where the app already runs, or the app's HTML itself (a single self-contained document, max 512 KB) which autario then hosts and serves inside a locked sandbox. The app id is derived from the name, so you never invent one. The new app is PRIVATE: only you can open it, it is in no catalog and at no public URL until you call publish_app. Use this as the FIRST step whenever a user asks you t

ParameterTypeDescription
namestringDisplay name of the app. The app id is derived from it (lowercased, hyphenated); needs at least three letters or digits.
contentstringREQUIRED when entry_kind is "upload". The app's entry document, normally a single self-contained HTML file. It runs in a sandbox with no outbound network: read autario data through the sandbox bridge,
taglinestringOne line saying what the app does, max 200 chars. Worth writing: it is what a user reads in the app store, and an app cannot be indexed without one.
datasetsarrayIds of the user's OWN datasets (connector tables, uploads; get them from get_my_workspace) this app may read through autario.js. Everyone the owner shares the app with (role reader and up) reads exact
entry_urlstringREQUIRED when entry_kind is "url". Must start with https://.
entry_kindstring"url" = the app already runs somewhere (give entry_url). "upload" = you are sending the app itself (give content). Default "url".
source_urlstringOptional link to the app's open source repository.
content_typestringType of the uploaded content. Default text/html.
update_app_manifest9 paramsUpdate the manifest of an app YOU own: its name, tagline, entry URL, version, source repository and the autario datasets or operations it…

Update the manifest of an app YOU own: its name, tagline, entry URL, version, source repository and the autario datasets or operations it is allowed to read (consumed_datasets, which is what the sandbox bridge enforces at runtime: a World Bank or FRED dataset id, a live Yahoo quote op, or the caller's own Google Search Console and GA4 connector tables). Only the fields you pass change; everything else on the manifest is kept. Use it to declare data access after create_app, to declare that report

ParameterTypeDescription
namestringNew display name. Omit to keep the current one.
tierintegerRuntime model. 2 = sandboxed custom app (the default for anything you build here). Only set this if you know you need 1.
shareobjectLet a report of this app be opened on a secret read-only link, e.g. {"subjects":["account"],"sections":["meta","report"]}. "subjects" says WHOSE data a link points at and may only name kinds autario c
app_idstringThe app id returned by create_app.
taglinestringOne-line description, max 200 chars.
versionstringFree-text version, e.g. "1.2.0". Bundles are stored per version.
entry_urlstringWhere the app runs. An uploaded bundle uses the conventional "index.html".
source_urlstringLink to the open source repository.
consumed_datasetsarrayWhat the app reads, e.g. [{"op":"datasetData","dataset":"<id>"}]. The sandbox bridge refuses any read the manifest did not declare. To read the connected accounts of whoever opens the app, add the con
upload_app_bundle4 paramsUpload or replace the code of an app YOU own: one self-contained entry document (HTML or JavaScript, max 512 KB, no binary). autario stor…

Upload or replace the code of an app YOU own: one self-contained entry document (HTML or JavaScript, max 512 KB, no binary). autario stores it and serves it inside a locked sandbox with no outbound network access, so the app reads World Bank, FRED, Eurostat, SEC and connector data through autario.js (autario.query, autario.datasets, autario.artifacts) rather than calling anything itself; autario inlines the SDK into the served page, so a script tag for https://autario.com/autario.js is optional.

ParameterTypeDescription
app_idstringThe app id.
contentstringThe entry document itself.
versionstringOptional version label this bundle belongs to.
content_typestringDefault text/html.
write_app_artifact7 paramsSave an ARTIFACT into an app: the app's own output or saved state, owned by you. An artifact is what get_app_artifact reads back later | …

Save an ARTIFACT into an app: the app's own output or saved state, owned by you. An artifact is what get_app_artifact reads back later | a Plotly chart specification, a saved report configuration, a board, a screener view, a table of World Bank or SEC figures the app computed. Give `type` (your own label, e.g. "chart", "report", "board"), a `title`, and `spec` and/or `data` as JSON. Pass `artifact_id` to patch one you already wrote instead of creating another. Use it right after create_app to se

ParameterTypeDescription
dataobjectOptional inline data belonging to the artifact.
specobjectThe saved view/configuration as JSON (e.g. a Plotly spec, a filter set).
typestringYour own label for the kind of artifact, e.g. "chart", "report", "board". Required when creating.
titlestringHuman title shown in the app and in get_app_artifact.
app_idstringThe app the artifact belongs to.
visibilitystringWho may read the artifact. Default private.
artifact_idstringOmit to CREATE. Give an existing artifact id to PATCH that one.
get_app_preview_url1 paramThe link to OPEN an app you own, plus where it stands. Returns preview_url (a private, never-indexed page where only you can run the app,…

The link to OPEN an app you own, plus where it stands. Returns preview_url (a private, never-indexed page where only you can run the app, reading World Bank, FRED, Eurostat or your own connector data through the sandbox bridge), public_url (null while the app is private, the shareable link once you publish), its visibility, whether it is indexed, and next_step: one sentence naming the next call to make. Use it to hand a user something to click after create_app, and to check what is still missing

ParameterTypeDescription
app_idstringThe app id.
publish_app2 paramsPublish an app YOU own. Takes effect immediately, with no review queue and nobody to ask. Two ways to publish: "public" gives it a tile i…

Publish an app YOU own. Takes effect immediately, with no review queue and nobody to ask. Two ways to publish: "public" gives it a tile in the autario app store under Community apps, next to AI Visibility 360 and the World Bank and FRED data surfaces, plus a public URL, "unlisted" gives it only the URL, so anyone you send the link to can open it and nobody else finds it. Returns public_url. Viewers read data through autario.js with their own role: a stranger sees public catalog data only, a team

ParameterTypeDescription
app_idstringThe app id.
visibilitystring"public" = listed in the app store. "unlisted" = link only. Default "public".
unpublish_app1 paramTake an app YOU own back to private: it leaves the autario app store, its public URL stops working for everyone else, and only you can st…

Take an app YOU own back to private: it leaves the autario app store, its public URL stops working for everyone else, and only you can still open it at its preview URL, where it keeps reading World Bank, FRED and connector data as before. Nothing is deleted, and publish_app puts it back. Use it when a user wants an app off the store, or before shipping a change they do not want strangers to see.

ParameterTypeDescription
app_idstringThe app id.

Ready-made

Prompts

  • analyze-datasetFind and analyze a dataset on a given topic. Returns key statistics and trends.
  • create-chartSearch for data and create a publishable chart visualization on autario.com.
  • compare-countriesCompare a specific metric across countries with data from autario.