EcuDataMCP is an MCP (Model Context Protocol) server I built with Luis Figueroa, pooling what each of us had already learned wrangling Ecuador’s open data. It lets an AI assistant query Ecuadorian public data directly inside a conversation, instead of digging through government portals or cleaning up spreadsheets by hand. I recently used it to build Sismicidad Ecuador, a dashboard that tracks the country’s recent seismic activity and shows what the server can actually do.
What does EcuDataMCP do?
MCP is the open protocol that lets an AI assistant (Claude, ChatGPT, Cursor, and others) call structured tools mid-conversation instead of just producing text. EcuDataMCP uses it to expose, as queryable tools, data scattered across more than a dozen Ecuadorian government portals. Each one has its own format, its own upkeep, and authentication that ranges from strict to nonexistent:
| Source | What it exposes |
|---|---|
Open Data (CKAN, datosabiertos.gob.ec) |
The full national catalog, with preview and tabular querying through the DataStore (no need to download the file) |
| SRI (tax authority) | ~130 files that live outside the CKAN portal: RUC registrations by province, tax collection, sales/purchases, vehicles |
| Gob.ec | Procedures, requirements and costs; regulations cross-referenced to the Official Registry |
| SERCOP (OCDS) | Public procurement: tenders, buyers, awards |
| Risk Management (SGR) | COE emergency events and tsunami early-warning stations |
| IG-EPN | The seismic catalog, the source behind the dashboard shown below |
| ANDA/INEC | Catalog of surveys and censuses, linked out to microdata |
| BCE (central bank) | Macroeconomic time series (monetary, fiscal, external sector, real sector) |
| Supercías | A directory of 226,000 companies with a financial ranking (~38 ratios per company), plus a registry of external auditors |
That adds up to roughly 40 distinct tools inside the MCP (search_datasets, query_resource_data, search_tramites, search_sismos, get_indicador_bce, and so on).
The goal is that an assistant can answer something like “what tax-collection data does the SRI publish?” or “give me the latest earthquakes above magnitude 4” without anyone hunting through each portal by hand.
How it was built
The server connects to the APIs and other endpoints the national government makes available, and wraps each one as a small, packaged tool. A Claude Code, Codex, or Cursor session can then talk to that data faster than a person clicking through a portal.
It’s not without friction. For now you need an Ecuadorian VPN to use it.
It’s open-source under the MIT license, needs no API key or account, and works both as a tool a client connects to (Claude Desktop, Claude Code, Cursor, ChatGPT on paid plans, and so on) and as something you can run locally with Docker.
Sismicidad Ecuador: the demo
I wanted a concrete way to show what EcuDataMCP is good for, something more tangible than a list of tools in a README. Sismicidad Ecuador does that: an interactive panel that queries the search_sismos tool (which in turn calls the IG-EPN’s event feed) and lays out the country’s recent seismic activity with:
- An interactive map with the country’s real provincial and cantonal boundaries, pulled from geoBoundaries (CC0) instead of a hand-drawn approximation.
- A 29-day timeline showing each event’s local time.1
- Filters by magnitude, depth, region, and time period, with an event list and detail panel that stay in sync with the map as you move through it.
- KPIs that update live as you apply filters.
The entire frontend (the map, the geographic projections, the interactivity) is written in plain HTML, SVG, and JavaScript: no external libraries, no backend. It’s a single .html file you can open as-is.
For now it doesn’t update live, and it only covers the last 30 days of events.
I built the whole thing myself with Claude Code: a rough sketch first, then downloading and simplifying the geoBoundaries geometries, then several redesigns of the interface until it stopped looking like a dataset with a UI bolted on.
Try it
It’s also embedded on my dashboards page, alongside my other data-visualization projects.
Footnotes
The IG-EPN’s public feed only retains the last 30 days of events, with no access to a longer history, so the timeline can’t show more than that.↩︎