Skip to content
Developer Preview

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.

  • apiKeyExperimental
  • typeExperimental
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"
}