Documentation menu

Authoritative MCP elicitation pin

Version: 2025-11-25. pin.json records official version-tagged URLs and SHA-256 digests of the complete upstream TypeScript and published JSON Schema. The TypeScript definitions (ElicitRequestFormParams, ElicitRequestURLParams, PrimitiveSchemaDefinition, ElicitResult) and the versioned elicitation spec https://modelcontextprotocol.io/specification/2025-11-25/client/elicitation are authoritative. These files are vendored unchanged. The official generated JSON Schema incorrectly narrows TypeScript number to integer (including result values). Extraction restores TS numeric fields and result numbers; enum strings such as type: "integer" are unchanged.

python3 tools/mcp_elicitation.py verifies source digests and deterministic extraction offline. --refresh is the only network/update operation. Review source and extracted diffs, run python3 -m unittest discover -s tools/tests -p 'test_mcp_elicitation.py', update manifests and regenerate all four SDKs with python3 tools/generate_sdk.py --all. Upgrading the version requires an explicit new version directory, URLs and review; latest/main is never consulted.

Extraction follows the transitive local $ref closure of ElicitRequestParams and ElicitResult. It preserves _meta, task metadata, structured result values and all published enum variants (including legacy enumNames). In addition to restoring TS numeric types, AHP validation closes the requestedSchema vocabulary and its primitive/enum schemas: upstream’s open object fallback would otherwise accept unknown nesting and unsupported keywords as a plain StringSchema. This intentionally does not preserve upstream open-object extension compatibility inside requestedSchema: unknown keywords there are rejected instead of silently interpreted as supported form inputs. MCP params and results retain upstream extension openness. No defaults are injected and no uploaded bytes are regenerated by codecs. Generated codecs preserve semantic JSON; the original immutable content reference preserves exact bytes.