{"name":"io.github.Autario/autario-mcp","slug":"autario-autario-mcp","title":null,"description":"Query 8,000+ verified open datasets (World Bank, Eurostat, FRED, SEC) with stats and charts.","url":"https://mcp.market/server/autario-autario-mcp","rating":null,"grade":"B","score":72,"certified":false,"status":"active","category":"finance","tags":["finance"],"presence":{"score":24,"stars":2,"forks":0,"downloads_week":423,"last_push_at":"2026-06-09T20:46:20.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/Autario/autario-mcp","website":null,"version":"2.11.2","remotes":[],"packages":[{"registryType":"npm","identifier":"autario-mcp","version":"2.11.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Autario API key from autario.com account settings. Optional: public datasets and stats work without it; needed for private data, connectors and publishing.","format":"string","isSecret":true,"name":"AUTARIO_API_KEY"},{"description":"Autario API secret paired with AUTARIO_API_KEY. Optional, same scope as the key.","format":"string","isSecret":true,"name":"AUTARIO_API_SECRET"}]}],"tools":[{"name":"ai_visibility_360","description":"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). Call it when a user asks \"how visible is my brand in ChatGPT\", \"do assista","write_action":false,"price_micros":0,"input_schema":null},{"name":"audience_360","description":"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","write_action":false,"price_micros":0,"input_schema":null},{"name":"bubble_or_not","description":"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 + med","write_action":false,"price_micros":0,"input_schema":null},{"name":"calculate","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"chart_instructions","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"clear_rows","description":"Delete all rows from a dataset while keeping the schema and columns intact. Useful for refreshing data before re-importing. Requires AUTARIO_API_KEY.","write_action":true,"price_micros":0,"input_schema":null},{"name":"compare_entities","description":"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, cros","write_action":false,"price_micros":0,"input_schema":null},{"name":"correlate","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"create_chart_from_spec","description":"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 num","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_dataset","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"decompose_drivers","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"delete_dataset","description":"Permanently delete a dataset and all its data. This action cannot be undone. Only the dataset owner can delete it. Requires AUTARIO_API_KEY.","write_action":true,"price_micros":0,"input_schema":null},{"name":"describe","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"discover_by_topic","description":"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 qualit","write_action":false,"price_micros":0,"input_schema":null},{"name":"find_drivers","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_app_artifact","description":"Load ONE saved artifact from an autario data app | the EXACT view state the user saved there (report configuration, chart spec, OKR board, 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; foreig","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_app_context","description":"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) 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 artifacts in t","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_chart","description":"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_u","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_company_snapshot","description":"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, ","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_dataset_info","description":"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 ","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_dataset_schema","description":"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|…), `","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_engine_report","description":"ADMIN/CURATOR ONLY. The machine-readable health of the autario data engine, 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 patterns, job queue ","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_entity_data","description":"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/","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_entity_profile","description":"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 I","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_my_workspace","description":"YOUR data-app workspace in ONE call: every autario app the calling user has activated or connected, each with its providers, connector-backed tables (dataset_id/slug + row count + last refresh), saved artifact list and a ready-to-run query example. THE first call when a user references \"my <app>\", \"my dashboard\", \"my report\" or asks what they have on autario | it replaces one get_app_context round","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_traction_overview","description":"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 (h","write_action":false,"price_micros":0,"input_schema":null},{"name":"lag_analysis","description":"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?\".","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_apps","description":"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, e.g. Search Console; public = it runs on public autario datasets only). When the caller is authenticated (API key or OAuth) each app also carries connected=true/false, whether YOUR data is already behind it (a connector instance ","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_chart_candidates","description":"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) + ","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_charts","description":"List published chart visualizations on Autario. Returns chart IDs, titles, insights, linked datasets, and creation dates. Use to discover existing analyses.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_connectors","description":"List the REST API connectors set up on this Autario account, each with its live dataset_id (queryable via query_dataset), datasets[] (ALL datasets the connector materialized | multi-report connectors produce one per report), refresh interval, and last refresh time. Use this to find a connector before refreshing it or reading its hosted, auto-typed table. Connectors are created by the account owner","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_indicators","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"pct_change","description":"Period-over-period percentage change for an indicator. Use for growth rates (YoY, QoQ, MoM).","write_action":false,"price_micros":0,"input_schema":null},{"name":"publish_chart","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"query_dataset","description":"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 ","write_action":false,"price_micros":0,"input_schema":null},{"name":"refresh_connector","description":"Pull the latest data from a connector's source REST API now and refresh its hosted Postgres table on Autario. Returns the new row count and the dataset_id you can then read with query_dataset / get_dataset_schema. Use when the user wants fresh data before analysis. The connector must already exist (the owner sets it up in the UI at autario.com/manage). Deterministic fetch, no LLM cost. Requires AU","write_action":false,"price_micros":0,"input_schema":null},{"name":"regression","description":"Linear regression of y ~ x for one entity. Returns slope, intercept, R² and interpretation. Use for \"how does X predict Y?\" questions.","write_action":false,"price_micros":0,"input_schema":null},{"name":"report_data_issue","description":"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 p","write_action":false,"price_micros":0,"input_schema":null},{"name":"request_chart","description":"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 mul","write_action":false,"price_micros":0,"input_schema":null},{"name":"rolling_stats","description":"Rolling window statistics (mean/std/min/max/sum) for an indicator. Smooths noise, reveals trends.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_datasets","description":"Search the Autario 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. Authenticated callers (API key / OAuth) also find their OWN private datasets (uploads, write_rows, connectors); other users' private data is neve","write_action":false,"price_micros":0,"input_schema":null},{"name":"seasonality_decomposition","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"seo_360","description":"SEO 360 | the caller's OWN deterministic 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 ","write_action":false,"price_micros":0,"input_schema":null},{"name":"update_chart","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"verify_value","description":"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. If your time= matches more than one observation (e.g. a year on a monthly series) you get","write_action":false,"price_micros":0,"input_schema":null},{"name":"what_matters","description":"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 coars","write_action":false,"price_micros":0,"input_schema":null},{"name":"write_rows","description":"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.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":72,"grade":"B","scanned_at":"2026-09-21T05:09:25.649Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-21T05:09:25.685Z","components":{"code":{"score":25,"max":25,"notes":["9 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":8,"max":15,"notes":["last push 103 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"autario-mcp","version":"2.11.2","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-08-27T19:24:51.626Z","repositoryUrl":"git+https://github.com/autario/autario.git","weeklyDownloads":423}],"repo":{"found":true,"owner":"Autario","repo":"autario-mcp","archived":false,"pushedAt":"2026-06-09T20:46:20Z","stars":2,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/26364349?v=4","ownerCreatedAt":"2017-03-12T17:21:12Z"},"icon":{"url":"https://avatars.githubusercontent.com/u/26364349?v=4&s=128","source":"github"},"presence":{"stars":2,"forks":0,"downloadsWeek":423,"license":"MIT","lastPushAt":"2026-06-09T20:46:20.000Z","score":24}}}},"grade_history":[],"reviews":[]}