@aborruso/ckan-mcp-server 0.4.85 → 0.4.86

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.
package/LOG.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  ## 2026-03-16
4
4
 
5
+ - docs(`tools/datastore.ts`): add security note to `ckan_datastore_search_sql` — clarifies SQL forwarding boundary; bump v0.4.86
5
6
  - security(`tools/sparql.ts`): apply `validateServerUrl()` to `sparql_query` — blocks SSRF via private IPs (gap from GHSA-3xm7-qw7j-qc8v); 1 new test
6
7
 
7
8
  ## 2026-03-15
package/dist/index.js CHANGED
@@ -2539,7 +2539,9 @@ Examples:
2539
2539
  - { server_url: "...", sql: "SELECT * FROM "abc-123" LIMIT 10" }
2540
2540
  - { server_url: "...", sql: "SELECT COUNT(*) AS total FROM "abc-123"" }
2541
2541
 
2542
- Typical workflow: ckan_package_show (get resource_id) \u2192 ckan_datastore_search_sql (run SQL on it)`,
2542
+ Typical workflow: ckan_package_show (get resource_id) \u2192 ckan_datastore_search_sql (run SQL on it)
2543
+
2544
+ Security note: SQL queries are forwarded directly to the CKAN DataStore API. The CKAN server enforces its own access controls and read-only permissions. No local database is exposed. Queries are limited to public DataStore resources on the target portal.`,
2543
2545
  inputSchema: z4.object({
2544
2546
  server_url: z4.string().url().describe("Base URL of the CKAN server (e.g., https://dati.gov.it/opendata)"),
2545
2547
  sql: z4.string().min(1).describe('SQL SELECT query; resource_id is the table name, must be double-quoted (e.g., SELECT * FROM "abc-123" LIMIT 10)'),
@@ -5122,7 +5124,7 @@ var registerAllPrompts = (server2) => {
5122
5124
  function createServer() {
5123
5125
  return new McpServer({
5124
5126
  name: "ckan-mcp-server",
5125
- version: "0.4.85"
5127
+ version: "0.4.86"
5126
5128
  });
5127
5129
  }
5128
5130
  function registerAll(server2) {