@aborruso/ckan-mcp-server 0.4.35 → 0.4.37
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/AGENTS.md +18 -0
- package/LOG.md +18 -3
- package/dist/index.js +20 -2
- package/dist/worker.js +60 -57
- package/package.json +1 -1
package/AGENTS.md
CHANGED
|
@@ -64,6 +64,24 @@ Line 2
|
|
|
64
64
|
EOF
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
+
When writing GitHub release notes, avoid literal `\n` in `--notes`. Always pass a here-doc
|
|
68
|
+
via `--notes-file -` so line breaks render correctly:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
cat <<'EOF' | gh release create v0.X.Y --title "v0.X.Y - Title" --notes-file -
|
|
72
|
+
## What's New
|
|
73
|
+
|
|
74
|
+
### Changes
|
|
75
|
+
- Item 1
|
|
76
|
+
- Item 2
|
|
77
|
+
|
|
78
|
+
### No Breaking Changes
|
|
79
|
+
- All existing functionality preserved
|
|
80
|
+
|
|
81
|
+
**Full Changelog**: https://github.com/ondata/ckan-mcp-server/compare/v0.X-1.Y...v0.X.Y
|
|
82
|
+
EOF
|
|
83
|
+
```
|
|
84
|
+
|
|
67
85
|
## TypeScript Style
|
|
68
86
|
|
|
69
87
|
Use strict typing, avoid `any` unless from CKAN payloads. Prefer explicit return types, `type` aliases, ESM imports with `.js` extensions. Keep `noUnusedLocals` and `noUnusedParameters` clean.
|
package/LOG.md
CHANGED
|
@@ -2,15 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
## 2026-02-01
|
|
4
4
|
|
|
5
|
-
### Release v0.4.
|
|
5
|
+
### Release v0.4.37
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
7
|
+
- Feature: add support for custom API paths in portal configuration
|
|
8
|
+
- Feature: add data.gov.uk portal support (uses `/api/action/` instead of `/api/3/action/`)
|
|
9
|
+
- Enhancement: extend portal configuration with `api_path` field
|
|
10
|
+
- Enhancement: dynamic API path construction based on portal config
|
|
11
|
+
- Files: `src/utils/portal-config.ts`, `src/utils/http.ts`, `src/portals.json`
|
|
12
|
+
- No breaking changes
|
|
13
|
+
|
|
14
|
+
### Release v0.4.36
|
|
15
|
+
|
|
16
|
+
- Fix: align server and worker reported version with package version
|
|
17
|
+
- Fix: update worker health tool count
|
|
18
|
+
- Files: `src/server.ts`, `src/worker.ts`
|
|
9
19
|
|
|
10
20
|
### Unreleased
|
|
11
21
|
|
|
12
22
|
- None
|
|
13
23
|
|
|
24
|
+
### Release v0.4.35
|
|
25
|
+
|
|
26
|
+
- Tests: adjust MQA metrics details fixture to include scoring entries
|
|
27
|
+
- Files: `tests/integration/quality.test.ts`
|
|
28
|
+
|
|
14
29
|
### Release v0.4.34
|
|
15
30
|
|
|
16
31
|
- MQA: add detailed quality reasons tool with metrics flag parsing
|
package/dist/index.js
CHANGED
|
@@ -46,6 +46,19 @@ var portals_default = {
|
|
|
46
46
|
"https://dati.anticorruzione.it",
|
|
47
47
|
"http://dati.anticorruzione.it"
|
|
48
48
|
]
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
id: "data-gov-uk",
|
|
52
|
+
name: "data.gov.uk",
|
|
53
|
+
api_url: "https://data.gov.uk",
|
|
54
|
+
api_url_aliases: [
|
|
55
|
+
"https://www.data.gov.uk",
|
|
56
|
+
"http://data.gov.uk",
|
|
57
|
+
"http://www.data.gov.uk"
|
|
58
|
+
],
|
|
59
|
+
api_path: "/api/action",
|
|
60
|
+
dataset_view_url: "https://data.gov.uk/dataset/{name}",
|
|
61
|
+
organization_view_url: "https://data.gov.uk/publisher/{name}"
|
|
49
62
|
}
|
|
50
63
|
],
|
|
51
64
|
defaults: {
|
|
@@ -94,6 +107,10 @@ function getPortalApiUrlForHostname(hostname) {
|
|
|
94
107
|
});
|
|
95
108
|
return portal ? normalizeUrl(portal.api_url) : null;
|
|
96
109
|
}
|
|
110
|
+
function getPortalApiPath(serverUrl) {
|
|
111
|
+
const portal = getPortalConfig(serverUrl);
|
|
112
|
+
return portal?.api_path || "/api/3/action";
|
|
113
|
+
}
|
|
97
114
|
|
|
98
115
|
// src/utils/http.ts
|
|
99
116
|
var loadZlib = /* @__PURE__ */ (() => {
|
|
@@ -240,7 +257,8 @@ async function makeCkanRequest(serverUrl, action, params = {}) {
|
|
|
240
257
|
} catch {
|
|
241
258
|
}
|
|
242
259
|
const baseUrl = resolvedServerUrl.replace(/\/$/, "");
|
|
243
|
-
const
|
|
260
|
+
const apiPath = getPortalApiPath(resolvedServerUrl);
|
|
261
|
+
const url = `${baseUrl}${apiPath}/${action}`;
|
|
244
262
|
try {
|
|
245
263
|
let decodedData;
|
|
246
264
|
if (isNode) {
|
|
@@ -3668,7 +3686,7 @@ var registerAllPrompts = (server2) => {
|
|
|
3668
3686
|
function createServer() {
|
|
3669
3687
|
return new McpServer({
|
|
3670
3688
|
name: "ckan-mcp-server",
|
|
3671
|
-
version: "0.4.
|
|
3689
|
+
version: "0.4.36"
|
|
3672
3690
|
});
|
|
3673
3691
|
}
|
|
3674
3692
|
function registerAll(server2) {
|