Google Roads MCP Server for Windsurf 4 tools — connect in under 2 minutes
Windsurf brings agentic AI coding to a purpose-built IDE. Connect Google Roads through Vinkius and Cascade will auto-discover every tool. ask questions, generate code, and act on live data without leaving your editor.
ASK AI ABOUT THIS MCP SERVER
Vinkius supports streamable HTTP and SSE.
Vinkius Desktop App
The modern way to manage MCP Servers — no config files, no terminal commands. Install Google Roads and 2,500+ MCP Servers from a single visual interface.




{
"mcpServers": {
"google-roads": {
"url": "https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp"
}
}
}
* Every MCP server runs on Vinkius-managed infrastructure inside AWS - a purpose-built runtime with per-request V8 isolates, Ed25519 signed audit chains, and sub-40ms cold starts optimized for native MCP execution. See our infrastructure
About Google Roads MCP Server
Connect your Google Roads API to any AI agent and take full control of GPS map matching, road segment identification, and speed limit data retrieval through natural conversation.
Windsurf's Cascade agent chains multiple Google Roads tool calls autonomously. query data, analyze results, and generate code in a single agentic session. Paste Vinkius Edge URL, reload, and all 4 tools are immediately available. Real-time tool feedback appears inline, so you see API responses directly in your editor.
What you can do
- Snap to Roads — Match GPS coordinate paths to the most likely roads travelled with interpolated points for smooth road geometry
- Nearest Roads — Find the nearest road segment for up to 100 individual GPS coordinates independently
- Speed Limits — Get posted speed limit data for specific road segments using place IDs from road matching
- Snapped Speed Limits — Snap GPS coordinates to roads AND get speed limits in a single combined request
- Place ID Mapping — Obtain Google place IDs for road segments that can be used with other Google Maps APIs
- Fleet Tracking — Clean noisy GPS traces from fleet vehicles for accurate route visualization
- GPS Correction — Convert raw GPS points into accurate road-level positions for mapping applications
The Google Roads MCP Server exposes 4 tools through the Vinkius. Connect it to Windsurf in under two minutes — no API keys to rotate, no infrastructure to provision, no vendor lock-in. Your configuration, your data, your control.
How to Connect Google Roads to Windsurf via MCP
Follow these steps to integrate the Google Roads MCP Server with Windsurf.
Open MCP Settings
Go to Settings → MCP Configuration or press Cmd+Shift+P and search "MCP"
Add the server
Paste the JSON configuration above into mcp_config.json
Save and reload
Windsurf will detect the new server automatically
Start using Google Roads
Open Cascade and ask: "Using Google Roads, help me...". 4 tools available
Why Use Windsurf with the Google Roads MCP Server
Windsurf provides unique advantages when paired with Google Roads through the Model Context Protocol.
Windsurf's Cascade agent autonomously chains multiple tool calls in sequence, solving complex multi-step tasks without manual intervention
Purpose-built for agentic workflows. Cascade understands context across your entire codebase and integrates MCP tools natively
JSON-based configuration means zero code changes: paste a URL, reload, and all 4 tools are immediately available
Real-time tool feedback is displayed inline, so you see API responses directly in your editor without switching contexts
Google Roads + Windsurf Use Cases
Practical scenarios where Windsurf combined with the Google Roads MCP Server delivers measurable value.
Automated code generation: ask Cascade to fetch data from Google Roads and generate models, types, or handlers based on real API responses
Live debugging: query Google Roads tools mid-session to inspect production data while debugging without leaving the editor
Documentation generation: pull schema information from Google Roads and have Cascade generate comprehensive API docs automatically
Rapid prototyping: combine Google Roads data with Cascade's code generation to scaffold entire features in minutes
Google Roads MCP Tools for Windsurf (4)
These 4 tools become available when you connect Google Roads to Windsurf via MCP:
get_nearest_roads
Returns the snapped coordinate, the original coordinate, and the place ID for each nearest road segment. Unlike snapToRoads which assumes coordinates form a continuous path, nearestRoads treats each point independently. Essential for reverse geocoding, finding which road a vehicle is on, identifying road segments for individual location points, and mapping scattered GPS points to roads. Each point is matched to the nearest road segment within a reasonable distance. Place IDs can be used with the speed limits endpoint. AI agents should reference this when users ask "what road is at these coordinates", "find the nearest road for each GPS point", or need to map individual location points to road segments without assuming a path. Get the nearest road segments for up to 100 individual GPS coordinates
get_snapped_speed_limits
Snaps GPS coordinates to the nearest road segments and returns both the snapped coordinates with place IDs AND the speed limits for each road segment. This is more efficient than making separate calls to snapToRoads and then speedLimits. Returns snapped points with place IDs, original coordinates, and speed limit data in km/h for each road segment. Essential for applications that need both map-matched road geometry and speed limit data, such as fleet management, driver safety monitoring, route planning with speed awareness, and GPS track analysis. AI agents should reference this when users ask "snap these GPS points to roads and show speed limits", "get both snapped coordinates and speed limits for this route", or need combined road matching and speed limit data in one call. Snap GPS coordinates to roads and get speed limits in a single request
get_speed_limits
Returns speed limit values in km/h along with the place IDs and corresponding road segment information. Place IDs are obtained from the snapToRoads or nearestRoads responses. Essential for speed compliance monitoring, fleet safety management, driver behavior analysis, and road safety applications. Speed limits reflect posted legal limits and may vary by road type, urban/rural designation, and local regulations. AI agents should use this when users ask "what is the speed limit on this road segment", "get speed limits for these place IDs", or need speed limit data for specific road segments identified through map matching. Get speed limit data for specific road segments using place IDs
snap_to_roads
Returns snapped coordinates with place IDs, original coordinates, and interpolated points along the road. Essential for map matching, GPS track correction, route reconstruction, fleet tracking visualization, and converting raw GPS traces into clean road geometries. The path parameter accepts up to 100 coordinate pairs in "lat,lng|lat,lng" format. Set interpolate=true to return additional points between input coordinates for smoother road geometry. Place IDs returned can be used with the speed limits endpoint to get speed limit data for each road segment. AI agents should use this when users ask "snap this GPS track to roads", "match these coordinates to the actual roads travelled", or need to clean up noisy GPS data for mapping and visualization. Snap GPS coordinates to the most likely roads travelled using Google Roads API
Example Prompts for Google Roads in Windsurf
Ready-to-use prompts you can give your Windsurf agent to start working with Google Roads immediately.
"Snap these GPS coordinates to roads: 40.7128,-74.0060|40.7135,-74.0055|40.7142,-74.0048"
"Get speed limits for these place IDs: ChIJd8BlQ2BZwokRAFUEcm_qrcA|ChIJd8BlQ2BZwokRAFUEcm_qrcB"
"Find the nearest road to these coordinates: 34.0522,-118.2437 and 34.0530,-118.2445"
Troubleshooting Google Roads MCP Server with Windsurf
Common issues when connecting Google Roads to Windsurf through the Vinkius, and how to resolve them.
Server not connecting
Google Roads + Windsurf FAQ
Common questions about integrating Google Roads MCP Server with Windsurf.
How does Windsurf discover MCP tools?
mcp_config.json file on startup and connects to each configured server via Streamable HTTP. Tools are listed in the MCP panel and available to Cascade automatically.Can Cascade chain multiple MCP tool calls?
Does Windsurf support multiple MCP servers?
mcp_config.json. Each server's tools appear in the MCP panel and Cascade can use tools from different servers in a single flow.Connect Google Roads with your favorite client
Step-by-step setup guides for every MCP-compatible client and framework:
Anthropic's native desktop app for Claude with built-in MCP support.
AI-first code editor with integrated LLM-powered coding assistance.
GitHub Copilot in VS Code with Agent mode and MCP support.
Purpose-built IDE for agentic AI coding workflows.
Autonomous AI coding agent that runs inside VS Code.
Anthropic's agentic CLI for terminal-first development.
Python SDK for building production-grade OpenAI agent workflows.
Google's framework for building production AI agents.
Type-safe agent development for Python with first-class MCP support.
TypeScript toolkit for building AI-powered web applications.
TypeScript-native agent framework for modern web stacks.
Python framework for orchestrating collaborative AI agent crews.
Leading Python framework for composable LLM applications.
Data-aware AI agent framework for structured and unstructured sources.
Microsoft's framework for multi-agent collaborative conversations.
Connect Google Roads to Windsurf
Get your token, paste the configuration, and start using 4 tools in under 2 minutes. No API key management needed.
