AccountLoginStartParams
Experimental
account/loginStart params: exactly {type, apiKey?}. apiKey is required non-empty for [AccountLoginType::ApiKey]
and forbidden for [AccountLoginType::DeviceCode]; both violations are
invalid-params errors, enforced by the handler so the error
never echoes the raw params. Debug is hand-written: the
derive would print the raw key bytes into any {:?} context (a tracing
line, an error, a test assert), the exact leak the protocol forbids — the
McpOAuthRecordV1 posture.
Fields and variants
Section titled “Fields and variants”apiKey— Experimentaltype— Experimental
Source
schema/msp/experimental/msp.schema.json#/types/AccountLoginStartParams
{ "description": "`account/loginStart` params: exactly `{type, apiKey?}`. `apiKey` is required non-empty for [`AccountLoginType::ApiKey`]\nand forbidden for [`AccountLoginType::DeviceCode`]; both violations are\ninvalid-params errors, enforced by the handler so the error\nnever echoes the raw params. `Debug` is hand-written: the\nderive would print the raw key bytes into any `{:?}` context (a tracing\nline, an error, a test assert), the exact leak the protocol forbids — the\n`McpOAuthRecordV1` posture.", "properties": { "apiKey": { "description": "The API key to store (the `apiKey` type only). The ONLY\nsecret-bearing member of the account surface: every log sink carries\n[`ACCOUNT_LOGIN_API_KEY_REDACTED`] in its place.", "type": "string" }, "type": { "$ref": "#/$defs/AccountLoginType", "description": "Which flow to run." } }, "required": [ "type" ], "type": "object", "x-msp-descriptor": "account/loginStart", "x-msp-stability": "experimental"}