MCP Server

MyRouteOnline

io.github.myrouteonline/myrouteonline
Maps & Location Productivity Public & reachable MCP 2026-07-28

What this MCP does

Optimizes multi-stop routes, reports optimization results, provides navigation links, and emails route outputs.

checkOptimization
Check the status and results of a route optimization job. Returns the optimized route when complete. Authenticate with either (otpCode + otpEmail) or mroApiKey.
Input schema
{'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)'}}}
emailResults
Email the optimized route results with navigation links to a specified email address. Authenticate with either (otpCode + otpEmail) or mroApiKey.
Input schema
{'type': 'object', 'required': ['jobToken', 'toEmail'], 'properties': {'otpCode': {'type': 'string', 'description': '6-digit one-time code (required if mroApiKey is not provided)'}, 'toEmail': {'type': 'string', 'format': 'email', 'description': 'Recipient email address'}, 'jobToken': {'type': 'string', 'description': 'Job token from completed optimization'}, '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)'}}}
getOneTimeCode
Request a one-time authentication code to be sent via email. This code is required for all other operations.
Input schema
{'type': 'object', 'required': ['loginEmail'], 'properties': {'loginEmail': {'type': 'string', 'format': 'email', 'description': 'Email address to receive the one-time code'}}}
startOptimization
Start a route optimization job with multiple addresses. Authenticate with either (otpCode + otpEmail) or mroApiKey.
Input schema
{'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)'}}}
Added
emailResults
Sept. 17, 2026, 12:45 p.m.
Added
checkOptimization
Sept. 17, 2026, 12:45 p.m.
Added
startOptimization
Sept. 17, 2026, 12:45 p.m.
Added
getOneTimeCode
Sept. 17, 2026, 12:45 p.m.