Open-source · MCP Server

meta-data-mcp

One MCP server. 76 open-data sources. Transparent routing — the LLM finds the right dataset automatically, and creates new plugins on-demand when no match exists.

MIT License Python · uv MCP Protocol SSE + stdio MCP Apps v2.0
76
bundled plugins
~330
tools exposed
1
install step
8
meta routing tools

Why one server?

Installing a separate MCP server per data source doesn't scale. meta-data-mcp bundles 76 plugins but presents a single server. The LLM calls opendata-find-providers with a plain-text query — "FX rates", "court rulings", "earthquakes near Lisbon" — and gets back the matching plugin. No setup step, no per-provider install rituals. If the registry has no match, the server creates a new plugin autonomously and calls it immediately.

Discovery

Transparent routing

Eight meta tools let the LLM find, describe, and create plugins without user intervention. The routing engine scores matches against every bundled plugin.

Autonomous generation

Self-extending

When opendata-find-providers returns no match, the server uses opendata-create-plugin to build and hot-load a new plugin on the fly.

MCP Apps v2.0

Visual results

All 76 providers bind to shape primitives or custom apps — timeseries charts, Leaflet maps, faceted tables, vulnerability radars, ASN topology graphs, and more.

Self-hosted

Remote SSE endpoint

Bearer-auth protected SSE transport, systemd-managed, behind nginx TLS. Connect any MCP client to mcp.linzalytics.com.

Hosted endpoint

A production instance of meta-data-mcp runs at mcp.linzalytics.com, available as a remote SSE server. Requires a bearer token.

SSE endpoint https://mcp.linzalytics.com/sse
Transport SSE + bearer auth

Install locally

# Install uv if needed brew install uv # macOS curl -LsSf https://astral.sh/uv/install.sh | sh # Linux # Register with all detected MCP clients uv run meta-data-mcp setup # Target a specific client uv run meta-data-mcp setup --client claude-code

Supports Claude Desktop, Claude Code, Cursor, Windsurf, Gemini CLI, and LM Studio. Each existing config is backed up before writing. Restart the affected client to see the new server.

Meta tools

ToolPurpose
opendata-find-providersFree-text search over the plugin registry. Returns ranked matches.
opendata-describe-providerFull metadata for one plugin — domains, regions, keywords, required env vars.
opendata-list-domainsEnumerate the controlled domain vocabulary (health, legal, finance, earth-science, …).
opendata-list-providersPaginated dump of the complete registry.
opendata-draft-specBuild a validated plugin YAML spec from structured inputs. Validates casing, path placeholders, and parameter types.
opendata-create-pluginAutonomously create, import, register, and hot-load a new plugin from a YAML spec.

Plugin categories

Government / Civic

US, UK, Canada, France, Australia, Singapore, Netherlands, Raleigh, Fayetteville, Cary

Finance / Markets

ECB, SEC EDGAR, US Treasury, Frankfurter FX, CoinGecko, IMF, World Bank, OECD

Earth Science / Weather

Open-Meteo, NOAA NCEI, NOAA Tides, USGS Earthquakes, Copernicus

Networking / BGP

RIPE NCC RIPEstat, BGPView — BGP routing data, ASN info, prefix lookups

Scholarly / Literature

arXiv, Crossref, OpenAlex, Europe PMC, RCSB PDB, PubChem

Legal

CourtListener, UK legislation.gov.uk, Dutch Rechtspraak, US Federal Register

Geo / Knowledge

OSM Nominatim, Overpass, Wikidata, Wikipedia, US Census Geocoder

Transit / Aviation

Deutsche Bahn, Swiss Federal Railways, NDOV, FAA NAS Status, NOAA Aviation Weather

Open source · MIT

Forked from opendata-mcp and reshaped around the single-server model. PRs welcome — materialized plugins generated via opendata-create-plugin become static registry entries once cleaned up.

View on GitHub → Smithery →
Linzalytics Sanctions Intelligence GitHub mcp.linzalytics.com Privacy