Ckan MCP Server

by ondata• 59•• Scanned•Claim this listing•Request removal
Database Managementai toolsapi clientcivic techckanckan api

MCP server for querying CKAN open data portals (package search, DataStore SQL, organizations, groups, tags)

Ckan MCP Server is an open-source mcp server by ondata, written mainly in TypeScript, with 59 GitHub stars and the MIT license. Its code was last updated Nov 1, 2026.

Scan summary: scanned Nov 5, 2026 at commit bc06349. Seen able to read environment and secrets, connect to databases. Scan policy

Scanned
Full scan at bc06349 · Nov 5, 2026
Scanned Builds Boots No undeclared egress Reproducible
Static code scanpass
Secrets scanpass
Dependency audit136 known vulnerabilitiesfail
Manifestserver.jsonpass
Buildpass
Boot & handshake20 toolspass
Network egresspass
Reproducible (×3)pass

Findings (38)

  • high
    dependencies issue
    Details are available to the maintainer after claiming this listing.
  • high
    dependencies issue
    Details are available to the maintainer after claiming this listing.
  • medium
    @modelcontextprotocol/sdk@1.27.1: 6 known vulnerabilities
    GHSA-22jm-h49p-29qw, GHSA-46jr-4wx8-v453, GHSA-6prh-2h8m-c8cw, GHSA-6qxp-vccf-f47h, GHSA-f897-62hf-6gxq +1 more
    package-lock.json
  • medium
    body-parser@1.20.6: 1 known vulnerability
    GHSA-27r3-jxmh-p828
    package-lock.json
  • medium
    body-parser@2.3.0: 1 known vulnerability
    GHSA-27r3-jxmh-p828
    package-lock.json
  • medium
    follow-redirects@1.16.0: 3 known vulnerabilities
    GHSA-8r9p-f939-6h3c, GHSA-mrwp-f3q8-3g9p, GHSA-q3jh-wrc6-jgq8
    package-lock.json
  • medium
    sharp@0.35.2: 2 known vulnerabilities
    GHSA-rgj7-g3m4-5g8c, GHSA-wq5f-xc86-pv6w
    package-lock.json
  • medium
    source-map-js@1.2.1: 2 known vulnerabilities
    GHSA-68fv-2mgg-jv7q, GHSA-68fv-2mgg-jv7q
    package-lock.json
  • medium
    undici@6.28.0: 8 known vulnerabilities
    GHSA-2m5v-pch6-74hx, GHSA-3wwx-pv8p-q78v, GHSA-4qv8-2p9j-2685, GHSA-9fm3-97px-rjf6, GHSA-qrxm-fqhp-jwvm +3 more
    package-lock.json
  • medium
    undici@7.29.0: 18 known vulnerabilities
    GHSA-2gqq-gqf2-x968, GHSA-2jfj-6hjv-fm6j, GHSA-2m5v-pch6-74hx, GHSA-3wwx-pv8p-q78v, GHSA-3xpg-4rpp-hhhm +13 more
    package-lock.json
  • medium
    vite@8.2.2: 6 known vulnerabilities
    GHSA-587h-7wmj-h5pm, GHSA-698v-4r3x-3vcv, GHSA-9jrq-w75r-8gcw, GHSA-r825-w8mm-5pxw, GHSA-rq7h-c2jc-7f22 +1 more
    package-lock.json
  • medium
    zod@3.25.76: 2 known vulnerabilities
    GHSA-mrhx-c7xc-m3w5, GHSA-mrhx-c7xc-m3w5
    package-lock.json
  • medium
    browserslist@4.28.1: 2 known vulnerabilities
    GHSA-73wf-gq98-2v4g, GHSA-c83g-rgw3-j3cx
    website/package-lock.json
  • medium
    defu@6.1.4: 1 known vulnerability
    GHSA-737v-mqg7-c878
    website/package-lock.json
  • medium
    devalue@5.6.2: 11 known vulnerabilities
    GHSA-33hq-fvwr-56pm, GHSA-4q55-j62x-fr9h, GHSA-8qm3-746x-r74r, GHSA-9rgm-9g3h-6x36, GHSA-cfw5-2vxh-hr84 +6 more
    website/package-lock.json
  • medium
    h3@1.15.5: 4 known vulnerabilities
    GHSA-22cc-p3c6-wpvm, GHSA-4hxc-9384-m385, GHSA-72gr-qfp7-vwhw, GHSA-wr4h-v87w-p3r7
    website/package-lock.json
  • medium
    js-yaml@4.1.1: 4 known vulnerabilities
    GHSA-2883-xcg3-v3hh, GHSA-52cp-r559-cp3m, GHSA-5p4m-2wfm-xmqj, GHSA-h67p-54hq-rp68
    website/package-lock.json
  • medium
    nanoid@3.3.11: 3 known vulnerabilities
    GHSA-28wg-ghj8-5hjv, GHSA-2v37-7h3g-55p8, GHSA-xwg4-73v4-xw9w
    website/package-lock.json
  • medium
    picomatch@2.3.1: 2 known vulnerabilities
    GHSA-3v7f-55p6-f55p, GHSA-c2c7-rcm5-vvqj
    website/package-lock.json
  • medium
    picomatch@4.0.3: 2 known vulnerabilities
    GHSA-3v7f-55p6-f55p, GHSA-c2c7-rcm5-vvqj
    website/package-lock.json
  • medium
    postcss@8.5.6: 4 known vulnerabilities
    GHSA-6g55-p6wh-862q, GHSA-fxqj-rqcc-2cmp, GHSA-qx2v-qp2m-jg93, GHSA-r28c-9q8g-f849
    website/package-lock.json
  • medium
    rollup@4.56.0: 1 known vulnerability
    GHSA-mw96-cpmx-2vgc
    website/package-lock.json
  • medium
    sharp@0.34.5: 3 known vulnerabilities
    GHSA-f88m-g3jw-g9cj, GHSA-rgj7-g3m4-5g8c, GHSA-wq5f-xc86-pv6w
    website/package-lock.json
  • medium
    smol-toml@1.6.0: 3 known vulnerabilities
    GHSA-7w5x-hrqm-74c2, GHSA-r4xh-jqrq-34v2, GHSA-v3rj-xjv7-4jmq
    website/package-lock.json
  • medium
    svgo@4.0.0: 4 known vulnerabilities
    GHSA-2p49-hgcm-8545, GHSA-4vpr-x523-8j87, GHSA-w27v-7q3p-w38r, GHSA-xpqw-6gx7-v673
    website/package-lock.json
  • medium
    vite@6.4.1: 9 known vulnerabilities
    GHSA-4w7w-66w2-5vf9, GHSA-587h-7wmj-h5pm, GHSA-698v-4r3x-3vcv, GHSA-9jrq-w75r-8gcw, GHSA-fx2h-pf6j-xcff +4 more
    website/package-lock.json
  • low
    @hono/node-server@1.19.17: 1 known vulnerability
    GHSA-rmxm-3fg6-px4f
    package-lock.json
  • low
    @vitest/mocker@4.1.11: 2 known vulnerabilities
    GHSA-qxg6-89mg-rqv8, GHSA-xp26-3454-mjgp
    package-lock.json
  • low
    fast-uri@3.1.7: 5 known vulnerabilities
    GHSA-333x-w4r6-6crp, GHSA-hrr3-gc8f-f4qj, GHSA-w74x-v6f9-j3xg, GHSA-wjr9-j795-jxcr, GHSA-xhq7-xmqj-769h
    package-lock.json
  • low
    hono@4.13.7: 1 known vulnerability
    GHSA-5r4p-p66f-jhc7
    package-lock.json
  • low
    ip-address@10.7.0: 3 known vulnerabilities
    GHSA-h3mg-xc3c-68pw, GHSA-j6r3-76f7-8jcv, GHSA-rxp7-6hxx-x8q5
    package-lock.json
  • low
    qs@6.15.3: 3 known vulnerabilities
    GHSA-4mjr-xmp4-gh2g, GHSA-6pq8-jhm2-2vcw, GHSA-x5fp-wj9c-mxmx
    package-lock.json
  • low
    @babel/core@7.28.6: 1 known vulnerability
    GHSA-4x5r-pxfx-6jf8
    website/package-lock.json
  • low
    baseline-browser-mapping@2.9.18: 1 known vulnerability
    GHSA-w5vr-8v7q-w6rv
    website/package-lock.json
  • low
    postcss-selector-parser@6.0.10: 1 known vulnerability
    GHSA-rj75-hqrm-r3gf
    website/package-lock.json
  • low
    postcss-selector-parser@6.1.2: 2 known vulnerabilities
    GHSA-rj75-hqrm-r3gf, GHSA-w9m9-85wc-3x92
    website/package-lock.json
  • low
    yaml@2.8.2: 1 known vulnerability
    GHSA-48c2-rrv3-qjmp
    website/package-lock.json
  • low
    Reads environment variables not listed in the manifest
    MCP_URL, SMOKE_PORT, CF_ACCOUNT_ID, CF_API_TOKEN, CF_SCRIPT_NAME, TRANSPORT, CKAN_HTTP_HOST, CKAN_HTTP_ALLOWED_HOSTS, CKAN_HTTP_ALLOWED_ORIGINS, CKAN_HTTP_ALLOW_ALL

Network activity

During install
registry.npmjs.org
While running
No connections

Tools exposed (20)

  • ckan_package_search

    Search for datasets (packages) on a CKAN server using Solr query syntax. Supports full Solr search capabilities including filters, facets, and sorting. Use this to discover datasets matching specific criteria. Note on parser behavior: Some CKAN portals use a restrictive default query parser that c

  • ckan_find_relevant_datasets

    Find and rank datasets by relevance to a query using weighted fields. Use this instead of ckan_package_search when you want relevance-ranked results with explicit scoring across title, notes, tags, and organization fields. Use ckan_package_search instead when you need Solr filter syntax, facets, or

  • ckan_package_show

    Get complete metadata for a specific dataset (package). Returns full details including resources, organization, tags, and all metadata fields. Notes: - metadata_modified is a CKAN record timestamp (publish time on source portals, harvest time on aggregators), not the content date. - issued

  • ckan_list_resources

    List all resources in a dataset with a compact summary. Returns a focused table of resources showing format, size, DataStore availability, and download URL. Use this to quickly assess what files a dataset contains before deciding how to access the data. Args: - server_url (string): Base URL of C

  • ckan_organization_list

    List all organizations on a CKAN server. Organizations are entities that publish and manage datasets. Args: - server_url (string): Base URL of CKAN server - all_fields (boolean): Return full objects vs just names (default: false) - sort (string): Sort field (default: "name asc") - limit (n

  • ckan_organization_show

    Get details of a specific organization. Args: - server_url (string): Base URL of CKAN server - id (string): Organization ID or name - include_datasets (boolean): Include list of datasets (default: true) - include_users (boolean): Include list of users (default: false) - response_format ('

  • ckan_organization_search

    Search for organizations by name pattern. This tool provides a simpler interface than package_search for finding organizations. Wildcards are automatically added around the search pattern. Args: - server_url (string): Base URL of CKAN server - pattern (string): Search pattern (e.g., "toscana",

  • ckan_datastore_search

    Query data from a CKAN DataStore resource. The DataStore allows SQL-like queries on tabular data. Not all resources have DataStore enabled. The response always includes a Fields section listing all available column names and types. Use limit=0 to discover column names without fetching data — do th

  • ckan_datastore_search_sql

    Run SQL queries on a CKAN DataStore resource. This endpoint is only available on CKAN portals with DataStore enabled and SQL access exposed. Args: - server_url (string): Base URL of CKAN server - sql (string): SQL query (e.g., SELECT * FROM "resource_id" LIMIT 10) - response_format ('markdow

  • ckan_status_show

    Check if a CKAN server is available and get version information. Useful to verify server accessibility before making other requests. Also shows the count of High-Value Datasets (HVD) when the portal supports it. Args: - server_url (string): Base URL of CKAN server Returns: Server status, vers

  • ckan_tag_list

    List tags from a CKAN server using faceting. This returns tag names with counts, optionally filtered by dataset query or tag substring. Args: - server_url (string): Base URL of CKAN server - q (string): Dataset search query (default: "*:*") - fq (string): Filter query (optional) - tag_quer

  • ckan_group_list

    List all groups on a CKAN server. Groups are thematic collections of datasets. Args: - server_url (string): Base URL of CKAN server - all_fields (boolean): Return full objects vs just names (default: false) - sort (string): Sort field (default: "name asc") - limit (number): Maximum results

  • ckan_group_show

    Get details of a specific group. Args: - server_url (string): Base URL of CKAN server - id (string): Group ID or name - include_datasets (boolean): Include list of datasets (default: true) - response_format ('markdown' | 'json'): Output format Returns: Group details with optional dataset

  • ckan_group_search

    Search for groups by name pattern. This tool provides a simpler interface than package_search for finding groups. Wildcards are automatically added around the search pattern. Args: - server_url (string): Base URL of CKAN server - pattern (string): Search pattern (e.g., "energia", "salute") -

  • ckan_get_mqa_quality

    Get MQA (Metadata Quality Assessment) quality score for a dataset on dati.gov.it from data.europa.eu. Returns the final score on the 0-7.5 scale of MQA methodology v2 with its band (Sufficient/Good/Excellent), dataset, distribution and data service scores, and the failing metrics with the largest ga

  • ckan_get_mqa_quality_details

    Get detailed MQA (Metadata Quality Assessment) quality reasons for a dataset on dati.gov.it. Lists every failing metric grouped by FAIR dimension, with DCAT-AP property, weight, how many distributions fail it and its gain on the final score, plus the HTTP status of failing URL tests (e.g. 1100 timeo

  • ckan_analyze_datasets

    Search datasets and inspect the DataStore schema of queryable resources. For each dataset found, lists all resources. For DataStore-enabled resources, fetches the full field schema (name, type, and label/notes when available) plus total record count — all in one call. Use this before ckan_datastor

  • ckan_catalog_stats

    Get a statistical overview of a CKAN portal: total dataset count and breakdown by category, format, and organization. Single CKAN call (package_search with rows=0 and facets). No query needed. Args: - server_url (string): Base URL of the CKAN server - facet_limit (number): Max entries per face

  • sparql_query

    Execute a SPARQL SELECT query against any public HTTPS SPARQL endpoint. Useful for querying open data portals and knowledge graphs that expose SPARQL endpoints, including: - data.europa.eu (European open data portal) - publications.europa.eu (EU Publications Office) - DBpedia, Wikidata - Any DCAT-A

  • ckan_find_portals

    Search the live datashades.info registry of ~950 CKAN portals worldwide. Use this tool to discover which CKAN portals exist for a country, language, or topic before querying them with other CKAN tools. **IMPORTANT — country parameter**: always pass country name in English. If the user writes in an

Automated result for the commit shown. See our scan policy. View the scan log

Maintainers can claim the listing to rescan, or dispute a result.

Ckan MCP Server alternatives

View more →

Similar mcp servers in Database Management, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.

NameStarsLicenceLast updatedScan
Ckan MCP Server (this page)
ondata
59MITNov 1, 2026Scanned, no flagged issues
Codebase Memory MCP
DeusData
48kMITNov 1, 2026Scanned, see report
Xerj
xerj-org
19kApache-2.0Nov 1, 2026Scanned, no flagged issues
MCP Toolbox
googleapis
17kApache-2.0Nov 1, 2026Scanned, no flagged issues
Nightingale
ccfos
13kApache-2.0Oct 30, 2026Scanned, no flagged issues
Dbhub
bytebase
3.8kMITOct 26, 2026Scanned, no flagged issues