@aborruso/ckan-mcp-server 0.4.18 → 0.4.19
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 +5 -0
- package/dist/worker.js +3 -3
- package/package.json +1 -1
package/LOG.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
## 2026-01-26
|
|
4
4
|
|
|
5
|
+
### Release v0.4.19
|
|
6
|
+
|
|
7
|
+
- Fix metrics JSON-LD parsing in Workers to restore dimension score breakdown
|
|
8
|
+
- Ensure ld+json responses are parsed even when returned as strings
|
|
9
|
+
|
|
5
10
|
### Release v0.4.18
|
|
6
11
|
|
|
7
12
|
- MQA quality output now includes dimension score breakdown with ✅/⚠️ indicators
|
package/dist/worker.js
CHANGED
|
@@ -712,7 +712,7 @@ For aggregates, use SQL:
|
|
|
712
712
|
ckan_datastore_search_sql({
|
|
713
713
|
server_url: "${t}",
|
|
714
714
|
sql: "SELECT * FROM "<resource-id>" LIMIT 10"
|
|
715
|
-
})`,Uv=t=>{t.registerPrompt(DO,{title:"Analyze a dataset",description:"Guided prompt to inspect dataset metadata and explore DataStore tables.",argsSchema:{server_url:$.string().url().describe("Base URL of the CKAN server"),id:$.string().min(1).describe("Dataset id or name (CKAN package id)")}},async({server_url:e,id:r})=>qt(LO(e,r)))};var Fv=t=>{Zv(t),qv(t),Dv(t),Lv(t),Uv(t)};function Vv(){return new aa({name:"ckan-mcp-server",version:"0.4.
|
|
715
|
+
})`,Uv=t=>{t.registerPrompt(DO,{title:"Analyze a dataset",description:"Guided prompt to inspect dataset metadata and explore DataStore tables.",argsSchema:{server_url:$.string().url().describe("Base URL of the CKAN server"),id:$.string().min(1).describe("Dataset id or name (CKAN package id)")}},async({server_url:e,id:r})=>qt(LO(e,r)))};var Fv=t=>{Zv(t),qv(t),Dv(t),Lv(t),Uv(t)};function Vv(){return new aa({name:"ckan-mcp-server",version:"0.4.18"})}function Hv(t){vv(t),bv(t),xv(t),wv(t),$v(t),kv(t),Rv(t),Mv(t),Fv(t)}var Ta=class{constructor(e={}){this._started=!1,this._streamMapping=new Map,this._requestToStreamMapping=new Map,this._requestResponseMap=new Map,this._initialized=!1,this._enableJsonResponse=!1,this._standaloneSseStreamId="_GET_stream",this.sessionIdGenerator=e.sessionIdGenerator,this._enableJsonResponse=e.enableJsonResponse??!1,this._eventStore=e.eventStore,this._onsessioninitialized=e.onsessioninitialized,this._onsessionclosed=e.onsessionclosed,this._allowedHosts=e.allowedHosts,this._allowedOrigins=e.allowedOrigins,this._enableDnsRebindingProtection=e.enableDnsRebindingProtection??!1,this._retryInterval=e.retryInterval}async start(){if(this._started)throw new Error("Transport already started");this._started=!0}createJsonErrorResponse(e,r,n,o){let s={code:r,message:n};return o?.data!==void 0&&(s.data=o.data),new Response(JSON.stringify({jsonrpc:"2.0",error:s,id:null}),{status:e,headers:{"Content-Type":"application/json",...o?.headers}})}validateRequestHeaders(e){if(this._enableDnsRebindingProtection){if(this._allowedHosts&&this._allowedHosts.length>0){let r=e.headers.get("host");if(!r||!this._allowedHosts.includes(r)){let n=`Invalid Host header: ${r}`;return this.onerror?.(new Error(n)),this.createJsonErrorResponse(403,-32e3,n)}}if(this._allowedOrigins&&this._allowedOrigins.length>0){let r=e.headers.get("origin");if(r&&!this._allowedOrigins.includes(r)){let n=`Invalid Origin header: ${r}`;return this.onerror?.(new Error(n)),this.createJsonErrorResponse(403,-32e3,n)}}}}async handleRequest(e,r){let n=this.validateRequestHeaders(e);if(n)return n;switch(e.method){case"POST":return this.handlePostRequest(e,r);case"GET":return this.handleGetRequest(e);case"DELETE":return this.handleDeleteRequest(e);default:return this.handleUnsupportedRequest()}}async writePrimingEvent(e,r,n,o){if(!this._eventStore||o<"2025-11-25")return;let s=await this._eventStore.storeEvent(n,{}),i=`id: ${s}
|
|
716
716
|
data:
|
|
717
717
|
|
|
718
718
|
`;this._retryInterval!==void 0&&(i=`id: ${s}
|
|
@@ -895,8 +895,8 @@ data:
|
|
|
895
895
|
<pre><code>curl ${e.origin}/health</code></pre>
|
|
896
896
|
|
|
897
897
|
<div class="footer">
|
|
898
|
-
Version 0.4.
|
|
898
|
+
Version 0.4.18 \u2022 Running on Cloudflare Workers \u2022 <a href="https://github.com/ondata/ckan-mcp-server/blob/main/LICENSE.txt" target="_blank">MIT License</a>
|
|
899
899
|
</div>
|
|
900
900
|
</div>
|
|
901
901
|
</body>
|
|
902
|
-
</html>`,{headers:{"Content-Type":"text/html; charset=utf-8","Access-Control-Allow-Origin":"*"}});if(t.method==="GET"&&e.pathname==="/health")return new Response(JSON.stringify({status:"ok",version:"0.4.
|
|
902
|
+
</html>`,{headers:{"Content-Type":"text/html; charset=utf-8","Access-Control-Allow-Origin":"*"}});if(t.method==="GET"&&e.pathname==="/health")return new Response(JSON.stringify({status:"ok",version:"0.4.18",tools:14,resources:7,prompts:5,runtime:"cloudflare-workers"}),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}});if(e.pathname==="/mcp")try{let r=await Jv.handleRequest(t),n=new Headers(r.headers);return n.set("Access-Control-Allow-Origin","*"),new Response(r.body,{status:r.status,statusText:r.statusText,headers:n})}catch(r){return console.error("Worker error:",r),new Response(JSON.stringify({jsonrpc:"2.0",error:{code:-32603,message:"Internal error",data:r instanceof Error?r.message:String(r)},id:null}),{status:500,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}return new Response("Not Found",{status:404,headers:{"Access-Control-Allow-Origin":"*"}})}};export{n4 as default};
|