Back to Browse

Autario MCP Server

Developer ToolsModerate5.2MCP RegistryLocal
Free

Server data from the Official MCP Registry

Query 8,000+ verified open datasets (World Bank, Eurostat, FRED, SEC) with stats and charts.

About

Query 8,000+ verified open datasets (World Bank, Eurostat, FRED, SEC) with stats and charts.

Security Report

5.2
Moderate5.2Moderate Risk

This MCP server provides read and write access to a verified data platform (Autario) with proper API-based authentication for sensitive operations. Code quality is solid with good error handling and input validation. API credentials are correctly handled via environment variables, not hardcoded. Permissions (network_http, env_vars) are appropriate for a data aggregation tool in the Developer Tools category. Minor logging concerns and broad error handling do not materially impact security. Supply chain analysis found 3 known vulnerabilities in dependencies (0 critical, 3 high severity). Package verification found 1 issue (1 critical, 0 high severity).

3 files analyzed · 9 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

Unverified package source

We couldn't verify that the installable package matches the reviewed source code. Proceed with caution.

What You'll Need

Set these up before or after installing:

Autario API key from autario.com account settings. Optional: public datasets and stats work without it; needed for private data, connectors and publishing.Required

Environment variable: AUTARIO_API_KEY

Autario API secret paired with AUTARIO_API_KEY. Optional, same scope as the key.Required

Environment variable: AUTARIO_API_SECRET

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-autario-autario-mcp": {
      "env": {
        "AUTARIO_API_KEY": "your-autario-api-key-here",
        "AUTARIO_API_SECRET": "your-autario-api-secret-here"
      },
      "args": [
        "-y",
        "autario-mcp"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

autario-mcp

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.

autario.com | Documentation | Get an API Key

Why autario-mcp

  • 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.
  • 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.
  • Statistical primitives built-in. correlate, regression, find_drivers, lag_analysis, seasonality_decomposition and more, with effect sizes, p-values, and plain-language interpretations.
  • 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.
  • 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:    "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.

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

28 MCP tools, organized by function.

Discovery & Query

Search the catalog, inspect schemas, pull rows.

ToolWhat it doesParameters
search_datasetsSearch 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)
list_indicatorsBrowse 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)
get_entity_profileGet 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)
get_dataset_infoGet full metadata for a specific dataset including title, description, publisher, category, keywords, row count, and creation date.dataset_id (string)
get_dataset_schemaGet 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)
query_datasetQuery 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)
list_chartsList 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)
get_chartGet 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)

Cross-Dataset Joins (Ontology)

The differentiator. Join indicators across datasets via shared time + entity shadow columns. No manual relationship setup.

ToolWhat it doesParameters
get_entity_dataFetch 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)
compare_entitiesCompare 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)
verify_valueVerify 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)

Statistical Analysis

Run analyses against verified data. Outputs include effect sizes, p-values, and plain-language interpretations.

ToolWhat it doesParameters
describeSummary 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)
correlateCompute 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)
regressionLinear 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)
pct_changePeriod-over-period percentage change for an indicator. Use for growth rates (YoY, QoQ, MoM).entity (string), indicator (string), time (string), period (string)
rolling_statsRolling window statistics (mean/std/min/max/sum) for an indicator. Smooths noise, reveals trends.entity (string), indicator (string), window (number), op (string), time (string)
calculateCreate a derived series from two indicators using an Excel-style op: ratio (A/B), ratio_pct (A/B100), diff (A-B), sum (A+B), product (AB). Returns the per-timepoint result + summary. Use for thin...a (string), b (string), entity (string), op (string), time (string)
lag_analysisCross-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)
seasonality_decompositionAdditive 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)
find_driversKILLER 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)
what_mattersHEADLINE 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)

Live Markets

Current quotes for public companies. Beats stale training-data answers.

ToolWhat it doesParameters
get_company_snapshotGet 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)

Write (requires AUTARIO_API_KEY)

Publish charts, create + populate datasets. Get keys at autario.com/account.

ToolWhat it doesParameters
publish_chartPublish 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)
update_chartUpdate 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)
create_datasetCreate 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)
write_rowsAppend 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)
clear_rowsDelete 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)
delete_datasetPermanently 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)

Environment Variables

VariableDefaultPurpose
AUTARIO_API_URLhttps://autario.comAPI base. Override only for self-hosting.
AUTARIO_API_KEYunsetRequired for write tools. Read tools work anonymously.
AUTARIO_API_SECRETunsetCompanion secret for the API key.

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

License

MIT.

Reviews

No reviews yet

Be the first to review this server!