MCP server for Ukraine's open data portal data.gov.ua (read-only, token-efficient, job-shaped tools)

opendata-mcp — data.gov.ua MCP server

Українською

An open-source MCP server that lets any MCP-compatible AI agent search and analyze Ukraine's national open-data portal data.gov.ua in natural language.

It speaks the Model Context Protocol, so it works with any client that supports MCP — including Claude (Desktop / Code), ChatGPT (Developer Mode / custom connectors), Google Gemini, Cursor, Cline / Continue, VS Code Copilot, local models via Ollama / LM Studio, and your own agents built on the Python/TypeScript MCP SDKs. Not tied to any single vendor.

Phase 1: read-only, public endpoints — no API token, no auth required.

Design

Tools are jobs-to-be-done, not thin API wrappers. Each tool does a complete user task, composes several CKAN calls internally, hides portal quirks (UUID slugs, dirty formats, sparse DataStore, Unicode homoglyphs), and returns a token-efficient slim result (a search hit is ~150 B vs ~17 KB raw).

Tool What it does
find_datasets Find datasets by topic; ranked slim candidates + refine hints
explore_catalog Aggregate view (who publishes / how much) — counts only
inspect_dataset Full dataset card: license, freshness, resources
get_dataset_data Get the actual data — auto-picks best resource; DataStore or download+parse CSV/JSON/XLSX/XML, including files inside ZIP archives (ЄДР, debtors registries)
filter_data Filter rows / read-only SQL over a structured (DataStore) resource
track_updates Recently updated datasets, filterable by topic/org

Install

The server runs over stdio, the transport every MCP client understands. The config below is the same everywhere — only the file/menu where you paste it differs per client.

Any MCP client (npm) — universal

{
  "mcpServers": {
    "opendata-ua": {
      "command": "npx",
      "args": ["-y", "@opendata-ua/mcp-server"]
    }
  }
}

Where to put it:

Client Location
Claude Desktop Settings → Developer → Edit Config (claude_desktop_config.json)
Claude Code claude mcp add opendata-ua -- npx -y @opendata-ua/mcp-server
ChatGPT Settings → Connectors → add MCP server (Developer Mode)
Google Gemini Gemini CLI / SDK mcpServers config
Cursor Settings → MCP → Add Server (~/.cursor/mcp.json)
Cline / Continue / VS Code the extension's MCP settings
Custom agent point your MCP SDK at npx -y @opendata-ua/mcp-server

Claude Desktop — one-click DXT

DXT is Claude Desktop's drag-and-drop bundle format:

  1. Download opendata-ua-mcp.dxt from Releases.
  2. Drag it into Claude Desktop → Settings → Extensions. Done. No config.

From source

npm install
npm run build
node dist/stdio.js   # any MCP client can spawn this

Try it

"Find ecology datasets from Lviv published in 2024""Which organizations publish the most procurement data?""Show me the first rows of the stolen-vehicles register"

Configuration (optional)

Env var Default Purpose
DATA_GOV_UA_BASE_URL https://data.gov.ua/api/3/action API base (mirror/dev portal)
CACHE_TTL_SECONDS 300 LRU cache TTL for catalogs
HTTP_TIMEOUT_MS 30000 Request timeout
MAX_RESPONSE_CHARS 60000 Per-response context-budget ceiling
MAX_DOWNLOAD_BYTES 10000000 Cap for files downloaded + parsed locally
LOG_LEVEL info debug/info/warn/error

Develop

npm test          # vitest
npm run typecheck
npm run lint
npm run smoke      # live test against data.gov.ua
npm run build:dxt  # build the .dxt package

The portal runs CKAN 2.7.2. DataStore (queryable rows) covers only ~0.3 % of resources, so get_dataset_data downloads + parses files locally when needed; filter_data/SQL apply to the DataStore-active minority.

License

MIT © Open Data UA Community

MCP Server · Populars

MCP Server · New

    SylphxAI

    Citra

    Give your AI agent eyes for PDFs — structured text, tables, OCR, visual evidence, and page-level citations via MCP. Native Rust, local-first.

    Community SylphxAI
    fastcrw

    fastCRW

    Fast, lightweight Firecrawl/Tavily alternative in Rust. Web scraper, crawler & search API with MCP server for AI agents. Drop-in Firecrawl-compatible API (/scrape, /crawl, /search). 2.3x faster than Tavily, 1.5x faster than Firecrawl in 1K-URL benchmarks. 6 MB RAM, single binary. Self-host or use managed cloud.

    Community fastcrw
    feder-cr

    aihawk_mcp_server

    Anti-detect agentic browser: undetected browsing, browser automation, MCP server, AI web browsing agent, computer use, scraping, lead generation. No captchas.

    Community feder-cr
    Hyperiux-Immersion-Labs

    hyperiux-mcp-server

    Animation effects and interactive UI components for Next.js - CLI-installable, 50+ free MIT effects and 100+ Pro

    dx-corp

    Deep Code Reasoning MCP Server

    A Model Context Protocol (MCP) server that provides advanced code analysis and reasoning capabilities powered by Google's Gemini AI

    Community dx-corp