{
  "markdown": "# autario-mcp\n\n**Verified data for AI agents.** 2,700+ public datasets (World Bank, FRED, Eurostat, OECD, WHO, ECB, US Census, IMF) joined under one ontology, with built-in statistical analysis and chart publishing. Plug it into Claude Desktop, ChatGPT, Cursor, or any MCP-compatible client | your model gets numbers it cannot hallucinate.\n\n[autario.com](https://autario.com/?utm_source=mcp_readme&utm_medium=hero&utm_campaign=marketplace) | [Documentation](https://autario.com/documentation?utm_source=mcp_readme&utm_medium=hero&utm_campaign=marketplace#api-mcp) | [Get an API Key](https://autario.com/account?utm_source=mcp_readme&utm_medium=hero&utm_campaign=marketplace&tab=apikeys)\n\n## Why autario-mcp\n\n- **No hallucinated numbers.** Every value is sourced from a known publisher and cited back to a primary URL. Use `verify_value` to double-check any claim.\n- **Cross-dataset joins, no setup.** Indicators across different datasets share `autario_time` + `autario_entity` shadow columns, so `get_entity_data(USA, [gdp, unemployment, life_expectancy])` returns one wide table, joined automatically.\n- **Statistical primitives built-in.** `correlate`, `regression`, `find_drivers`, `lag_analysis`, `seasonality_decomposition` and more, with effect sizes, p-values, and plain-language interpretations.\n- **Charts that persist.** `publish_chart` writes a Plotly spec to autario.com. The result is a permanent, embeddable URL like `autario.com/chart/{slug}` | the LLM builds the spec, autario pulls real rows for it, no hallucinated data path.\n- **LLM-agnostic.** Works with Claude, GPT, Gemini, local models | anything that speaks MCP.\n\n## Quick Demo\n\nInstall the server, then ask your assistant questions like these. The model picks the right tools and answers with cited data.\n\n```text\nAsk:    \"What drives US inflation? Look at money supply, oil prices, and unemployment.\"\nTools:  list_indicators -> find_drivers\nOutput: Ranked drivers with r, p-value, R squared per candidate.\n```\n\n```text\nAsk:    \"Compare life expectancy in Germany, USA and Japan from 2000 to 2023, then publish a chart.\"\nTools:  compare_entities -> publish_chart\nOutput: Wide-format table joined on year, plus a permanent autario.com/chart/{slug} URL.\n```\n\n```text\nAsk:    \"Is consumer confidence a leading indicator of US retail sales?\"\nTools:  lag_analysis\nOutput: Cross-correlation peak at lag k, with interpretation in months.\n```\n\n## Install\n\n### Claude Desktop, Cursor, Cline (stdio)\n\n`~/.config/claude/claude_desktop_config.json` on Mac/Linux, `%APPDATA%\\Claude\\claude_desktop_config.json` on Windows.\n\n```json\n{\n  \"mcpServers\": {\n    \"autario\": {\n      \"command\": \"npx\",\n      \"args\": [\"autario-mcp\"]\n    }\n  }\n}\n```\n\nRestart your client. The server reports tool count to stderr on launch.\n\n### Claude Web, OpenAI Custom GPTs, any HTTP MCP client\n\nPoint your client at the hosted endpoint. No install needed.\n\n```text\nURL:        https://autario.com/mcp\nTransport:  Streamable HTTP (POST /mcp)\n```\n\nThe hosted endpoint also supports MCP prompts: `analyze-dataset`, `create-chart`, `compare-countries`.\n\n### Enable write tools (publish charts, create datasets)\n\nAdd API credentials to the stdio config or send them as `x-api-key` / `x-api-secret` headers to the HTTP endpoint.\n\n```json\n{\n  \"mcpServers\": {\n    \"autario\": {\n      \"command\": \"npx\",\n      \"args\": [\"autario-mcp\"],\n      \"env\": {\n        \"AUTARIO_API_KEY\":    \"your_key\",\n        \"AUTARIO_API_SECRET\": \"your_secret\"\n      }\n    }\n  }\n}\n```\n\nGet keys at [autario.com/account](https://autario.com/account?utm_source=mcp_readme&utm_medium=install&utm_campaign=marketplace&tab=apikeys).\n\n## Tool Reference\n\n<!-- TOOLS:START -->\n<!-- generated by scripts/check-readme-sync.js | do not edit manually | run `npm run build-readme` after changing tools.js -->\n\n_28 MCP tools, organized by function._\n\n### Discovery & Query\n\nSearch the catalog, inspect schemas, pull rows.\n\n| Tool | What it does | Parameters |\n| --- | --- | --- |\n| `search_datasets` | 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, frequen... | query (string), category (string), limit (number), page (number) |\n| `list_indicators` | 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 ent... | topic (string), unit (string), frequency (string), entity_type (string), publisher (string), search (string), limit (number) |\n| `get_entity_profile` | Get all indicators available for one entity (country, aggregate, etc.). Returns indicator IDs with metadata + time coverage. Use this to discover what you can query about Germany, USA, G7, or any k... | **entity_id** (string), topic (string) |\n| `get_dataset_info` | Get full metadata for a specific dataset including title, description, publisher, category, keywords, row count, and creation date. | **dataset_id** (string) |\n| `get_dataset_schema` | Get the column names, data types, and total row count for a dataset. Always call this before query_dataset to understand the available columns for filtering and sorting. | **dataset_id** (string) |\n| `query_dataset` | 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 q... | **dataset_id** (string), limit (number), offset (number), fields (string), sort (string), filter (array), aggregate (string), groupby (string) |\n| `list_charts` | List published chart visualizations on Autario. Returns chart IDs, titles, insights, linked datasets, and creation dates. Use to discover existing analyses. | q (string), limit (number), offset (number) |\n| `get_chart` | Get a specific chart by ID or slug. Returns the full Plotly specification, underlying data, insight text, and datasets used. The chart URL is shareable at autario.com/chart/{id}. | **chart_id** (string) |\n\n### Cross-Dataset Joins (Ontology)\n\nThe differentiator. Join indicators across datasets via shared time + entity shadow columns. No manual relationship setup.\n\n| Tool | What it does | Parameters |\n| --- | --- | --- |\n| `get_entity_data` | Fetch wide-format 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.... | **entity_id** (string), **indicators** (array), time (string) |\n| `compare_entities` | Compare ONE indicator across MULTIPLE entities (e.g. GDP of DEU vs USA vs CHN). Returns wide-format rows like [{time:\"2020\", DEU:3846, USA:20937, CHN:14688}, …]. Use this for country comparisons, c... | **entities** (array), **indicator** (string), time (string) |\n| `verify_value` | 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... | **indicator** (string), **entity** (string), **time** (string), expected (number) |\n\n### Statistical Analysis\n\nRun analyses against verified data. Outputs include effect sizes, p-values, and plain-language interpretations.\n\n| Tool | What it does | Parameters |\n| --- | --- | --- |\n| `describe` | 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, com... | **indicator** (string), **entity** (string), time (string) |\n| `correlate` | 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 d... | **entity** (string), **a** (string), **b** (string), time (string) |\n| `regression` | Linear regression of y ~ x for one entity. Returns slope, intercept, R² and interpretation. Use for \"how does X predict Y?\" questions. | **entity** (string), **y** (string), **x** (string), time (string) |\n| `pct_change` | Period-over-period percentage change for an indicator. Use for growth rates (YoY, QoQ, MoM). | **entity** (string), **indicator** (string), time (string), period (string) |\n| `rolling_stats` | Rolling window statistics (mean/std/min/max/sum) for an indicator. Smooths noise, reveals trends. | **entity** (string), **indicator** (string), window (number), op (string), time (string) |\n| `calculate` | 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 thin... | **a** (string), **b** (string), **entity** (string), op (string), time (string) |\n| `lag_analysis` | 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 ret... | **a** (string), **b** (string), **entity** (string), max_lag (number), time (string) |\n| `seasonality_decomposition` | 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, unemp... | **indicator** (string), **entity** (string), period (number), time (string) |\n| `find_drivers` | 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 ranke... | **entity** (string), **target_indicator** (string), **candidates** (array), time (string) |\n| `what_matters` | 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). Re... | **entity** (string), **outcome** (string), candidates (string), time (string) |\n\n### Live Markets\n\nCurrent quotes for public companies. Beats stale training-data answers.\n\n| Tool | What it does | Parameters |\n| --- | --- | --- |\n| `get_company_snapshot` | 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 in... | **ticker** (string), metrics (array) |\n\n### Write (requires AUTARIO_API_KEY)\n\nPublish charts, create + populate datasets. Get keys at [autario.com/account](https://autario.com/account?tab=apikeys&utm_source=mcp_readme&utm_medium=write_section&utm_campaign=marketplace).\n\n| Tool | What it does | Parameters |\n| --- | --- | --- |\n| `publish_chart` | Publish a new chart visualization to Autario. Requires a Plotly spec with column references (x_col, y_col, group_by, group_value). Autario pulls real data from the specified datasets to ensure data... | **title** (string), plotly_spec (object), insight (string), narration (string), **dataset_ids** (array) |\n| `update_chart` | 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. | **chart_id** (string), **plotly_spec** (object), title (string), insight (string), narration (string) |\n| `create_dataset` | 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. | **title** (string), description (string), category (string), is_public (boolean) |\n| `write_rows` | 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 dat... | **dataset_id** (string), **rows** (array) |\n| `clear_rows` | Delete all rows from a dataset while keeping the schema and columns intact. Useful for refreshing data before re-importing. Requires AUTARIO_API_KEY. | **dataset_id** (string) |\n| `delete_dataset` | Permanently delete a dataset and all its data. This action cannot be undone. Only the dataset owner can delete it. Requires AUTARIO_API_KEY. | **dataset_id** (string) |\n\n<!-- TOOLS:END -->\n\n## Environment Variables\n\n| Variable | Default | Purpose |\n| --- | --- | --- |\n| `AUTARIO_API_URL` | `https://autario.com` | API base. Override only for self-hosting. |\n| `AUTARIO_API_KEY` | _unset_ | Required for write tools. Read tools work anonymously. |\n| `AUTARIO_API_SECRET` | _unset_ | Companion secret for the API key. |\n\n## Data Sources\n\nWorld Bank, FRED, Eurostat, OECD, IMF, ECB, WHO, US Census Bureau, plus user-contributed datasets. Every dataset record includes a `source_url` pointing back to the primary publisher. Live catalog: [autario.com/data](https://autario.com/data?utm_source=mcp_readme&utm_medium=sources&utm_campaign=marketplace).\n\n## Development\n\nThis package is part of the [autario monorepo](https://github.com/autario/autario). Tool definitions live in `tools.js` (single source of truth, shared with the HTTP transport in `remote.js`). The Tool Reference section above is auto-generated.\n\n```bash\n# regenerate the README Tool Reference from tools.js\nnpm run build-readme\n\n# verify README is in sync (used in CI)\nnpm run check-readme\n```\n\n## Links\n\n- [autario.com](https://autario.com/?utm_source=mcp_readme&utm_medium=footer&utm_campaign=marketplace) | datasets, charts, ontology\n- [Documentation](https://autario.com/documentation?utm_source=mcp_readme&utm_medium=footer&utm_campaign=marketplace#api-mcp) | API + MCP reference\n- [Agent Guide](https://autario.com/api/v1/guide) | machine-readable description of every tool and endpoint\n- [Issues](https://github.com/autario/autario/issues) | bug reports + feature requests\n\n## License\n\nMIT.\n",
  "bytes": 14006,
  "sha": "0b3b1cf2e967b62c21a409a9cb92c206b5ba1afd73b9022b3a2c6a88437420df",
  "repo_slug": "autario/autario-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_autario_autario_mcp_32019dd4/readme"
}