@aborruso/ckan-mcp-server 0.4.8 → 0.4.10
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/.devin/wiki.json +273 -0
- package/AGENTS.md +83 -1
- package/CLAUDE.md +29 -8
- package/LOG.md +56 -0
- package/README.md +60 -19
- package/dist/index.js +238 -1
- package/dist/worker.js +185 -54
- package/openspec/changes/add-mcp-prompts/proposal.md +13 -0
- package/openspec/changes/add-mcp-prompts/specs/mcp-prompts/spec.md +22 -0
- package/openspec/changes/add-mcp-prompts/tasks.md +10 -0
- package/package.json +2 -2
- package/testo.md +12 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Change: Add MCP Guided Prompts
|
|
2
|
+
|
|
3
|
+
## Why
|
|
4
|
+
Users often need guidance to use CKAN tools correctly; guided prompts reduce misuse and speed up discovery workflows.
|
|
5
|
+
|
|
6
|
+
## What Changes
|
|
7
|
+
- Add a new MCP prompts capability with reusable guided prompts for common tasks.
|
|
8
|
+
- Register prompts in the MCP server so clients can discover and invoke them.
|
|
9
|
+
- Document prompts and examples in README/docs.
|
|
10
|
+
|
|
11
|
+
## Impact
|
|
12
|
+
- Affected specs: mcp-prompts (new)
|
|
13
|
+
- Affected code: `src/server.ts`, new `src/prompts/*`, docs/README
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
## ADDED Requirements
|
|
2
|
+
|
|
3
|
+
### Requirement: Guided prompts are available
|
|
4
|
+
The system SHALL expose a set of guided MCP prompts for common CKAN discovery workflows.
|
|
5
|
+
|
|
6
|
+
#### Scenario: User requests a guided search prompt
|
|
7
|
+
- **WHEN** a client lists MCP prompts
|
|
8
|
+
- **THEN** the guided prompts are returned with name, description, and parameters
|
|
9
|
+
|
|
10
|
+
### Requirement: Prompt output includes tool usage instructions
|
|
11
|
+
Each guided prompt SHALL produce instructions that reference the appropriate CKAN tools and parameters.
|
|
12
|
+
|
|
13
|
+
#### Scenario: Prompt generation for thematic search
|
|
14
|
+
- **WHEN** the user generates a prompt for a specific theme and format
|
|
15
|
+
- **THEN** the output includes the correct tool name and required parameters
|
|
16
|
+
|
|
17
|
+
### Requirement: Prompt content is localized and consistent
|
|
18
|
+
Guided prompts SHALL use consistent language and parameter naming aligned with CKAN tool schemas.
|
|
19
|
+
|
|
20
|
+
#### Scenario: Prompt content consistency
|
|
21
|
+
- **WHEN** a prompt is generated
|
|
22
|
+
- **THEN** parameter names match the tool schema (e.g., `server_url`, `q`, `fq`, `rows`)
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
## 1. Implementation
|
|
2
|
+
- [x] Add prompt generators for guided search workflows (theme, organization, format, recent datasets, dataset analysis)
|
|
3
|
+
- [x] Register prompts in MCP server for discovery
|
|
4
|
+
- [x] Update README/docs with prompt usage examples
|
|
5
|
+
|
|
6
|
+
## 2. Tests
|
|
7
|
+
- [x] Add unit tests for prompt output structure and parameters
|
|
8
|
+
|
|
9
|
+
## 3. Validation
|
|
10
|
+
- [x] Run `npm test` (optional if CI)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aborruso/ckan-mcp-server",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.10",
|
|
4
4
|
"description": "MCP server for interacting with CKAN open data portals",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"author": "Andrea Borruso <aborruso@gmail.com>",
|
|
31
31
|
"license": "MIT",
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
33
|
+
"@modelcontextprotocol/sdk": "^1.25.2",
|
|
34
34
|
"axios": "^1.7.2",
|
|
35
35
|
"express": "^4.19.2",
|
|
36
36
|
"zod": "^3.23.8"
|
package/testo.md
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Appunti sul testo di racconto
|
|
2
|
+
|
|
3
|
+
<!-- Qui puoi prendere appunti, idee, bozze per il testo di racconto -->
|
|
4
|
+
|
|
5
|
+
# Idee
|
|
6
|
+
|
|
7
|
+
- l'MCP non è intelligente, per definizione, quindi dipende dal motore con cui l'accoppi
|
|
8
|
+
- le interfacce dei portali molto raramente espongono una GUI per sfruttare le tante combinazioni e modalità di query che è possibile fare
|
|
9
|
+
- il ranking si può fare un po' sui metadati e in ogni caso dipende da solr, quasi mai ci sono contenuti indicizzati
|
|
10
|
+
- la cosa bella di poterlo usare nell'AI e fargli richieste per sinonimi (es. hotel → alberghi, strutture ricettive, ospitalità, ecc.)
|
|
11
|
+
- è possibile cercare in tutte le lingue: puoi parlare in inglese, chiedere di cercare "restaurant", dire che il portale è in italiano e l'AI ci penserà lui a fare la query giusta e descriverti nella tua lingua i risultati
|
|
12
|
+
|