Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Google Maps routes, ETAs, and turn-by-turn steps via the Apify Directions API, hosted MCP.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://mcp.apify.com/?tools=johnvc/google-maps-directions-apiRun this in your terminal
claude mcp add --transport http google-maps-directions 'https://mcp.apify.com/?tools=johnvc/google-maps-directions-api'Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"google-maps-directions": {
"url": "https://mcp.apify.com/?tools=johnvc/google-maps-directions-api"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"google-maps-directions": {
"type": "http",
"url": "https://mcp.apify.com/?tools=johnvc/google-maps-directions-api"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://mcp.apify.com/?tools=johnvc/google-maps-directions-apiMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
The server asks you to sign in before it lists its tools.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account johnisanerd, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 107 ms (HTTP 401)
Declares OAuth sign-in, so your AI app can take you to log in
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.0.0) reached the registry 4 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, OpenTakeoff
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Construction takeoff for AI agents: load plans, set scale, measure, count, export with provenance.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
The most efficient, reliable, and developer-friendly way to use the Google Maps Directions API.
Actor page: apify.com/johnvc/google-maps-directions-api Input schema: apify.com/johnvc/google-maps-directions-api/input-schema
Call the Google Maps Directions API from Python or from any MCP client and get directions between an origin and a destination as clean, structured JSON: route options for driving, transit, walking, cycling, and flight, with distance, ETA, traffic-aware duration ranges, resolved place coordinates, turn-by-turn steps, and a direct Google Maps link. Provide addresses, GPS coordinates, or place IDs.
git clone https://github.com/johnisanerd/Apify-Google-Maps-Directions-API.git
cd Apify-Google-Maps-Directions-API
# Install UV if you do not have it:
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync
cp .env.example .env
uv run python google-maps-directions-api-example.py
export APIFY_API_TOKEN="your_api_key_here"
uv run python google-maps-directions-api-example.py
Once the basic run works, google-maps-directions-api-cookbook.py is a runnable catalog of every feature (all travel modes, coordinates and place-ID inputs, avoidance, units, localization, and transit time and routing). See the cookbook table under "Usage Examples" below.
Every travel mode in one call. Ask for the best options across modes, or pin a single mode: driving, transit, walking, cycling, flight, or two-wheeler. One request returns every route option Google offers for your origin and destination.
Turn-by-turn detail, structured. Each route option carries distance, duration, a traffic-aware typical duration range, a route summary, route notes (tolls, conditions), and trips broken down into individual turn-by-turn steps. Transit options include stops, lines, operators, and times.
Flexible inputs. Set your origin and destination as an address or place name, exact GPS coordinates, or a Google Maps place ID. Choose units, avoid tolls, highways, or ferries, tune transit routing, and set a departure or arrival time.
Predictable pricing. A single route lookup is one flat charge. No surprise per-step or per-byte billing.
Built for agents. The Actor is MCP-ready, so you can load it as a tool in Claude or Cursor and ask for directions in plain language (see the install sections below).
{
"start_addr": "New York, NY", "end_addr": "Boston, MA" }
{
"start_addr": "Brooklyn, NY", "end_addr": "Times Square, New York, NY", "travel_mode": "transit", "transit_routing": "less_walking", "time_type": "arrive_by", "time_value": "2026-06-01T09:00:00", "distance_unit": "miles", "hl": "en", "gl": "us" }
google-maps-directions-api-cookbook.py is a runnable catalog that exercises every input the API supports, with a clean printed summary per route. Run one example by name, or all:
uv run python google-maps-directions-api-cookbook.py # runs 'basic'
uv run python google-maps-directions-api-cookbook.py walking uv run python google-maps-directions-api-cookbook.py all # runs every example (each is billed)
| Example | What it shows |
|---|---|
basic | Best routes across all modes (the default) |
driving | Driving only, distances in miles |
walking | Walking directions |
cycling | Cycling directions |
two_wheeler | Two-wheeler (motorcycle/scooter; select regions like India) |
transit | Public transit directions |
transit_advanced | Transit with arrive-by time, preferred mode, and less walking |
flight | Flight option for a long-haul route |
coordinates | Origin and destination as latitude,longitude |
place_ids | Origin and destination as Google Maps place IDs |
avoid | Avoid tolls, highways, and ferries |
depart_at | Future departure time (traffic-aware ETA) |
localized | Kilometers and French instructions |
Provide an origin (an address, coordinates, or a place ID) and a destination.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
start_addr | str | one of origin | - | Origin address or place name. |
end_addr | str | one of dest | - | Destination address or place name. |
start_coords | str | no | - | Origin as latitude,longitude. Overrides start_addr. |
end_coords | str | no | - | Destination as latitude,longitude. Overrides end_addr. |
start_data_id | str | no | - | Origin Google Maps place ID. Overrides start_addr. |
end_data_id | str | no | - | Destination Google Maps place ID. Overrides end_addr. |
travel_mode | str | no | best | best, driving, cycling, walking, transit, flight, two-wheeler. |
distance_unit | str | no | auto | auto, km, or miles. |
avoid_tolls | bool | no | false | Prefer routes without toll roads. |
avoid_highways | bool | no | false | Prefer routes that avoid highways. |
avoid_ferries | bool | no | false | Prefer routes that avoid ferries. |
transit_prefer | str | no | none | bus, subway, train, tram, or light_rail (transit only). |
transit_routing | str | no | none | fewer_transfers, less_walking, or wheelchair (transit only). |
time_type | str | no | leave_now | leave_now, depart_at, or arrive_by. |
time_value | str | no | - | ISO 8601 datetime or Unix timestamp, used with depart_at / arrive_by. |
hl | str | no | en | Interface language code (ISO 639-1). |
gl | str | no | us | Country code (ISO 3166-1). |
One row per run. Trimmed example for New York, NY to Boston, MA:
{
"result_type": "directions", "start": "New York, NY", "end": "Boston, MA", "travel_mode": "best", "directions_found": true, "directions_count": 3, "best_duration": "3 hr 38 min", "best_distance": "215 miles", "places_info": [ { "address": "New York", "data_id": "0x89c24fa5d33f083b:0xc80b8f06e177fe62", "gps_coordinates": { "latitude": 40.7127753, "longitude": -74.0059728 } }, { "address": "Boston, Massachusetts", "data_id": "0x89e3652d0d3d311b:0x787cbf240162e8a0", "gps_coordinates": { "latitude": 42.3555076, "longitude": -71.0565364 } } ], "directions": [ { "travel_mode": "Driving", "via": "CT-15 N and I-90 E", "distance": 346243, "duration": 13082, "formatted_distance": "215 miles", "formatted_duration": "3 hr 38 min", "typical_duration_range": "3 hr 21 min to 4 hr 10 min", "extensions": ["Fastest route now due to traffic conditions", "This route has tolls."], "trips": [ { "travel_mode": "Driving", "title": "Get on FDR Dr", "formatted_distance": "0.9 mi", "formatted_duration": "5 min", "details": [ { "title": "Head toward Park Row", "action": "straight", "formatted_distance": "200 ft", "formatted_duration": "21 sec" } ] } ] } ], "durations": [ { "travel_mode": "Driving", "formatted_duration": "3 hr 38 min" }, { "travel_mode": "Transit", "formatted_duration": "4 hr 25 min" }, { "travel_mode": "Flight", "formatted_duration": "1 hr 15 min" } ], "google_maps_directions_url": "https://www.google.com/maps/dir/...", "gl": "us", "hl": "en", "fetched_at": "2026-05-29T12:00:00+00:00" }
This Actor is MCP-server-compatible, so AI assistants can call the Google Maps Directions API as a tool through Apify's hosted MCP server.
The Actor's MCP server URL is always built with the actors and docs helper tools plus this one Actor:
https://mcp.apify.com/?tools=actors,docs,johnvc/google-maps-directions-api
The actors and docs tools let the assistant discover and read Apify docs, while preloading just this one Actor keeps the tool list small. Auth is either OAuth in the browser when offered, or your Apify API token (the same APIFY_API_TOKEN secret used by the Python example). Get a token at https://console.apify.com/settings/integrations and a free Apify account at https://apify.com?fpr=9n7kx3 .
Cowork is the desktop app's automation mode. To give it the Google Maps Directions API as a tool, add the Apify MCP server as a connector.
claude_desktop_config.json directly).~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": { "apify": { "command": "npx", "args": [ "-y", "mcp-remote", "https://mcp.apify.com/?tools=actors,docs,johnvc/google-maps-directions-api" ] } } }
Download the desktop app and start a free trial: https://claude.ai/referral/uIlpa7nPLg More help: https://docs.apify.com/platform/integrations/claude-desktop
Claude Code is the command-line tool. Add the Actor's MCP server with one command:
claude mcp add --transport http apify \
"https://mcp.apify.com/?tools=actors,docs,johnvc/google-maps-directions-api"
To use a token instead of browser OAuth:
claude mcp add --transport http apify \
"https://mcp.apify.com/?tools=actors,docs,johnvc/google-maps-directions-api" \ --header "Authorization: Bearer YOUR_APIFY_TOKEN"
Then verify with claude mcp list, or run /mcp inside a session. Ask Claude Code to call the Google Maps Directions API.
Try Claude Code fr
Only the beginning is shown; read the rest in the repo