autario-mcp
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 your platforms, then let your assistant interpret the numbers. Connect your ad accounts, your shop, your web analytics, your social profiles, your CRM and your finance tools on autario once. Through this MCP server your assistant reads those tables, joins them and explains what moved: spend, revenue and ROAS per channel, the audience behind a traffic change, the posts that worked. The public catalogue (World Bank, FRED, Eurostat, OECD, WHO, IMF, SEC) sits next to your own data as context, so a sales dip can be read against inflation or market growth in the same answer.
- Brands and instances. Group connected accounts by brand, and pick which accounts (instances) a report reads, so an agency asks about one brand without another brand's numbers in the answer.
- Numbers the model does not make up. Report tools return what autario computes server-side from your own tables, and every public value cites its primary source, so the model explains figures instead of recomputing or guessing them.
- 57 tools, each marked read or write. The Access column in the Tool Reference below comes from each tool's own annotations, so a client can allow the read tools and ask before a write.
- Remote or local. Point any HTTP MCP client at
https://autario.com/mcpwith no install, or run it over stdio withnpx autario-mcp.
autario.com | Developer docs | Get an API Key
Why autario-mcp
- Your platforms, not just public data. Ads, shop, analytics, social, CRM and finance connectors land in tables your assistant can query, join and compare, and
marketing_report,social_360and the other report tools return the same numbers the app shows. - No hallucinated numbers. Every value is sourced from a known publisher and cited back to a primary URL. Use
verify_valueto double-check any claim. - Cross-dataset joins, no setup. Indicators across different datasets share
autario_time+autario_entityshadow columns, soget_entity_data(USA, [gdp, unemployment, life_expectancy])returns one wide table, joined automatically. - Statistical primitives built-in.
correlate,regression,find_drivers,lag_analysis,seasonality_decompositionand more, with effect sizes, p-values, and plain-language interpretations. - Charts that persist.
publish_chartwrites a Plotly spec to autario.com. The result is a permanent, embeddable URL likeautario.com/chart/{slug}| the LLM builds the spec, autario pulls real rows for it, no hallucinated data path. - LLM-agnostic. Works with Claude, GPT, Gemini, local models | anything that speaks MCP.
Quick Demo
Install the server, then ask your assistant questions like these. The model picks the right tools and answers with cited data.
Ask: "Why did ROAS drop last week for this brand? Compare Meta Ads and Google Ads
against Shopify revenue."
Tools: get_my_workspace -> marketing_report
Output: Spend, revenue and ROAS per channel against the previous period, from the
connected accounts of that brand only.
Ask: "What drives US inflation? Look at money supply, oil prices, and unemployment."
Tools: list_indicators -> find_drivers
Output: Ranked drivers with r, p-value, R squared per candidate.
Ask: "Compare life expectancy in Germany, USA and Japan from 2000 to 2023, then publish a chart."
Tools: compare_entities -> publish_chart
Output: Wide-format table joined on year, plus a permanent autario.com/chart/{slug} URL.
Ask: "Is consumer confidence a leading indicator of US retail sales?"
Tools: lag_analysis
Output: Cross-correlation peak at lag k, with interpretation in months.
Ask: "Find a dataset on unemployment, build me a small app that charts it for
Germany, publish it as unlisted and give me the link."
Tools: search_datasets -> get_dataset_schema -> create_app ->
update_app_manifest -> upload_app_bundle -> get_app_preview_url -> publish_app
Output: A live URL you own. No review queue, no waiting list, nobody to ask.
Install
Claude Desktop, Cursor, Cline (stdio)
~/.config/claude/claude_desktop_config.json on Mac/Linux, %APPDATA%\Claude\claude_desktop_config.json on Windows.
{
"mcpServers": {
"autario": {
"command": "npx",
"args": ["autario-mcp"]
}
}
}
Restart your client. The server reports tool count to stderr on launch.
Claude Web, OpenAI Custom GPTs, any HTTP MCP client
Point your client at the hosted endpoint. No install needed.
URL: https://autario.com/mcp
Transport: Streamable HTTP (POST /mcp)
The hosted endpoint also supports MCP prompts: analyze-dataset, create-chart, compare-countries.
Enable write tools (publish charts, create datasets)
Add API credentials to the stdio config or send them as x-api-key / x-api-secret headers to the HTTP endpoint.
{
"mcpServers": {
"autario": {
"command": "npx",
"args": ["autario-mcp"],
"env": {
"AUTARIO_API_KEY": "your_key",
"AUTARIO_API_SECRET": "your_secret"
}
}
}
}
Get keys at autario.com/account.
Tool Reference
57 MCP tools, organized by function.
Discovery & Query
Search the catalog, inspect schemas, pull rows.
Cross-Dataset Joins (Ontology)
The differentiator. Join indicators across datasets via shared time + entity shadow columns. No manual relationship setup.
Statistical Analysis
Run analyses against verified data. Outputs include effect sizes, p-values, and plain-language interpretations.
Live Markets
Current quotes for public companies. Beats stale training-data answers.
Connectors (requires AUTARIO_API_KEY)
Hosted, auto-refreshing REST-API tables. The account owner sets a connector up in the Autario UI; agents list and refresh them (never handle credentials).
Charts on Demand
Browse datasets that want a chart and request one for a dataset.
Data Apps
Run an autario data-app and get a verifiable result + the live interactive chart (shareable URL + embeddable iframe). Navigate app-first: get_my_workspace (every app YOU use, one call) -> get_app_context (one app's data map incl. its KPI catalog, agent_surface) -> get_app_artifact (the exact saved view) ground the assistant in the same data the user sees. audience_360 returns the caller's own computed audience report, section-selective.
Build and Ship a Data App (requires AUTARIO_API_KEY)
Build an app that runs ON autario and publish it yourself, with no review queue and nobody to ask. The path is create_app -> update_app_manifest -> upload_app_bundle (or write_app_artifact) -> get_app_preview_url -> publish_app, and every response carries a next_step. Each tool is a thin wrapper over the same REST endpoint an outside developer calls directly, so an agent is exactly its owner and never more.
Write (requires AUTARIO_API_KEY)
Publish charts, create + populate datasets. Get keys at autario.com/account.
Admin
Curator-only; invisible to other callers.
autario.js: the data SDK inside every app
An app you ship with create_app or upload_app_bundle runs in a locked sandbox with no network. It reads data with autario.js, which autario inlines into every app it serves (a <script src="https://autario.com/autario.js"></script> tag is optional). Every call runs as the person looking at the app, with that person's role: the owner and the team members the owner invited (reader, editor, admin) see the datasets the app declares; a stranger sees public catalog data only. No key or token ever reaches the app.
<script src="https://autario.com/autario.js"></script>
<script>
(async () => {
const { app, user } = await autario.ready(); // user.role: owner | admin | editor | reader | visitor
const [first] = await autario.datasets(); // the datasets this app declares
const rows = await autario.query(first.id, { limit: 10, orderBy: 'date desc' });
await autario.artifacts.set('last_view', { id: first.id }); // editor or higher
})();
</script>
Declare the user's own tables with create_app datasets: [ids]. Full reference: autario.com/developer/docs/autario-js.
Environment Variables
Data Sources
World 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.
Development
This package is part of the autario monorepo. 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.
# regenerate the README Tool Reference from tools.js
npm run build-readme
# verify README is in sync (used in CI)
npm run check-readme
Links
- autario.com | datasets, charts, ontology
- Documentation | API + MCP reference
- Agent Guide | machine-readable description of every tool and endpoint
- Issues | bug reports + feature requests
License
MIT.