@aborruso/ckan-mcp-server 0.4.6 → 0.4.8
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/EXAMPLES.md +10 -0
- package/LOG.md +57 -0
- package/PRD.md +339 -252
- package/README.md +39 -36
- package/dist/index.js +160 -21
- package/dist/worker.js +306 -74
- package/openspec/changes/update-search-parser-config/proposal.md +13 -0
- package/openspec/changes/update-search-parser-config/specs/ckan-insights/spec.md +11 -0
- package/openspec/changes/update-search-parser-config/specs/ckan-search/spec.md +11 -0
- package/openspec/changes/update-search-parser-config/tasks.md +6 -0
- package/openspec/project.md +9 -7
- package/openspec/specs/ckan-insights/spec.md +8 -1
- package/package.json +1 -1
- package/web-gui/PRD.md +158 -0
- package/web-gui/public/index.html +883 -0
- /package/openspec/changes/{add-ckan-find-relevant-datasets → archive/2026-01-10-add-ckan-find-relevant-datasets}/proposal.md +0 -0
- /package/openspec/changes/{add-ckan-find-relevant-datasets → archive/2026-01-10-add-ckan-find-relevant-datasets}/specs/ckan-insights/spec.md +0 -0
- /package/openspec/changes/{add-ckan-find-relevant-datasets → archive/2026-01-10-add-ckan-find-relevant-datasets}/tasks.md +0 -0
package/EXAMPLES.md
CHANGED
|
@@ -50,6 +50,16 @@ ckan_package_search({
|
|
|
50
50
|
})
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
+
### Long OR query (force text-field parser)
|
|
54
|
+
```typescript
|
|
55
|
+
ckan_package_search({
|
|
56
|
+
server_url: "https://www.dati.gov.it/opendata",
|
|
57
|
+
q: "hotel OR alberghi OR \"strutture ricettive\" OR ospitalità OR ricettività OR agriturismo OR \"bed and breakfast\"",
|
|
58
|
+
query_parser: "text",
|
|
59
|
+
rows: 0
|
|
60
|
+
})
|
|
61
|
+
```
|
|
62
|
+
|
|
53
63
|
### Regione Siciliana datasets
|
|
54
64
|
```typescript
|
|
55
65
|
ckan_package_search({
|
package/LOG.md
CHANGED
|
@@ -2,6 +2,63 @@
|
|
|
2
2
|
|
|
3
3
|
## 2026-01-10
|
|
4
4
|
|
|
5
|
+
### Version 0.4.8 - Organization list fallback
|
|
6
|
+
- **Fix**: On CKAN 500, fall back to `package_search` facets for org counts
|
|
7
|
+
- **Output**: Facet lists show top 10; suggest `response_format: json` and `facet_limit`
|
|
8
|
+
|
|
9
|
+
## 2026-01-10
|
|
10
|
+
|
|
11
|
+
### Web GUI intelligent tool selection
|
|
12
|
+
- **MCP tool awareness**: Gemini now selects appropriate tool from 15 available
|
|
13
|
+
- Loads tool list on startup via `tools/list`
|
|
14
|
+
- Passes available tools to Gemini with descriptions
|
|
15
|
+
- Gemini chooses tool and generates arguments based on query type
|
|
16
|
+
- Examples: `ckan_organization_list` for "organizations with most datasets"
|
|
17
|
+
- `ckan_find_relevant_datasets` for smart searches
|
|
18
|
+
- `ckan_tag_list` for tag statistics
|
|
19
|
+
- **Multi-type results**: UI handles datasets, organizations, tags
|
|
20
|
+
- Organization cards show package count
|
|
21
|
+
- Dataset cards show resources and org name
|
|
22
|
+
- Status shows tool being used ("Using ckan_organization_list...")
|
|
23
|
+
- **Fallback**: Defaults to `ckan_package_search` if Gemini fails
|
|
24
|
+
- **Fix**: Query "quali organizzazioni con il maggior numero di dataset" now works correctly
|
|
25
|
+
|
|
26
|
+
### Web GUI redesign + conversation context
|
|
27
|
+
- **UI redesign**: Dark theme with data editorial aesthetic
|
|
28
|
+
- Typography: DM Serif Display + IBM Plex Sans
|
|
29
|
+
- Color scheme: Deep charcoal (#0f1419) with cyan accent (#06b6d4)
|
|
30
|
+
- Glass morphism effects, gradient text, subtle grid background
|
|
31
|
+
- Smooth animations: slide-in, hover transitions, status pulse
|
|
32
|
+
- Collapsible settings panel with icon-based controls
|
|
33
|
+
- Enhanced dataset cards with hover lift and glow
|
|
34
|
+
- Custom scrollbar, loading shimmer, SVG icons throughout
|
|
35
|
+
- **Conversation context**: Added history management
|
|
36
|
+
- Gemini receives conversation history for contextual refinement
|
|
37
|
+
- Users can ask follow-up queries ("only from Tuscany", "last 5 years")
|
|
38
|
+
- History limited to 10 messages (5 exchanges) to avoid token overflow
|
|
39
|
+
- Reset button to clear conversation and start fresh
|
|
40
|
+
- **UX improvements**: Better visual hierarchy, spacing, interaction patterns
|
|
41
|
+
- **Responsive**: Mobile-friendly layout maintained
|
|
42
|
+
|
|
43
|
+
### Web GUI chat MVP
|
|
44
|
+
- **Web GUI**: Replaced landing with MCP-backed chat UI (vanilla + Tailwind)
|
|
45
|
+
- **MCP**: Added JSON-RPC search flow with dataset cards
|
|
46
|
+
- **Fix**: Added `Accept` header for MCP 406 requirement
|
|
47
|
+
- **Fix**: Normalize natural-language queries before search
|
|
48
|
+
- **Gemini**: Added API key input and NL→Solr query call
|
|
49
|
+
|
|
50
|
+
### Web GUI landing + Pages deploy
|
|
51
|
+
- **Web GUI**: Added static landing page in `web-gui/public`
|
|
52
|
+
- **CI**: Added GitHub Pages workflow for auto deploy on HTML changes
|
|
53
|
+
|
|
54
|
+
## 2026-01-10
|
|
55
|
+
|
|
56
|
+
### Version 0.4.7 - Portal search parser override
|
|
57
|
+
- **Config**: Added per-portal search parser config
|
|
58
|
+
- **Tool**: Added query parser override for package search and relevance
|
|
59
|
+
|
|
60
|
+
## 2026-01-10
|
|
61
|
+
|
|
5
62
|
### Version 0.4.6 - Relevance ranking
|
|
6
63
|
- **Tool**: Added `ckan_find_relevant_datasets`
|
|
7
64
|
- **Docs**: Updated README/EXAMPLES
|