Geolocation MCP Server WalkScore Walk, Transit, Bike Scores
Explore walk, transit, and bike scores via WalkScore API on this MCP server to optimize location insights and planning.
npx -y @jackyang25/geolocation-mcp-serverOverview
This repository implements an MCP (Model Context Protocol) server that integrates the Walk Score API to surface pedestrian, transit, and bicycle friendliness for a given location. It wraps Walk Score’s endpoints and exposes developer-friendly HTTP tools that are suitable for both direct use in applications and for connecting to language models or other agents that consume MCP-style tool metadata.
By centralizing Walk Score calls behind a small MCP server, you get a stable local interface for geolocation scoring, consistent JSON responses, and simple authentication via environment variables. This is useful for real-estate apps, route planners, urban analysis dashboards, or any project that needs to enrich locations with walkability, transit, and bikeability insights.
GitHub: https://github.com/jackyang25/geolocation-mcp-server
Features
- Simple HTTP endpoints for Walk Score, Transit Score, and Bike Score lookups
- MCP-friendly tool metadata to integrate with LLM agents or tool runners
- Environment-configurable API key and server port
- Minimal wrapper that normalizes Walk Score JSON responses
- Example usage with curl and sample request/response payloads
Installation / Configuration
Prerequisites: Node.js (14+), npm or Docker.
Clone and install:
Environment variables (create a .env file in the project root):
WALK_SCORE_API_KEY=your_walkscore_api_key_here
PORT=3000
Start the server:
# or for development
Run with Docker (example):
Replace your_walkscore_api_key_here with the API key you obtain from Walk Score (https://www.walkscore.com/professional/api.php).
Available Tools / Resources
This server exposes three primary tools/endpoints. Each accepts latitude and longitude (and optional address) and returns normalized JSON from the Walk Score APIs.
Endpoints
| Method | Path | Query parameters | Description |
|---|---|---|---|
| GET | /walkscore | lat, lon, address (optional) | Returns walk score and associated data |
| GET | /transitscore | lat, lon, address (optional) | Returns transit score and transit details |
| GET | /bikescore | lat, lon, address (optional) | Returns bike score and relevant metadata |
Example: GET /walkscore?lat=47.608&lon=-122.329
Tool manifest (MCP-style) — example JSON you can feed to an LLM/tool runner:
Example Requests
Simple curl to get a walk score:
Sample JSON response (normalized):
If using programmatic fetch in Node/Browser:
;
;
json;
Use Cases
- Real estate listings: Show walk, transit, and bike scores on property pages to help buyers evaluate neighborhood mobility.
- Route planning and delivery: Combine walk/transit/bike scores with routing data to choose optimized pickup/dropoff zones.
- Urban analytics and planning: Batch-score many coordinates to map mobility heatmaps and identify underserved areas.
- Conversational agents: Provide an LLM with the MCP tool manifest so the model can call the server to answer questions like “How walkable is 1600 Pennsylvania Ave?” in real time.
- Site selection: Use scores to filter candidate locations for retail, coworking, or service deployment.
Notes and Best Practices
- Respect Walk Score API terms and rate limits. This wrapper does not change upstream rate limits.
- Cache results where appropriate for batch analyses to reduce API calls and latency.
- Validate lat/lon inputs and handle geocoding server-side if starting from a plain address.
- Use HTTPS and secure storage for your WALK_SCORE_API_KEY in production environments.
For full source, examples, and any updates, see the project on GitHub: https://github.com/jackyang25/geolocation-mcp-server.