# Geolocation MCP Server
A Model Context Protocol server that provides geolocation services including WalkScore API integration for walkability, transit, and bike scores.
## Features
- **Transit Stops**: Find nearby transit stops for any location
- **WalkScore**: Get walkability scores for any address
- **TransitScore**: Get public transit accessibility scores
- **BikeScore**: Get bikeability scores for locations
- **Location-based**: Works with addresses, coordinates, or both
## Available Tools
- `get_transit_stops` - Get nearby transit stops for a location
- `get_walkscore` - Get WalkScore, TransitScore, and BikeScore for a location
## Quick Start
1. **Get a WalkScore API key** from [walkscore.com/professional/api.php](https://www.walkscore.com/professional/api.php)
2. **Install the server**: `uvx mcp-server-geolocation`
3. **Configure your MCP client** (see Configuration section below)
4. **Start using the tools** in your MCP-compatible application
## Configuration
You'll need a WalkScore API key from [walkscore.com/professional/api.php](https://www.walkscore.com/professional/api.php).
### Configure for Claude.app
Add to your Claude settings:
```json
{
"mcpServers": {
"geolocation": {
"command": "uvx",
"args": ["mcp-server-geolocation"],
"env": {
"WALKSCORE_API_KEY": "your_api_key_here"
}
}
}
}
```
### Configure for VS Code
Add to your VS Code settings:
```json
{
"mcp": {
"servers": {
"geolocation": {
"command": "uvx",
"args": ["mcp-server-geolocation"],
"env": {
"WALKSCORE_API_KEY": "your_api_key_here"
}
}
}
}
}
```
## Usage
Once configured, the server provides two main tools:
### `get_transit_stops`
Find nearby transit stops for any location:
- **Input**: Latitude and longitude coordinates
- **Output**: List of nearby transit stops with routes and distances
### `get_walkscore`
Get walkability scores for any location:
- **WalkScore**: Measures how walkable a location is (0-100)
- **TransitScore**: Measures public transit accessibility (0-100)
- **BikeScore**: Measures bikeability (0-100)
**Input options**:
- An address (string) - e.g., "123 Main St, Seattle, WA"
- Latitude and longitude coordinates - e.g., 47.6085, -122.3295
- Both address and coordinates for better accuracy
**Example usage in Claude**:
- "Find transit stops near 40.7136, -73.9909"
- "What's the walkability score for 123 Main St, Seattle, WA?"
## Installation
### Using uv (recommended)
```bash
uvx mcp-server-geolocation
```
### Using pip
```bash
pip install mcp-server-geolocation
```
## License
MIT License - see LICENSE file for details.