npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

autario-mcp

v2.12.0

Published

MCP server for Autario | search, query, join, and analyze 2,700+ public datasets (World Bank, FRED, Eurostat, OECD, WHO, ECB, US Census, IMF). Cross-dataset joins via shared ontology, statistical analysis (correlation, regression, drivers, lag), and chart

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

55 MCP tools, organized by function.

Discovery & Query

Search the catalog, inspect schemas, pull rows.

| Tool | What it does | Parameters | | --- | --- | --- | | search_datasets | 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 tab... | query (string), category (string), visibility (string), limit (number), page (number), format (string) | | discover_by_topic | 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 articl... | topic (string), depth_pref (string), recency_window (string), limit (number) | | list_indicators | 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, healt... | topic (string), unit (string), frequency (string), entity_type (string), publisher (string), search (string), limit (number) | | get_entity_profile | 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... | entity_id (string), topic (string), limit (number), offset (number), format (string) | | get_dataset_info | 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 co... | dataset_id (string), format (string) | | get_dataset_schema | 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 te... | dataset_id (string), format (string) | | query_dataset | 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, Met... | dataset_id (string), limit (number), offset (number), fields (string), sort (string), filter (array), aggregate (string), groupby (string), summary_only (boolean), non_null_only (boolean), format (string) | | list_charts | 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 d... | q (string), limit (number), offset (number), format (string) | | get_chart | 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 pub... | chart_id (string), format (string) | | chart_instructions | 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... | none |

Cross-Dataset Joins (Ontology)

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

| Tool | What it does | Parameters | | --- | --- | --- | | get_entity_data | 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 unemploym... | entity_id (string), indicators (array), time (string), full (boolean), format (string) | | compare_entities | 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... | entities (array), indicator (string), time (string), full (boolean), format (string) | | verify_value | 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 yo... | 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.

| Tool | What it does | Parameters | | --- | --- | --- | | 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) | | 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), full (boolean) | | regression | 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, Euro... | entity (string), y (string), x (string), time (string), full (boolean) | | pct_change | 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 i... | entity (string), indicator (string), time (string), period (string), full (boolean) | | rolling_stats | 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... | entity (string), indicator (string), window (number), op (string), time (string), full (boolean) | | calculate | Create 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), full (boolean) | | 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) | | 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), full (boolean) | | find_drivers | 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 wi... | entity (string), target_indicator (string), candidates (array), time (string) | | decompose_drivers | 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... | entity (string), target_indicator (string), candidates (array), time (string), max_lag (number) | | what_matters | 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 (... | entity (string), outcome (string), candidates (string), time (string) |

Live Markets

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

| Tool | What it does | Parameters | | --- | --- | --- | | get_company_snapshot | 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. R... | ticker (string), metrics (array) |

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

| Tool | What it does | Parameters | | --- | --- | --- | | list_connectors | List the platform connectors set up on this Autario account | Google Search Console, Google Analytics 4 (GA4), Google Ads, Meta Ads, Facebook Pages, Instagram, TikTok, TikTok Ads, YouTube, LinkedIn... | none | | refresh_connector | Pull the latest numbers from one connected platform right now (Google Search Console, GA4, Google Ads, Meta Ads, Facebook, Instagram, TikTok, YouTube, LinkedIn, Shopify, Stripe, Bing Webmaster Tool... | connector_id (string) |

Charts on Demand

Browse datasets that want a chart and request one for a dataset.

| Tool | What it does | Parameters | | --- | --- | --- | | list_chart_candidates | 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... | limit (number) | | request_chart | 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... | dataset_id (string), query (string), insight (string), chart_type (string), region (string), time (string) |

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.

| Tool | What it does | Parameters | | --- | --- | --- | | list_apps | 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,... | format (string) | | get_my_workspace | 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, Insta... | format (string) | | get_app_context | 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 | Go... | app_id (string), format (string) | | get_app_artifact | 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 sp... | app_id (string), slug (string), format (string) | | audience_360 | 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 (... | sections (array), range (string), from (string), to (string), channel (string), countries (string), brand (string), format (string) | | seo_360 | 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, no... | sections (array), days (integer), format (string) | | social_360 | Social 360 | the caller's OWN deterministic social performance report over their connected Facebook Page, Instagram, TikTok and YouTube data, computed server-side (the exact numbers the user sees i... | sections (array), days (integer), sort (string), format (string) | | ai_visibility_360 | 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 run... | brand (string), sections (array), days (integer), format (string) | | bubble_or_not | 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, Dil... | ticker (string), metric (string), range (string), chart_type (string), scale (string) |

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.

| Tool | What it does | Parameters | | --- | --- | --- | | create_app | 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,... | name (string), tagline (string), entry_kind (string), entry_url (string), content (string), content_type (string), source_url (string) | | update_app_manifest | 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 sa... | app_id (string), name (string), tagline (string), entry_url (string), version (string), source_url (string), consumed_datasets (array), tier (integer) | | upload_app_bundle | 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... | app_id (string), content (string), content_type (string), version (string) | | write_app_artifact | 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,... | app_id (string), artifact_id (string), type (string), title (string), spec (object), data (object), visibility (string) | | get_app_preview_url | 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 da... | app_id (string) | | publish_app | 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 Vis... | app_id (string), visibility (string) | | unpublish_app | 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... | app_id (string) |

Write (requires AUTARIO_API_KEY)

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

| Tool | What it does | Parameters | | --- | --- | --- | | create_chart_from_spec | 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] +... | builder_spec (object), title (string), insight (string), narration (string), dataset_ids (array) | | publish_chart | 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). R... | title (string), plotly_spec (object), insight (string), narration (string), dataset_ids (array) | | 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) | | create_dataset | 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 w... | title (string), description (string), category (string), is_public (boolean) | | write_rows | 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... | dataset_id (string), rows (array) | | clear_rows | 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 pub... | dataset_id (string) | | delete_dataset | 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 permanen... | dataset_id (string) | | report_data_issue | 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... | dataset_id (string), finding_type (string), severity (string), evidence (object), detail (string) |

Admin

Curator-only; invisible to other callers.

| Tool | What it does | Parameters | | --- | --- | --- | | get_traction_overview | 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),... | none | | get_engine_report | 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 s... | trends (boolean), trend_days (integer), format (string) |

Environment Variables

| Variable | Default | Purpose | | --- | --- | --- | | AUTARIO_API_URL | https://autario.com | API base. Override only for self-hosting. | | AUTARIO_API_KEY | unset | Required for write tools. Read tools work anonymously. | | AUTARIO_API_SECRET | unset | Companion 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.