@honua/mcp-server 0.0.10-alpha.0 → 0.1.0-beta.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.
Files changed (176) hide show
  1. package/README.md +259 -15
  2. package/certification/geospatial-mcp-schemas/PROVENANCE.md +41 -0
  3. package/certification/geospatial-mcp-schemas/README.md +90 -0
  4. package/certification/geospatial-mcp-schemas/common/geoprocessing-error.schema.json +45 -0
  5. package/certification/geospatial-mcp-schemas/conformance/manifest.schema.json +79 -0
  6. package/certification/geospatial-mcp-schemas/index.json +390 -0
  7. package/certification/geospatial-mcp-schemas/resources/app-package.schema.json +20 -0
  8. package/certification/geospatial-mcp-schemas/resources/app-template.schema.json +15 -0
  9. package/certification/geospatial-mcp-schemas/resources/artifact.schema.json +69 -0
  10. package/certification/geospatial-mcp-schemas/resources/deployment.schema.json +27 -0
  11. package/certification/geospatial-mcp-schemas/resources/map-package.schema.json +21 -0
  12. package/certification/geospatial-mcp-schemas/resources/map-template.schema.json +15 -0
  13. package/certification/geospatial-mcp-schemas/resources/provenance.schema.json +50 -0
  14. package/certification/geospatial-mcp-schemas/resources/published-service.schema.json +21 -0
  15. package/certification/geospatial-mcp-schemas/resources/result-package.schema.json +64 -0
  16. package/certification/geospatial-mcp-schemas/resources/style.schema.json +12 -0
  17. package/certification/geospatial-mcp-schemas/resources/theme.schema.json +12 -0
  18. package/certification/geospatial-mcp-schemas/resources/workspace.schema.json +63 -0
  19. package/certification/geospatial-mcp-schemas/tools/apply_style_preset.schema.json +27 -0
  20. package/certification/geospatial-mcp-schemas/tools/buffer_features.schema.json +60 -0
  21. package/certification/geospatial-mcp-schemas/tools/cancel_job.schema.json +15 -0
  22. package/certification/geospatial-mcp-schemas/tools/clarify_intent.schema.json +69 -0
  23. package/certification/geospatial-mcp-schemas/tools/compose_mixed_protocol_map.schema.json +21 -0
  24. package/certification/geospatial-mcp-schemas/tools/create_app_package.schema.json +33 -0
  25. package/certification/geospatial-mcp-schemas/tools/create_map_package.schema.json +41 -0
  26. package/certification/geospatial-mcp-schemas/tools/edit_features.schema.json +74 -0
  27. package/certification/geospatial-mcp-schemas/tools/execute_plan.schema.json +64 -0
  28. package/certification/geospatial-mcp-schemas/tools/export_dataset.schema.json +60 -0
  29. package/certification/geospatial-mcp-schemas/tools/geocode_address.schema.json +36 -0
  30. package/certification/geospatial-mcp-schemas/tools/geocode_addresses.schema.json +34 -0
  31. package/certification/geospatial-mcp-schemas/tools/get_style.schema.json +40 -0
  32. package/certification/geospatial-mcp-schemas/tools/ground_candidates.schema.json +66 -0
  33. package/certification/geospatial-mcp-schemas/tools/ingest_dataset.schema.json +45 -0
  34. package/certification/geospatial-mcp-schemas/tools/join_features.schema.json +73 -0
  35. package/certification/geospatial-mcp-schemas/tools/list_capabilities.schema.json +21 -0
  36. package/certification/geospatial-mcp-schemas/tools/list_layers.schema.json +14 -0
  37. package/certification/geospatial-mcp-schemas/tools/overlay_features.schema.json +53 -0
  38. package/certification/geospatial-mcp-schemas/tools/plan_analysis.schema.json +19 -0
  39. package/certification/geospatial-mcp-schemas/tools/preview_app_package.schema.json +15 -0
  40. package/certification/geospatial-mcp-schemas/tools/preview_map_package.schema.json +17 -0
  41. package/certification/geospatial-mcp-schemas/tools/preview_package.schema.json +40 -0
  42. package/certification/geospatial-mcp-schemas/tools/propose_operation.schema.json +28 -0
  43. package/certification/geospatial-mcp-schemas/tools/publish_result.schema.json +29 -0
  44. package/certification/geospatial-mcp-schemas/tools/publish_service.schema.json +59 -0
  45. package/certification/geospatial-mcp-schemas/tools/query_features.schema.json +74 -0
  46. package/certification/geospatial-mcp-schemas/tools/refine_map_package.schema.json +22 -0
  47. package/certification/geospatial-mcp-schemas/tools/render_map.schema.json +60 -0
  48. package/certification/geospatial-mcp-schemas/tools/reproject_features.schema.json +49 -0
  49. package/certification/geospatial-mcp-schemas/tools/resolve_entity.schema.json +30 -0
  50. package/certification/geospatial-mcp-schemas/tools/solve_route.schema.json +39 -0
  51. package/certification/geospatial-mcp-schemas/tools/summarize_statistics.schema.json +71 -0
  52. package/certification/geospatial-mcp-schemas/tools/validate_package.schema.json +35 -0
  53. package/certification/geospatial-mcp-schemas/tools/validate_plan.schema.json +61 -0
  54. package/dist/src/capability.d.ts +48 -0
  55. package/dist/src/capability.d.ts.map +1 -0
  56. package/dist/src/capability.js +44 -0
  57. package/dist/src/certification/census-data.d.ts +33 -0
  58. package/dist/src/certification/census-data.d.ts.map +1 -0
  59. package/dist/src/certification/census-data.js +506 -0
  60. package/dist/src/certification/census-fixture-client.d.ts +7 -0
  61. package/dist/src/certification/census-fixture-client.d.ts.map +1 -0
  62. package/dist/src/certification/census-fixture-client.js +226 -0
  63. package/dist/src/certification/certifier.d.ts +125 -0
  64. package/dist/src/certification/certifier.d.ts.map +1 -0
  65. package/dist/src/certification/certifier.js +455 -0
  66. package/dist/src/certification/cli.d.ts +3 -0
  67. package/dist/src/certification/cli.d.ts.map +1 -0
  68. package/dist/src/certification/cli.js +63 -0
  69. package/dist/src/certification/contracts.d.ts +103 -0
  70. package/dist/src/certification/contracts.d.ts.map +1 -0
  71. package/dist/src/certification/contracts.js +245 -0
  72. package/dist/src/certification/fixture-client.d.ts +4 -0
  73. package/dist/src/certification/fixture-client.d.ts.map +1 -0
  74. package/dist/src/certification/fixture-client.js +113 -0
  75. package/dist/src/certification/fixtures.d.ts +45 -0
  76. package/dist/src/certification/fixtures.d.ts.map +1 -0
  77. package/dist/src/certification/fixtures.js +92 -0
  78. package/dist/src/certification/json-schema.d.ts +71 -0
  79. package/dist/src/certification/json-schema.d.ts.map +1 -0
  80. package/dist/src/certification/json-schema.js +172 -0
  81. package/dist/src/certification/lifecycle.d.ts +14 -0
  82. package/dist/src/certification/lifecycle.d.ts.map +1 -0
  83. package/dist/src/certification/lifecycle.js +326 -0
  84. package/dist/src/certification/mock-upstream.d.ts +29 -0
  85. package/dist/src/certification/mock-upstream.d.ts.map +1 -0
  86. package/dist/src/certification/mock-upstream.js +96 -0
  87. package/dist/src/certification/operator-catalog.d.ts +90 -0
  88. package/dist/src/certification/operator-catalog.d.ts.map +1 -0
  89. package/dist/src/certification/operator-catalog.js +650 -0
  90. package/dist/src/certification/report.d.ts +4 -0
  91. package/dist/src/certification/report.d.ts.map +1 -0
  92. package/dist/src/certification/report.js +103 -0
  93. package/dist/src/certification/run.d.ts +28 -0
  94. package/dist/src/certification/run.d.ts.map +1 -0
  95. package/dist/src/certification/run.js +32 -0
  96. package/dist/src/certification/schema-index.d.ts +94 -0
  97. package/dist/src/certification/schema-index.d.ts.map +1 -0
  98. package/dist/src/certification/schema-index.js +109 -0
  99. package/dist/src/certification/target.d.ts +48 -0
  100. package/dist/src/certification/target.d.ts.map +1 -0
  101. package/dist/src/certification/target.js +219 -0
  102. package/dist/src/eval/cli.d.ts +3 -0
  103. package/dist/src/eval/cli.d.ts.map +1 -0
  104. package/dist/src/eval/cli.js +118 -0
  105. package/dist/src/eval/corpus.d.ts +34 -0
  106. package/dist/src/eval/corpus.d.ts.map +1 -0
  107. package/dist/src/eval/corpus.js +150 -0
  108. package/dist/src/eval/drivers/anthropic.d.ts +14 -0
  109. package/dist/src/eval/drivers/anthropic.d.ts.map +1 -0
  110. package/dist/src/eval/drivers/anthropic.js +120 -0
  111. package/dist/src/eval/drivers/bedrock.d.ts +54 -0
  112. package/dist/src/eval/drivers/bedrock.d.ts.map +1 -0
  113. package/dist/src/eval/drivers/bedrock.js +178 -0
  114. package/dist/src/eval/drivers/deterministic.d.ts +17 -0
  115. package/dist/src/eval/drivers/deterministic.d.ts.map +1 -0
  116. package/dist/src/eval/drivers/deterministic.js +64 -0
  117. package/dist/src/eval/drivers/index.d.ts +34 -0
  118. package/dist/src/eval/drivers/index.d.ts.map +1 -0
  119. package/dist/src/eval/drivers/index.js +74 -0
  120. package/dist/src/eval/drivers/openai.d.ts +14 -0
  121. package/dist/src/eval/drivers/openai.d.ts.map +1 -0
  122. package/dist/src/eval/drivers/openai.js +136 -0
  123. package/dist/src/eval/grade.d.ts +14 -0
  124. package/dist/src/eval/grade.d.ts.map +1 -0
  125. package/dist/src/eval/grade.js +75 -0
  126. package/dist/src/eval/northstar-corpus.d.ts +3 -0
  127. package/dist/src/eval/northstar-corpus.d.ts.map +1 -0
  128. package/dist/src/eval/northstar-corpus.js +194 -0
  129. package/dist/src/eval/operator-corpus.d.ts +3 -0
  130. package/dist/src/eval/operator-corpus.d.ts.map +1 -0
  131. package/dist/src/eval/operator-corpus.js +193 -0
  132. package/dist/src/eval/report.d.ts +109 -0
  133. package/dist/src/eval/report.d.ts.map +1 -0
  134. package/dist/src/eval/report.js +133 -0
  135. package/dist/src/eval/runner.d.ts +28 -0
  136. package/dist/src/eval/runner.d.ts.map +1 -0
  137. package/dist/src/eval/runner.js +130 -0
  138. package/dist/src/eval/standalone-corpus.d.ts +3 -0
  139. package/dist/src/eval/standalone-corpus.d.ts.map +1 -0
  140. package/dist/src/eval/standalone-corpus.js +699 -0
  141. package/dist/src/eval/types.d.ts +118 -0
  142. package/dist/src/eval/types.d.ts.map +1 -0
  143. package/dist/src/eval/types.js +10 -0
  144. package/dist/src/helpers.d.ts +11 -0
  145. package/dist/src/helpers.d.ts.map +1 -1
  146. package/dist/src/helpers.js +22 -0
  147. package/dist/src/index.d.ts +31 -0
  148. package/dist/src/index.d.ts.map +1 -1
  149. package/dist/src/index.js +50 -4
  150. package/dist/src/provenance.d.ts +44 -0
  151. package/dist/src/provenance.d.ts.map +1 -0
  152. package/dist/src/provenance.js +37 -0
  153. package/dist/src/proxy.d.ts +46 -0
  154. package/dist/src/proxy.d.ts.map +1 -0
  155. package/dist/src/proxy.js +124 -0
  156. package/dist/src/resources/styles.d.ts +29 -0
  157. package/dist/src/resources/styles.d.ts.map +1 -0
  158. package/dist/src/resources/styles.js +76 -0
  159. package/dist/src/styles.d.ts +112 -0
  160. package/dist/src/styles.d.ts.map +1 -0
  161. package/dist/src/styles.js +144 -0
  162. package/dist/src/tools/apply-style-preset.d.ts +27 -0
  163. package/dist/src/tools/apply-style-preset.d.ts.map +1 -0
  164. package/dist/src/tools/apply-style-preset.js +41 -0
  165. package/dist/src/tools/count-features.d.ts.map +1 -1
  166. package/dist/src/tools/count-features.js +5 -4
  167. package/dist/src/tools/get-extent.d.ts.map +1 -1
  168. package/dist/src/tools/get-extent.js +6 -4
  169. package/dist/src/tools/get-style.d.ts +24 -0
  170. package/dist/src/tools/get-style.d.ts.map +1 -0
  171. package/dist/src/tools/get-style.js +39 -0
  172. package/dist/src/tools/list-services.d.ts.map +1 -1
  173. package/dist/src/tools/list-services.js +16 -1
  174. package/dist/src/tools/query-features.d.ts.map +1 -1
  175. package/dist/src/tools/query-features.js +4 -1
  176. package/package.json +28 -4
@@ -0,0 +1,390 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "geospatial-mcp JSON Schema index",
4
+ "description": "Machine-readable map from standard MCP tool names and resource family URIs to their JSON Schema (draft 2020-12) files. 'standardName' is the bare taxonomy.md tool name; 'referenceToolName' is the name the reference implementation (Honua /mcp) advertises. 'implementationStatus' records whether the reference implementation ships the tool/resource family today (implemented) or whether it is a standard family not yet served by the reference (known-gap). For resources, 'implementationStatus' gates the FULL conformance level the same way it does for tools: a manifest must advertise every 'implemented' resource family to reach FULL; 'known-gap' families are reported as informational notes only. 'profile' (optional; default 'base') assigns a tool to a conformance profile: 'base' tools are required for the base FULL verdict; tools in an additive profile such as 'mutation' are required for FULL only when a manifest declares that profile, and are otherwise reported as informational notes (see /CONFORMANCE.md §Conformance Profiles).",
5
+ "date": "2026-07-06",
6
+ "dialect": "https://json-schema.org/draft/2020-12/schema",
7
+ "tools": [
8
+ {
9
+ "standardName": "plan_analysis",
10
+ "referenceToolName": "honua_plan_analysis",
11
+ "family": "Intent and planning",
12
+ "schema": "tools/plan_analysis.schema.json",
13
+ "implementationStatus": "implemented"
14
+ },
15
+ {
16
+ "standardName": "ground_candidates",
17
+ "referenceToolName": "honua_ground_candidates",
18
+ "family": "Intent and planning",
19
+ "schema": "tools/ground_candidates.schema.json",
20
+ "implementationStatus": "implemented"
21
+ },
22
+ {
23
+ "standardName": "clarify_intent",
24
+ "referenceToolName": "honua_clarify_intent",
25
+ "family": "Intent and planning",
26
+ "schema": "tools/clarify_intent.schema.json",
27
+ "implementationStatus": "implemented"
28
+ },
29
+ {
30
+ "standardName": "validate_plan",
31
+ "referenceToolName": "honua_validate_plan",
32
+ "family": "Intent and planning",
33
+ "schema": "tools/validate_plan.schema.json",
34
+ "implementationStatus": "implemented",
35
+ "notes": "Reference also advertises honua_dry_run_plan with the same partial-plan input schema."
36
+ },
37
+ {
38
+ "standardName": "execute_plan",
39
+ "referenceToolName": "honua_execute_plan",
40
+ "family": "Execution",
41
+ "schema": "tools/execute_plan.schema.json",
42
+ "implementationStatus": "implemented"
43
+ },
44
+ {
45
+ "standardName": "create_map_package",
46
+ "referenceToolName": "honua_create_map_package",
47
+ "family": "Map composition",
48
+ "schema": "tools/create_map_package.schema.json",
49
+ "implementationStatus": "implemented",
50
+ "notes": "Reference implementation (#1951): routes through the canonical IMapGenerationService pipeline."
51
+ },
52
+ {
53
+ "standardName": "refine_map_package",
54
+ "referenceToolName": null,
55
+ "family": "Map composition",
56
+ "schema": "tools/refine_map_package.schema.json",
57
+ "implementationStatus": "known-gap"
58
+ },
59
+ {
60
+ "standardName": "get_style",
61
+ "referenceToolName": "honua_get_style",
62
+ "family": "Style inspection",
63
+ "schema": "tools/get_style.schema.json",
64
+ "implementationStatus": "implemented"
65
+ },
66
+ {
67
+ "standardName": "apply_style_preset",
68
+ "referenceToolName": "honua_apply_style_preset",
69
+ "family": "Map composition (reference shape)",
70
+ "schema": "tools/apply_style_preset.schema.json",
71
+ "implementationStatus": "implemented"
72
+ },
73
+ {
74
+ "standardName": "compose_mixed_protocol_map",
75
+ "referenceToolName": null,
76
+ "family": "Map composition",
77
+ "schema": "tools/compose_mixed_protocol_map.schema.json",
78
+ "implementationStatus": "known-gap"
79
+ },
80
+ {
81
+ "standardName": "preview_map_package",
82
+ "referenceToolName": null,
83
+ "family": "Map composition",
84
+ "schema": "tools/preview_map_package.schema.json",
85
+ "implementationStatus": "known-gap"
86
+ },
87
+ {
88
+ "standardName": "create_app_package",
89
+ "referenceToolName": "honua_create_app_package",
90
+ "family": "App composition",
91
+ "schema": "tools/create_app_package.schema.json",
92
+ "implementationStatus": "implemented",
93
+ "notes": "Reference implementation (#1951): routes through the canonical IAppGenerationService pipeline."
94
+ },
95
+ {
96
+ "standardName": "preview_app_package",
97
+ "referenceToolName": null,
98
+ "family": "App composition",
99
+ "schema": "tools/preview_app_package.schema.json",
100
+ "implementationStatus": "known-gap"
101
+ },
102
+ {
103
+ "standardName": "publish_result",
104
+ "referenceToolName": "honua_publish_result",
105
+ "family": "Publishing",
106
+ "schema": "tools/publish_result.schema.json",
107
+ "implementationStatus": "implemented",
108
+ "notes": "honua_publish_result (honua-server#2482) promotes a completed analysis job's materialized FeatureLayer/Table artifact (sourceId = the job id) into a hosted published service + layer, routing through the same canonical service.publish promotion as honua_publish_service. The standard schema requires only sourceId; the reference tool adds honua extension selectors (artifactId / serviceName / layerName) under additionalProperties. Analyze / Publish Data (published_service) is implemented; Build App (deployment) promotion is deferred (honua-server#730/#732)."
109
+ },
110
+ {
111
+ "standardName": "list_layers",
112
+ "referenceToolName": "honua_list_layers",
113
+ "family": "Discovery and query (reference shape)",
114
+ "schema": "tools/list_layers.schema.json",
115
+ "implementationStatus": "implemented",
116
+ "notes": "Reference-implementation discovery tool over the open-core data-access surface; the bare taxonomy models discovery as a CapabilityCatalog read."
117
+ },
118
+ {
119
+ "standardName": "query_features",
120
+ "referenceToolName": "honua_query_features",
121
+ "family": "Discovery and query (reference shape)",
122
+ "schema": "tools/query_features.schema.json",
123
+ "implementationStatus": "implemented"
124
+ },
125
+ {
126
+ "standardName": "edit_features",
127
+ "referenceToolName": null,
128
+ "family": "Feature editing",
129
+ "schema": "tools/edit_features.schema.json",
130
+ "implementationStatus": "known-gap",
131
+ "profile": "mutation",
132
+ "notes": "Sole member of the optional mutation conformance profile (docs/adr/0028-governed-feature-mutation.md). Governed transactional editing: an implementation must require an authenticated, authorized caller and authorize each edit type (insert/update/delete) independently. The reference implementation (Honua) does NOT serve this tool — Honua does not support AI operational data editing (honua-server ADR-0028, founder-reaffirmed 2026-07-06); its referenceToolName is null and its implementationStatus is known-gap. Base-profile (read-only) implementations conform without advertising this tool; it is required for FULL only when an adopter's manifest declares the mutation profile."
133
+ },
134
+ {
135
+ "standardName": "render_map",
136
+ "referenceToolName": "honua_render_map",
137
+ "family": "Discovery and query (reference shape)",
138
+ "schema": "tools/render_map.schema.json",
139
+ "implementationStatus": "implemented"
140
+ },
141
+ {
142
+ "standardName": "geocode_address",
143
+ "referenceToolName": "honua_geocode_address",
144
+ "family": "Analysis and geoprocessing (reference shape)",
145
+ "schema": "tools/geocode_address.schema.json",
146
+ "implementationStatus": "implemented"
147
+ },
148
+ {
149
+ "standardName": "geocode_addresses",
150
+ "referenceToolName": "honua_geocode_addresses",
151
+ "family": "Analysis and geoprocessing (reference shape)",
152
+ "schema": "tools/geocode_addresses.schema.json",
153
+ "implementationStatus": "implemented"
154
+ },
155
+ {
156
+ "standardName": "solve_route",
157
+ "referenceToolName": "honua_solve_route",
158
+ "family": "Analysis and geoprocessing (reference shape)",
159
+ "schema": "tools/solve_route.schema.json",
160
+ "implementationStatus": "implemented"
161
+ },
162
+ {
163
+ "standardName": "buffer_features",
164
+ "referenceToolName": null,
165
+ "family": "Analysis verbs",
166
+ "schema": "tools/buffer_features.schema.json",
167
+ "implementationStatus": "known-gap",
168
+ "profile": "analysis",
169
+ "notes": "Direct geoprocessing verb; member of the opt-in analysis conformance profile (docs/adr/0029-direct-geoprocessing-verbs.md, geospatial-mcp#53). Single-step buffer, an alternative to a plan_analysis/execute_plan Geoprocess step. The reference implementation does not ship a direct verb yet; required for FULL only when a manifest declares the analysis profile."
170
+ },
171
+ {
172
+ "standardName": "overlay_features",
173
+ "referenceToolName": null,
174
+ "family": "Analysis verbs",
175
+ "schema": "tools/overlay_features.schema.json",
176
+ "implementationStatus": "known-gap",
177
+ "profile": "analysis",
178
+ "notes": "Direct geoprocessing verb (analysis profile; docs/adr/0029-direct-geoprocessing-verbs.md, geospatial-mcp#53). Two-input overlay: intersect/union/difference/erase/clip. Not yet shipped by the reference; required for FULL only when a manifest declares the analysis profile."
179
+ },
180
+ {
181
+ "standardName": "summarize_statistics",
182
+ "referenceToolName": null,
183
+ "family": "Analysis verbs",
184
+ "schema": "tools/summarize_statistics.schema.json",
185
+ "implementationStatus": "known-gap",
186
+ "profile": "analysis",
187
+ "notes": "Direct geoprocessing verb (analysis profile; docs/adr/0029-direct-geoprocessing-verbs.md, geospatial-mcp#53). Group-by + statistics over a layer or a prior overlay/verb result. Not yet shipped by the reference; required for FULL only when a manifest declares the analysis profile."
188
+ },
189
+ {
190
+ "standardName": "reproject_features",
191
+ "referenceToolName": null,
192
+ "family": "Analysis verbs",
193
+ "schema": "tools/reproject_features.schema.json",
194
+ "implementationStatus": "known-gap",
195
+ "profile": "analysis",
196
+ "notes": "Direct geoprocessing verb (analysis profile; docs/adr/0029-direct-geoprocessing-verbs.md, geospatial-mcp#53). Reproject a dataset to a targetSrid; the sibling verbs also carry an optional outSrid output-CRS param. Not yet shipped by the reference; required for FULL only when a manifest declares the analysis profile."
197
+ },
198
+ {
199
+ "standardName": "join_features",
200
+ "referenceToolName": null,
201
+ "family": "Analysis verbs",
202
+ "schema": "tools/join_features.schema.json",
203
+ "implementationStatus": "known-gap",
204
+ "profile": "analysis",
205
+ "notes": "Direct geoprocessing verb (analysis profile; docs/adr/0029-direct-geoprocessing-verbs.md, geospatial-mcp#53). Attribute or spatial join of two datasets. Not yet shipped by the reference; required for FULL only when a manifest declares the analysis profile."
206
+ },
207
+ {
208
+ "standardName": "export_dataset",
209
+ "referenceToolName": null,
210
+ "family": "Analysis verbs",
211
+ "schema": "tools/export_dataset.schema.json",
212
+ "implementationStatus": "known-gap",
213
+ "profile": "analysis",
214
+ "notes": "Direct geoprocessing verb (analysis profile; docs/adr/0029-direct-geoprocessing-verbs.md, geospatial-mcp#53). Materialize a layer/result to a GeoJSON/GeoPackage/CSV/Parquet artifact. Advertised readOnlyHint:false (writes a new artifact) but non-destructive and not a mutation-profile tool. Not yet shipped by the reference; required for FULL only when a manifest declares the analysis profile."
215
+ },
216
+ {
217
+ "standardName": "cancel_job",
218
+ "referenceToolName": "honua_cancel_job",
219
+ "family": "Execution (reference shape)",
220
+ "schema": "tools/cancel_job.schema.json",
221
+ "implementationStatus": "implemented"
222
+ },
223
+ {
224
+ "standardName": "propose_operation",
225
+ "referenceToolName": "honua_propose_operation",
226
+ "family": "Control-plane proposal (reference shape)",
227
+ "schema": "tools/propose_operation.schema.json",
228
+ "implementationStatus": "implemented"
229
+ },
230
+ {
231
+ "standardName": "ingest_dataset",
232
+ "referenceToolName": "honua_ingest_dataset",
233
+ "family": "Publishing",
234
+ "schema": "tools/ingest_dataset.schema.json",
235
+ "implementationStatus": "implemented",
236
+ "notes": "Publish Data ingest step of the reference implementation: inline CSV/GeoJSON to a catalog table whose {connectionId, schema, table} chains into publish_service. Closes the data-loading gap ahead of the standard's file/URL ingest contract."
237
+ },
238
+ {
239
+ "standardName": "publish_service",
240
+ "referenceToolName": "honua_publish_service",
241
+ "family": "Publishing",
242
+ "schema": "tools/publish_service.schema.json",
243
+ "implementationStatus": "implemented",
244
+ "notes": "Native divergence from publish_result: honua_publish_service publishes a source table as a new hosted service (connectionId/schema/table/layerName), whereas the standard publish_result promotes an existing result/package (sourceId). publish_result stays a known-gap until the standard finalizes a service-publish contract (honua-server#730/#732)."
245
+ },
246
+ {
247
+ "standardName": "validate_package",
248
+ "referenceToolName": "honua_validate_package",
249
+ "family": "Composition review (reference shape)",
250
+ "schema": "tools/validate_package.schema.json",
251
+ "implementationStatus": "implemented",
252
+ "notes": "Reference-shape review tool: read-only inspection of a map/app package's requirement coverage."
253
+ },
254
+ {
255
+ "standardName": "preview_package",
256
+ "referenceToolName": "honua_preview_package",
257
+ "family": "Composition review (reference shape)",
258
+ "schema": "tools/preview_package.schema.json",
259
+ "implementationStatus": "implemented",
260
+ "notes": "Reference-shape review tool: read-only preview plan for a map/app package before publishing."
261
+ },
262
+ {
263
+ "standardName": "resolve_entity",
264
+ "referenceToolName": "honua_resolve_entity",
265
+ "family": "Discovery and grounding (Honua extension)",
266
+ "schema": "tools/resolve_entity.schema.json",
267
+ "implementationStatus": "implemented",
268
+ "notes": "Honua extension (#1949): NL/text -> ranked service/layer references grounded in the live catalog. Pending formalization in the standard; schema marks x-honua-extension."
269
+ },
270
+ {
271
+ "standardName": "list_capabilities",
272
+ "referenceToolName": "honua_list_capabilities",
273
+ "family": "Discovery and grounding (Honua extension)",
274
+ "schema": "tools/list_capabilities.schema.json",
275
+ "implementationStatus": "implemented",
276
+ "notes": "Honua extension (#1949): self-describing manifest of the live tool/resource surface for a cold client LLM. Pending formalization in the standard; schema marks x-honua-extension."
277
+ }
278
+ ],
279
+ "resources": [
280
+ {
281
+ "family": "Result package",
282
+ "uriForm": "honua://results/{result_package_id}",
283
+ "schema": "resources/result-package.schema.json",
284
+ "shapeFidelity": "concrete",
285
+ "implementationStatus": "known-gap",
286
+ "notes": "The reference implementation does not serve a stand-alone result-package URI keyed by result_package_id; result data is reached through the owning job at honua://jobs/{job_id}/results (job-keyed), which is outside the standard resource vocabulary. Known-gap until the standard reconciles the addressing model."
287
+ },
288
+ {
289
+ "family": "Result artifact",
290
+ "uriForm": "honua://results/{result_package_id}/artifacts/{artifact_id}",
291
+ "schema": "resources/artifact.schema.json",
292
+ "shapeFidelity": "concrete",
293
+ "implementationStatus": "known-gap",
294
+ "notes": "Per-artifact result sub-resource is not served by the reference implementation; artifacts are inspected inline on the job results view. Known-gap."
295
+ },
296
+ {
297
+ "family": "Result provenance",
298
+ "uriForm": "honua://results/{result_package_id}/provenance",
299
+ "schema": "resources/provenance.schema.json",
300
+ "shapeFidelity": "concrete",
301
+ "implementationStatus": "known-gap",
302
+ "notes": "Result-provenance sub-resource is not served as a stand-alone URI; provenance is inlined on the job results view. Known-gap."
303
+ },
304
+ {
305
+ "family": "Workspace",
306
+ "uriForm": "honua://workspaces/{workspace_id}",
307
+ "schema": "resources/workspace.schema.json",
308
+ "shapeFidelity": "concrete-reference",
309
+ "implementationStatus": "implemented"
310
+ },
311
+ {
312
+ "family": "Workspace artifact",
313
+ "uriForm": "honua://workspaces/{workspace_id}/artifacts/{artifact_id}",
314
+ "schema": "resources/artifact.schema.json",
315
+ "shapeFidelity": "concrete",
316
+ "implementationStatus": "known-gap",
317
+ "notes": "Per-artifact workspace sub-resource is not served as a stand-alone URI by the reference implementation. Known-gap."
318
+ },
319
+ {
320
+ "family": "Map package",
321
+ "uriForm": "honua://map-packages/{map_package_id}",
322
+ "schema": "resources/map-package.schema.json",
323
+ "shapeFidelity": "responsibility-level",
324
+ "implementationStatus": "implemented"
325
+ },
326
+ {
327
+ "family": "App package",
328
+ "uriForm": "honua://app-packages/{app_package_id}",
329
+ "schema": "resources/app-package.schema.json",
330
+ "shapeFidelity": "responsibility-level",
331
+ "implementationStatus": "implemented"
332
+ },
333
+ {
334
+ "family": "Style",
335
+ "uriForm": "honua://styles/{style_id}",
336
+ "schema": "resources/style.schema.json",
337
+ "shapeFidelity": "responsibility-level",
338
+ "implementationStatus": "known-gap"
339
+ },
340
+ {
341
+ "family": "Theme",
342
+ "uriForm": "honua://themes/{theme_id}",
343
+ "schema": "resources/theme.schema.json",
344
+ "shapeFidelity": "responsibility-level",
345
+ "implementationStatus": "known-gap"
346
+ },
347
+ {
348
+ "family": "Map template",
349
+ "uriForm": "honua://templates/maps/{map_template_id}",
350
+ "schema": "resources/map-template.schema.json",
351
+ "shapeFidelity": "responsibility-level",
352
+ "implementationStatus": "known-gap"
353
+ },
354
+ {
355
+ "family": "App template",
356
+ "uriForm": "honua://templates/apps/{app_template_id}",
357
+ "schema": "resources/app-template.schema.json",
358
+ "shapeFidelity": "responsibility-level",
359
+ "implementationStatus": "known-gap"
360
+ },
361
+ {
362
+ "family": "Published service",
363
+ "uriForm": "honua://published-services/{published_service_id}",
364
+ "schema": "resources/published-service.schema.json",
365
+ "shapeFidelity": "responsibility-level",
366
+ "implementationStatus": "implemented"
367
+ },
368
+ {
369
+ "family": "Deployment",
370
+ "uriForm": "honua://deployments/{deployment_id}",
371
+ "schema": "resources/deployment.schema.json",
372
+ "shapeFidelity": "responsibility-level",
373
+ "implementationStatus": "implemented"
374
+ }
375
+ ],
376
+ "common": [
377
+ {
378
+ "name": "GeoprocessingError",
379
+ "schema": "common/geoprocessing-error.schema.json",
380
+ "role": "Canonical error envelope reused by all tool/resource failure paths."
381
+ }
382
+ ],
383
+ "conformance": [
384
+ {
385
+ "name": "ConformanceManifest",
386
+ "schema": "conformance/manifest.schema.json",
387
+ "role": "Static declaration of the MCP tool/resource surface an implementation advertises, checked against this index by conformance/check_manifest.py. See /CONFORMANCE.md."
388
+ }
389
+ ]
390
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://geospatial-mcp.honua.io/spec/schemas/resources/app-package.schema.json",
4
+ "title": "App package resource payload",
5
+ "description": "Responsibility-level projection of an AppPackage at honua://app-packages/{app_package_id}. Concrete field spellings finalize upstream (honua-server#731); only the stable appPackageId is pinned. Responsibilities: target SDK declaration, template binding, package format/manifest, bundle artifact, delivery asset manifest, map binding, runtime config schema, hosting/route hints, bound data artifacts. See resources.md §honua://app-packages/{app_package_id}.",
6
+ "type": "object",
7
+ "additionalProperties": true,
8
+ "required": ["appPackageId"],
9
+ "properties": {
10
+ "appPackageId": {
11
+ "type": "string",
12
+ "description": "Stable identifier (app_…)."
13
+ },
14
+ "templateId": { "type": "string" },
15
+ "targetSdk": { "type": "string" },
16
+ "mapPackageId": { "type": "string" },
17
+ "bundleArtifactId": { "type": "string" },
18
+ "boundArtifactIds": { "type": "array", "items": { "type": "string" } }
19
+ }
20
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://geospatial-mcp.honua.io/spec/schemas/resources/app-template.schema.json",
4
+ "title": "App template resource payload",
5
+ "description": "Responsibility-level projection of an application scaffold template at honua://templates/apps/{app_template_id}. The identifier is registry-defined; the canonical app-template shape is deferred (see resources.md §honua://templates/apps/{app_template_id}), so only the identifier is fixed here. Sourced from AppPackage.templateId.",
6
+ "type": "object",
7
+ "additionalProperties": true,
8
+ "required": ["appTemplateId"],
9
+ "properties": {
10
+ "appTemplateId": {
11
+ "type": "string",
12
+ "description": "Registry-defined app-template identifier."
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,69 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://geospatial-mcp.honua.io/spec/schemas/resources/artifact.schema.json",
4
+ "title": "Artifact resource payload",
5
+ "description": "Read-only projection of an ArtifactRef, addressable as honua://results/{rpid}/artifacts/{aid} (outcome view) or honua://workspaces/{wsid}/artifacts/{aid} (lifecycle view). lifecycleState is an MCP-layer projection, not a field of ArtifactRef. See resources.md §honua://results/{result_package_id}/artifacts/{artifact_id}.",
6
+ "type": "object",
7
+ "additionalProperties": true,
8
+ "required": ["artifactId", "kind"],
9
+ "properties": {
10
+ "artifactId": {
11
+ "type": "string",
12
+ "description": "Stable identifier (artifact_…)."
13
+ },
14
+ "kind": {
15
+ "type": "string",
16
+ "description": "ArtifactKind.",
17
+ "enum": ["Scalar", "FeatureLayer", "Table", "Raster", "File", "Report", "Map", "AppBundle"]
18
+ },
19
+ "label": { "type": "string", "description": "Human-readable label." },
20
+ "uri": {
21
+ "type": "string",
22
+ "description": "Canonical content locator (workspace-scoped). NOT the inspection URI."
23
+ },
24
+ "contentType": { "type": "string", "description": "MIME type." },
25
+ "metadata": {
26
+ "type": "object",
27
+ "additionalProperties": { "type": "string" },
28
+ "description": "Canonical metadata map."
29
+ },
30
+ "lifecycleState": {
31
+ "type": "string",
32
+ "description": "ArtifactLifecycleState (MCP-layer projection from the workspace lifecycle service). Canonical enum names are Pending/Available/Promoted/Expired/Deleted; the reference implementation emits the lower_snake_case wire spelling, consistent with the sibling sourceWorkspaceKind projection and workspace.schema.json.",
33
+ "x-honua-reference-shape": true,
34
+ "enum": [
35
+ "pending",
36
+ "available",
37
+ "promoted",
38
+ "expired",
39
+ "deleted",
40
+ "Pending",
41
+ "Available",
42
+ "Promoted",
43
+ "Expired",
44
+ "Deleted"
45
+ ]
46
+ },
47
+ "promotionSourceReady": {
48
+ "type": "boolean",
49
+ "description": "Workspace-rooted reads only: source-side promotion preconditions met. Result-rooted reads do not resolve promotion readiness."
50
+ },
51
+ "sourceWorkspaceKind": {
52
+ "type": "string",
53
+ "description": "WorkspaceKind of the owning workspace. Same canonical value set and reference wire spellings as workspace.schema.json.kind: canonical enum names are Scratch/Persistent/TempLayer/SavedLayer/ResultCollection; the reference implementation emits the lower_snake_case wire spelling. The same WorkspaceKind value must validate identically across both projections.",
54
+ "x-honua-reference-shape": true,
55
+ "enum": [
56
+ "scratch",
57
+ "persistent",
58
+ "temp_layer",
59
+ "saved_layer",
60
+ "result_collection",
61
+ "Scratch",
62
+ "Persistent",
63
+ "TempLayer",
64
+ "SavedLayer",
65
+ "ResultCollection"
66
+ ]
67
+ }
68
+ }
69
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://geospatial-mcp.honua.io/spec/schemas/resources/deployment.schema.json",
4
+ "title": "Deployment resource payload",
5
+ "description": "Responsibility-level projection of a Deployment at honua://deployments/{deployment_id}. Concrete field spellings finalize upstream (honua-server#732); only the stable deploymentId is pinned. Responsibilities: deployment kind, target binding (targetRef → AppPackage|MapPackage|PublishedService|opaque Process/Pipeline), hosting mode, route configuration, revision id, runtime profile, delivery artifact refs, runtime config, visibility scope, auth/approval policy refs, publication lifecycle state. Read-only — no control paths. See resources.md §honua://deployments/{deployment_id}.",
6
+ "type": "object",
7
+ "additionalProperties": true,
8
+ "required": ["deploymentId"],
9
+ "properties": {
10
+ "deploymentId": {
11
+ "type": "string",
12
+ "description": "Stable identifier (dep_…)."
13
+ },
14
+ "kind": {
15
+ "type": "string",
16
+ "description": "Package class.",
17
+ "enum": ["app_package", "published_service", "process", "pipeline"]
18
+ },
19
+ "targetRef": {
20
+ "type": "string",
21
+ "description": "Resolves to AppPackage | MapPackage | PublishedService; Process/Pipeline targets are opaque identifiers."
22
+ },
23
+ "hostingMode": { "type": "string" },
24
+ "revisionId": { "type": "string", "description": "Revision identifier (rev_…)." },
25
+ "publicationState": { "type": "string", "description": "Read-only publication lifecycle projection." }
26
+ }
27
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://geospatial-mcp.honua.io/spec/schemas/resources/map-package.schema.json",
4
+ "title": "Map package resource payload",
5
+ "description": "Responsibility-level projection of a MapPackage at honua://map-packages/{map_package_id}. Concrete field spellings finalize upstream (honua-server#731); only the stable mapPackageId is pinned and additional properties are permitted. Responsibilities: package format/template binding, source bindings, styling composition, map-spec document, initial view, legend/popup/label composition, artifact bindings. See resources.md §honua://map-packages/{map_package_id}.",
6
+ "type": "object",
7
+ "additionalProperties": true,
8
+ "required": ["mapPackageId"],
9
+ "properties": {
10
+ "mapPackageId": {
11
+ "type": "string",
12
+ "description": "Stable identifier (map_…)."
13
+ },
14
+ "templateId": { "type": "string", "description": "Bound MapTemplate." },
15
+ "sourceBindings": { "type": "array", "items": { "type": "object", "additionalProperties": true } },
16
+ "styleId": { "type": "string" },
17
+ "themeId": { "type": "string" },
18
+ "initialView": { "type": "object", "additionalProperties": true },
19
+ "previewArtifactId": { "type": "string" }
20
+ }
21
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://geospatial-mcp.honua.io/spec/schemas/resources/map-template.schema.json",
4
+ "title": "Map template resource payload",
5
+ "description": "Responsibility-level projection of a MapTemplate at honua://templates/maps/{map_template_id}. The identifier is registry-defined (e.g. analysis_default); concrete field spellings are upstream-owned. Responsibilities: cartographic composition class, named SourceBinding slots, default style/theme composition, layout/view presets. See resources.md §honua://templates/maps/{map_template_id}.",
6
+ "type": "object",
7
+ "additionalProperties": true,
8
+ "required": ["mapTemplateId"],
9
+ "properties": {
10
+ "mapTemplateId": {
11
+ "type": "string",
12
+ "description": "Registry-defined map-template identifier (e.g. analysis_default)."
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,50 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://geospatial-mcp.honua.io/spec/schemas/resources/provenance.schema.json",
4
+ "title": "Provenance resource payload",
5
+ "description": "Read-only projection of a ProvenanceRecord, addressable as honua://results/{result_package_id}/provenance. See resources.md §honua://results/{result_package_id}/provenance.",
6
+ "type": "object",
7
+ "additionalProperties": true,
8
+ "properties": {
9
+ "sources": {
10
+ "type": "array",
11
+ "description": "Dataset sources with version and description.",
12
+ "items": {
13
+ "type": "object",
14
+ "additionalProperties": true,
15
+ "properties": {
16
+ "datasetId": { "type": "string" },
17
+ "version": { "type": "string" },
18
+ "description": { "type": "string" }
19
+ }
20
+ }
21
+ },
22
+ "processDefinitions": {
23
+ "type": "array",
24
+ "description": "Process identifiers used.",
25
+ "items": { "type": "string" }
26
+ },
27
+ "assumptions": {
28
+ "type": "array",
29
+ "items": { "type": "string" }
30
+ },
31
+ "clarificationsAsked": {
32
+ "type": "array",
33
+ "items": { "type": "string" }
34
+ },
35
+ "clarificationsAnswered": {
36
+ "type": "array",
37
+ "items": { "type": "string" }
38
+ },
39
+ "executedAt": {
40
+ "type": "string",
41
+ "format": "date-time",
42
+ "description": "Execution timestamp."
43
+ },
44
+ "generatedArtifactIds": {
45
+ "type": "array",
46
+ "description": "Artifacts produced by this execution.",
47
+ "items": { "type": "string" }
48
+ }
49
+ }
50
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://geospatial-mcp.honua.io/spec/schemas/resources/published-service.schema.json",
4
+ "title": "Published service resource payload",
5
+ "description": "Responsibility-level projection of a PublishedService at honua://published-services/{published_service_id}. Concrete field spellings finalize upstream (honua-server#730); only the stable serviceId is pinned. Responsibilities: protocol surface enumeration, styling composition, source-to-service lineage summary, refresh state (read-only). Read-only — no control paths. See resources.md §honua://published-services/{published_service_id}.",
6
+ "type": "object",
7
+ "additionalProperties": true,
8
+ "required": ["serviceId"],
9
+ "properties": {
10
+ "serviceId": {
11
+ "type": "string",
12
+ "description": "Upstream serviceId (no MCP-local prefix convention)."
13
+ },
14
+ "protocols": {
15
+ "type": "array",
16
+ "description": "Protocol surface enumeration (e.g. GeoServices, OGC API Features, WMS, WFS, OData, tiles).",
17
+ "items": { "type": "string" }
18
+ },
19
+ "refreshState": { "type": "string", "description": "Read-only refresh lifecycle signal." }
20
+ }
21
+ }