@aborruso/ckan-mcp-server 0.4.94 → 0.4.95

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/LOG.md +6 -0
  2. package/dist/index.js +11 -3
  3. package/package.json +1 -1
package/LOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## 2026-03-26
4
4
 
5
+ ### v0.4.95
6
+
7
+ - Show `Portal Locale` (`locale_default`) in `ckan_status_show` markdown output
8
+ - Add query language hint to `ckan_package_search` description: check locale before searching
9
+ - Update skill query construction rule: dynamic locale check via `ckan_status_show` instead of hardcoded portal table
10
+
5
11
  ### v0.4.94
6
12
 
7
13
  - Add `data.gov.ua` (Ukraine open data portal) to `portals.json` with explicit `force_text_field: false` to prevent auto-detection from incorrectly wrapping Solr queries in `text:(...)`, which caused 0 results
package/dist/index.js CHANGED
@@ -1226,7 +1226,13 @@ Examples:
1226
1226
  - Filter extras OR (correct): { fq: "extras_hvd_category:("http://data.europa.eu/bna/c_ac64a52d" OR "http://data.europa.eu/bna/c_dd313021")" }
1227
1227
  - Get facets: { facet_field: ["organization"], rows: 0 }
1228
1228
 
1229
- Typical workflow: ckan_package_search \u2192 ckan_package_show (get full metadata + resource IDs) \u2192 ckan_datastore_search (query tabular data)`,
1229
+ Query language:
1230
+ Before searching a portal, check its locale via ckan_status_show (field: "Portal Locale" / locale_default).
1231
+ Translate query terms to the portal's language \u2014 searching in English on a non-English portal returns 0 results.
1232
+ Examples: locale "it" \u2192 Italian terms; "uk_UA" \u2192 Ukrainian (Cyrillic); "fr_FR" \u2192 French.
1233
+ Exception: multilingual portals (e.g. data.europa.eu, open.canada.ca) accept EN + native terms joined with OR.
1234
+
1235
+ Typical workflow: ckan_status_show (check locale) \u2192 ckan_package_search (query in portal's language) \u2192 ckan_package_show (get full metadata + resource IDs) \u2192 ckan_datastore_search (query tabular data)`,
1230
1236
  inputSchema: z2.object({
1231
1237
  server_url: z2.string().url("Must be a valid URL").describe("Base URL of the CKAN server"),
1232
1238
  q: z2.string().optional().default("*:*").describe("Search query in Solr syntax"),
@@ -2608,6 +2614,8 @@ function formatStatusMarkdown(result, serverUrl, hvdCount) {
2608
2614
  const sparqlLine = sparql ? `**SPARQL Endpoint**: ${sparql.endpoint_url}
2609
2615
  ` : "";
2610
2616
  const hvdLine = hvdCount !== void 0 ? `**HVD Datasets**: ${hvdCount}
2617
+ ` : "";
2618
+ const localeLine = result.locale_default ? `**Portal Locale**: ${result.locale_default}
2611
2619
  ` : "";
2612
2620
  return `# CKAN Server Status
2613
2621
 
@@ -2616,7 +2624,7 @@ function formatStatusMarkdown(result, serverUrl, hvdCount) {
2616
2624
  **CKAN Version**: ${result.ckan_version || "Unknown"}
2617
2625
  **Site Title**: ${result.site_title || "N/A"}
2618
2626
  **Site URL**: ${result.site_url || "N/A"}
2619
- ` + sparqlLine + hvdLine;
2627
+ ` + localeLine + sparqlLine + hvdLine;
2620
2628
  }
2621
2629
  function registerStatusTools(server) {
2622
2630
  server.registerTool(
@@ -5140,7 +5148,7 @@ var registerAllPrompts = (server) => {
5140
5148
  function createServer() {
5141
5149
  return new McpServer({
5142
5150
  name: "ckan-mcp-server",
5143
- version: "0.4.94"
5151
+ version: "0.4.95"
5144
5152
  });
5145
5153
  }
5146
5154
  function registerAll(server) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aborruso/ckan-mcp-server",
3
- "version": "0.4.94",
3
+ "version": "0.4.95",
4
4
  "mcpName": "io.github.aborruso/ckan-mcp-server",
5
5
  "description": "MCP server for interacting with CKAN open data portals",
6
6
  "main": "dist/index.js",