{"serverId":"mcp-registry/io.github.myrouteonline/myrouteonline","tools":[{"name":"checkOptimization","fixed":{"name":"checkOptimization","description":"Check the status and results of a route optimization job. Returns the optimized route when complete. Authenticate with either (otpCode + otpEmail) or mroApiKey.","inputSchema":{"type":"object","required":["jobToken"],"properties":{"otpCode":{"type":"string","description":"6-digit one-time code (required if mroApiKey is not provided)"},"jobToken":{"type":"string","description":"Job token returned from startOptimization"},"otpEmail":{"type":"string","format":"email","description":"Email address (required if mroApiKey is not provided)"},"mroApiKey":{"type":"string","description":"MyRouteOnline API key (alternative to otpCode + otpEmail, obtained from MyRouteOnline support)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":202,"tokensAfter":202},{"name":"getOneTimeCode","fixed":{"name":"getOneTimeCode","description":"Request a one-time authentication code to be sent via email. This code is required for all other operations.","inputSchema":{"type":"object","required":["loginEmail"],"properties":{"loginEmail":{"type":"string","format":"email","description":"Email address to receive the one-time code"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":92,"tokensAfter":92},{"name":"startOptimization","fixed":{"name":"startOptimization","description":"Start a route optimization job with multiple addresses. Authenticate with either (otpCode + otpEmail) or mroApiKey.","inputSchema":{"type":"object","required":["addresses"],"properties":{"otpCode":{"type":"string","description":"6-digit one-time code received via email (required if mroApiKey is not provided)"},"otpEmail":{"type":"string","format":"email","description":"Email address that received the one-time code (required if mroApiKey is not provided)"},"addresses":{"type":"array","items":{"type":"object","required":["address"],"properties":{"title":{"type":"string","description":"Location name/title"},"address":{"type":"string","description":"Street address"},"comments":{"type":"string","description":"Additional notes"}}},"description":"List of addresses to optimize (minimum 3)"},"mroApiKey":{"type":"string","description":"MyRouteOnline API key (alternative to otpCode + otpEmail, obtained from MyRouteOnline support)"},"startTimeHHMM":{"type":"string","description":"Start time in HH:MM format (default: 08:00)"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":299,"tokensAfter":299}],"toolsChanged":3,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}