@aborruso/ckan-mcp-server 0.4.87 → 0.4.89
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 +14 -0
- package/dist/index.js +11 -8
- package/dist/worker.js +34 -34
- package/package.json +1 -1
package/LOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# LOG
|
|
2
2
|
|
|
3
|
+
## 2026-03-19
|
|
4
|
+
|
|
5
|
+
### v0.4.89
|
|
6
|
+
|
|
7
|
+
- fix(`tools/organization.ts`): `ckan_organization_search` lowercases pattern before Solr query — fixes case-sensitive search (e.g. "Roma" → no results)
|
|
8
|
+
|
|
9
|
+
### v0.4.88
|
|
10
|
+
|
|
11
|
+
- fix(`tools/organization.ts`): `ckan_organization_search` now shows `view_url` in markdown table and JSON output; `ckan_organization_show` JSON includes `view_url` — all using `portals.json` custom patterns
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
- evals(`evals/tool-selection`): tool selection eval pipeline — synthetic NL query generation (Gemini, 1583 records), train/eval split, fine-tuning Qwen2.5-0.5B with Unsloth on Colab T4; 86.3% accuracy on 8 tools; model published at huggingface.co/aborruso/ckan-tool-selector
|
|
16
|
+
|
|
3
17
|
## 2026-03-17
|
|
4
18
|
|
|
5
19
|
- fix(`tools/sparql.ts`): add `; charset=utf-8` to POST Content-Type — fixes accented chars corruption in SPARQL queries (issue #22)
|
package/dist/index.js
CHANGED
|
@@ -1919,7 +1919,7 @@ function compactOrganizationList(result) {
|
|
|
1919
1919
|
})
|
|
1920
1920
|
};
|
|
1921
1921
|
}
|
|
1922
|
-
function compactOrganizationShow(result) {
|
|
1922
|
+
function compactOrganizationShow(result, serverUrl) {
|
|
1923
1923
|
return {
|
|
1924
1924
|
id: result.id,
|
|
1925
1925
|
name: result.name,
|
|
@@ -1928,6 +1928,7 @@ function compactOrganizationShow(result) {
|
|
|
1928
1928
|
image_url: result.image_url || null,
|
|
1929
1929
|
package_count: result.package_count ?? 0,
|
|
1930
1930
|
created: result.created || null,
|
|
1931
|
+
view_url: getOrganizationViewUrl(serverUrl, result),
|
|
1931
1932
|
packages: (result.packages || []).map((pkg) => ({
|
|
1932
1933
|
id: pkg.id,
|
|
1933
1934
|
name: pkg.name,
|
|
@@ -2174,7 +2175,7 @@ Typical workflow: ckan_organization_show \u2192 ckan_package_show (inspect a dat
|
|
|
2174
2175
|
}
|
|
2175
2176
|
);
|
|
2176
2177
|
if (params.response_format === "json" /* JSON */) {
|
|
2177
|
-
const compact = compactOrganizationShow(result);
|
|
2178
|
+
const compact = compactOrganizationShow(result, params.server_url);
|
|
2178
2179
|
return {
|
|
2179
2180
|
content: [{ type: "text", text: truncateJson(compact) }],
|
|
2180
2181
|
structuredContent: compact
|
|
@@ -2231,7 +2232,7 @@ Typical workflow: ckan_organization_search \u2192 ckan_organization_show (get de
|
|
|
2231
2232
|
},
|
|
2232
2233
|
async (params) => {
|
|
2233
2234
|
try {
|
|
2234
|
-
const query = `organization:*${params.pattern}*`;
|
|
2235
|
+
const query = `organization:*${params.pattern.toLowerCase()}*`;
|
|
2235
2236
|
const result = await makeCkanRequest(
|
|
2236
2237
|
params.server_url,
|
|
2237
2238
|
"package_search",
|
|
@@ -2251,7 +2252,8 @@ Typical workflow: ckan_organization_search \u2192 ckan_organization_show (get de
|
|
|
2251
2252
|
organizations: orgFacets.map((item) => ({
|
|
2252
2253
|
name: item.name,
|
|
2253
2254
|
display_name: item.display_name,
|
|
2254
|
-
dataset_count: item.count
|
|
2255
|
+
dataset_count: item.count,
|
|
2256
|
+
view_url: getOrganizationViewUrl(params.server_url, { name: item.name })
|
|
2255
2257
|
}))
|
|
2256
2258
|
};
|
|
2257
2259
|
return {
|
|
@@ -2281,12 +2283,13 @@ Typical workflow: ckan_organization_search \u2192 ckan_organization_show (get de
|
|
|
2281
2283
|
markdown += `## Matching Organizations
|
|
2282
2284
|
|
|
2283
2285
|
`;
|
|
2284
|
-
markdown += `| Organization | Datasets |
|
|
2286
|
+
markdown += `| Organization | Datasets | Link |
|
|
2285
2287
|
`;
|
|
2286
|
-
markdown +=
|
|
2288
|
+
markdown += `|--------------|----------|------|
|
|
2287
2289
|
`;
|
|
2288
2290
|
for (const org of orgFacets) {
|
|
2289
|
-
|
|
2291
|
+
const viewUrl = getOrganizationViewUrl(params.server_url, { name: org.name });
|
|
2292
|
+
markdown += `| ${org.display_name || org.name} | ${org.count} | ${viewUrl} |
|
|
2290
2293
|
`;
|
|
2291
2294
|
}
|
|
2292
2295
|
}
|
|
@@ -5124,7 +5127,7 @@ var registerAllPrompts = (server2) => {
|
|
|
5124
5127
|
function createServer() {
|
|
5125
5128
|
return new McpServer({
|
|
5126
5129
|
name: "ckan-mcp-server",
|
|
5127
|
-
version: "0.4.
|
|
5130
|
+
version: "0.4.89"
|
|
5128
5131
|
});
|
|
5129
5132
|
}
|
|
5130
5133
|
function registerAll(server2) {
|