Standard: capability-surface tools + session/streaming transport contract - #37
Open
mikemcdougall wants to merge 1 commit into
Open
Standard: capability-surface tools + session/streaming transport contract#37mikemcdougall wants to merge 1 commit into
mikemcdougall wants to merge 1 commit into
Conversation
Extend the standard with the capability surface and transport contract the Honua MCP redesign needs. Capability and grounding (a new tool family): - resolve_entity: natural-language/text -> ranked, evidence-backed canonical entity references (dataset, layer, feature, service, style, theme, template, process), grounded over the CapabilityCatalog and honua://catalog/features. - list_capabilities: enumerate the composable tool/resource surface plus the grounding tools and grounding resources a cold client LLM can compose, with per-tool descriptions and safety annotations. - Input and output JSON Schemas (MCP 2025-06-18 outputSchema) for both, plus conformance fixtures and index.json entries (known-gap; outputSchema and annotations recorded). Codify grounding-as-tools and tool safety annotations in taxonomy.md and the capability matrix. Session and streaming transport (new spec/transport.md): - Supported protocol revision 2025-06-18 (with graceful older-revision fallback), streamable-HTTP/SSE and stdio transports with transport symmetry, the Mcp-Session-Id session model, notifications/progress for long-running jobs, notifications/*/list_changed capability notifications, optional resource subscriptions, native-elicitation mapping for the clarification envelope, and capability negotiation. Cross-referenced from taxonomy.md and planning.md. Related to honua-io/honua-server#1949 and honua-io/honua-server#1954 and #1.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Extends the geospatial-mcp standard with the two surfaces the Honua MCP redesign needs: a client-agnostic capability surface (
honua-io/honua-server#1949) and an authoritative session/streaming transport contract (honua-io/honua-server#1954). Part of the v1 epichonua-io/geospatial-mcp#1.Capability surface + grounding-as-tools (#1949)
New Capability and grounding tool family, with input and output JSON Schemas (draft 2020-12; MCP 2025-06-18
outputSchema), conformance fixtures, andindex.jsonentries:resolve_entity— natural-language/text → ranked, evidence-backed canonical entity references (dataset, layer, feature, service, style, theme, template, process), grounded over theCapabilityCatalogand the feature-catalog grounding resourcehonua://catalog/features; emits a clarification when text is too ambiguous to ground.list_capabilities— enumerates the composable tool/resource surface plus the grounding tools and grounding resources a cold client LLM can compose, with per-tool descriptions and safety annotations. Its output is an MCP-owned introspection projection (akin to the conformance manifest).taxonomy.md: the read-onlylist_capabilities/resolve_entity/ground_candidates/clarify_intent/validate_planset, with two invariants (evidence-backed grounding overhonua://catalog/features; server-owned, not model-owned, correctness).readOnlyHint/destructiveHint/idempotentHint/openWorldHint) are codified and recorded machine-readably inindex.jsonfor the new tools; surfaced at runtime vialist_capabilities.implementationStatus: known-gap(standard-defined; reference ships them via#1949), so the reference manifest stays FULL.Sessions & streaming (#1954)
New normative doc
spec/transport.md— the authoritative transport contract:2025-06-18(native elicitation, output schemas, annotations), with graceful fallback when an older revision (e.g.2025-03-26) is negotiated.Mcp-Session-Idsession model (assignment, echo,400/404semantics,DELETE, stateless operation).notifications/progressfor long-running geoprocessing/publish jobs (advisory; does not redefineExecutionJob/PipelineServiceownership; polling remains a fallback),notifications/{tools,resources,prompts}/list_changed(no inert capability flags), and optional resource subscriptions.planning.md§2.6) and capability negotiation. Cross-referenced fromtaxonomy.mdandplanning.md.Validation
All repo checks pass locally:
conformance/fixtures/validate.py --strict— 27 fixtures, full jsonschema mode, OKconformance/check_manifest.py --strict— reference manifest FULLtools/check_links.py— 275 internal links/anchors resolvemarkdownlint-cli2 "**/*.md"— 0 errorsOpen questions for the standard
honua://catalog/featuresis referenced as a grounding resource but not yet given a full per-family inspection contract (consistent with the existing catalog-family deferral). Promoting it to a first-class resource family is a follow-up once upstream#1946lands its shape.outputSchemais published only for the two MCP-owned introspection tools. Whether to backfill output schemas for the rest of the tool surface (vs. the current canonical-object expected-behavior shapes) is a deliberate open decision.Related to honua-io/honua-server#1949 and honua-io/honua-server#1954 and #1.