@honua/mcp-server 0.1.18 → 0.2.0

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/README.md CHANGED
@@ -29,7 +29,7 @@ Two modes:
29
29
 
30
30
  ## Requirements
31
31
 
32
- - Node.js `>=20.19`
32
+ - Node.js `>=22.12`
33
33
  - Any reachable FeatureServer/OGC endpoint (public or Honua)
34
34
 
35
35
  ## Install
@@ -131,6 +131,10 @@ check refuses a conflicting or incomplete legacy installation.
131
131
  isolated local-install catalog instead of the ordinary read-only server.
132
132
  - `HONUA_TRANSPORT` (optional): `grpc-web` (default, Honua deployments) or `rest`.
133
133
  Use `rest` for plain public ArcGIS/OGC endpoints.
134
+ Feature counts use the selected transport's count operation. With `grpc-web`,
135
+ statistics materialize the complete matching set through feature RPCs and
136
+ report client-side execution as `degraded`; they fail rather than return a
137
+ partial aggregate when the 100-page / 200,000-feature budget is exceeded.
134
138
  - `HONUA_API_KEY` (optional): API key when your deployment requires it. Public
135
139
  endpoints need none.
136
140
  - `HONUA_TIMEOUT_MS` (optional): request timeout in milliseconds (default `30000`)
@@ -346,7 +350,7 @@ It emits a stable machine-readable JSON report plus a human-readable Markdown
346
350
  summary, and exits non-zero on any conformance/round-trip failure.
347
351
 
348
352
  The certification and eval scripts in this section and the next run from a clone
349
- of this repository (Node.js `>=20.19` and git). `mcp/` links to the SDK at the
353
+ of this repository (Node.js `>=22.12` and git). `mcp/` links to the SDK at the
350
354
  repository root, so build the SDK first:
351
355
 
352
356
  ```bash
@@ -9,7 +9,8 @@ import { projectDegraded } from "../neutral/result.js";
9
9
  * from whichever canonical path the source's declared capabilities support:
10
10
  *
11
11
  * 1. `queryExtent` (GeoServices, WFS, gRPC) returns an exact server count
12
- * alongside the envelope in one round trip.
12
+ * alongside the envelope. gRPC uses a second count RPC when its extent
13
+ * response omits the count.
13
14
  * 2. otherwise a single-record `query` reports `totalCount`, which is where
14
15
  * OGC API Features / STAC / OData carry `numberMatched`.
15
16
  *
@@ -1 +1 @@
1
- {"version":3,"file":"count-features.d.ts","sourceRoot":"","sources":["../../../src/tools/count-features.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGjB,CAAC;AAEH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAE3C,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,aAAa,GAAG,YAAY,CAAC;IACvC,QAAQ,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;CAC9C;AAED,sEAAsE;AACtE,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,qBAAqB,EAC7B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,CAAC,CAevB;AAED,wBAAsB,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,WAAW;;;;;;;;;;;;GAoBpF"}
1
+ {"version":3,"file":"count-features.d.ts","sourceRoot":"","sources":["../../../src/tools/count-features.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGjB,CAAC;AAEH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAE3C,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,aAAa,GAAG,YAAY,CAAC;IACvC,QAAQ,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;CAC9C;AAED,sEAAsE;AACtE,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,qBAAqB,EAC7B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,CAAC,CAevB;AAED,wBAAsB,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,WAAW;;;;;;;;;;;;GAoBpF"}
@@ -12,7 +12,8 @@ import { resolveSource, sourceRefFields } from "../neutral/source-ref.js";
12
12
  * from whichever canonical path the source's declared capabilities support:
13
13
  *
14
14
  * 1. `queryExtent` (GeoServices, WFS, gRPC) returns an exact server count
15
- * alongside the envelope in one round trip.
15
+ * alongside the envelope. gRPC uses a second count RPC when its extent
16
+ * response omits the count.
16
17
  * 2. otherwise a single-record `query` reports `totalCount`, which is where
17
18
  * OGC API Features / STAC / OData carry `numberMatched`.
18
19
  *
@@ -5,9 +5,9 @@ import { z } from "zod";
5
5
  *
6
6
  * Lowers onto the canonical `AggregationSpec`, which GeoServices serves with
7
7
  * `outStatistics` and which OGC API Features (no server-side aggregation)
8
- * serves client-side over the returned page with an explicit `degraded` reason.
9
- * The reason is reported in the result rather than dropped, so a page-scoped
10
- * aggregate is never mistaken for an authoritative one.
8
+ * serves client-side over the complete matching set with an explicit `degraded`
9
+ * reason. gRPC similarly materializes the matching set through supported RPCs
10
+ * and rejects a truncated result or an exhausted finite drain budget.
11
11
  */
12
12
  export declare const schema: z.ZodObject<{
13
13
  statisticType: z.ZodEnum<["count", "sum", "avg", "min", "max", "stddev", "var"]>;
@@ -9,9 +9,9 @@ import { isGeoServicesProtocol, resolveSource, sourceRefFields } from "../neutra
9
9
  *
10
10
  * Lowers onto the canonical `AggregationSpec`, which GeoServices serves with
11
11
  * `outStatistics` and which OGC API Features (no server-side aggregation)
12
- * serves client-side over the returned page with an explicit `degraded` reason.
13
- * The reason is reported in the result rather than dropped, so a page-scoped
14
- * aggregate is never mistaken for an authoritative one.
12
+ * serves client-side over the complete matching set with an explicit `degraded`
13
+ * reason. gRPC similarly materializes the matching set through supported RPCs
14
+ * and rejects a truncated result or an exhausted finite drain budget.
15
15
  */
16
16
  export const schema = z.object({
17
17
  ...sourceRefFields,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@honua/mcp-server",
3
- "version": "0.1.18",
3
+ "version": "0.2.0",
4
4
  "description": "Platform-free MCP server for geospatial services: expose discovery, query, and analysis over any public ArcGIS/Esri FeatureServer or OGC API endpoint to any MCP client, with no platform lock-in",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Honua",
@@ -89,7 +89,7 @@
89
89
  "qs": "^6.16.0"
90
90
  },
91
91
  "peerDependencies": {
92
- "@honua/sdk-js": "^0.1.17"
92
+ "@honua/sdk-js": "^0.1.17 || ^0.2.0"
93
93
  },
94
94
  "devDependencies": {
95
95
  "@biomejs/biome": "1.9.4",
@@ -108,7 +108,7 @@
108
108
  "LICENSE"
109
109
  ],
110
110
  "engines": {
111
- "node": ">=20.19.0"
111
+ "node": ">=22.12.0"
112
112
  },
113
113
  "repository": {
114
114
  "type": "git",
@@ -57,7 +57,7 @@ exactly the enabled-profile roster fail closed before the first mutation.
57
57
 
58
58
  Prerequisites:
59
59
 
60
- - Node.js 20.19 or newer and Docker with Compose
60
+ - Node.js 22.12 or newer and Docker with Compose
61
61
  - the 2026.1 `honua` CLI work from `honua-sdk-js#1370-#1373`
62
62
  - one admin credential. The journey does not require a second principal
63
63
  - a server build that advertises the closed operator roster this journey calls:
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "honua": {
4
4
  "command": "npx",
5
- "args": ["-y", "--package", "@honua/mcp-server@0.1.16", "honua-mcp-proxy"],
5
+ "args": ["-y", "--package", "@honua/mcp-server@0.1.19", "honua-mcp-proxy"],
6
6
  "env": {
7
7
  "HONUA_MCP_REMOTE_URL": "http://localhost:8080/mcp"
8
8
  }
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "honua": {
4
4
  "command": "npx",
5
- "args": ["-y", "--package", "@honua/mcp-server@0.1.16", "honua-mcp-proxy"],
5
+ "args": ["-y", "--package", "@honua/mcp-server@0.1.19", "honua-mcp-proxy"],
6
6
  "env": {
7
7
  "HONUA_MCP_REMOTE_URL": "http://localhost:8080/mcp"
8
8
  }
@@ -2,7 +2,7 @@
2
2
  "mcpServers": {
3
3
  "honua": {
4
4
  "command": "npx",
5
- "args": ["-y", "--package", "@honua/mcp-server@0.1.16", "honua-mcp-proxy"],
5
+ "args": ["-y", "--package", "@honua/mcp-server@0.1.19", "honua-mcp-proxy"],
6
6
  "env": {
7
7
  "HONUA_MCP_REMOTE_URL": "http://localhost:8080/mcp"
8
8
  }