jestelle/sf-parking-mcp
If you are the rightful owner of sf-parking-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
An MCP server providing access to San Francisco parking data via the SFMTA ArcGIS REST API.
SF Parking API
A REST API that provides access to San Francisco parking data via the SFMTA ArcGIS REST API.
🎉 Live API: https://sf-parking.vercel.app/api
Features
This server exposes three tools for querying SF parking blockface data:
- get_parking_by_bbox: Query parking data within a bounding box (lat/lon coordinates)
- get_parking_by_street: Search for parking by street name
- get_parking_by_location: Find parking near a specific point
Data includes street parking availability, rates, schedules, and location information for all SF parking zones.
Installation
Option 1: Using uv (Recommended)
# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh
# Clone or download this repository
git clone <your-repo-url>
cd sf-parking
# Install dependencies
uv sync
Option 2: Using pip
pip install -e .
Option 3: Install from PyPI (after publishing)
pip install sf-parking-mcp
Usage
With Claude Desktop
Add this to your Claude Desktop configuration file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"sf-parking": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/sf-parking",
"run",
"server.py"
]
}
}
}
Or if installed via pip:
{
"mcpServers": {
"sf-parking": {
"command": "python",
"args": ["-m", "server"]
}
}
}
Standalone Testing
# Run the server directly
uv run server.py
Example Queries
Once connected, you can ask Claude questions like:
- "What's the parking availability on Market Street?"
- "Find parking near coordinates 37.7749, -122.4194"
- "Show me all parking in the area bounded by 37.77, -122.42 and 37.78, -122.41"
API Details
This server queries the SFMTA ArcGIS REST API:
- Endpoint:
sfpark_ODS.BLOCKFACE_RATES_VW - Data: Real-time parking blockface rates, availability, and location info
- Max records per query: 1000
Available Fields
- Location: Street name, address range, lat/lon, orientation
- Availability: Threshold values, availability messages
- Pricing: Rate details, schedules, thresholds
- Identifiers: Blockface ID, geometry
Publishing to PyPI (Free Hosting)
To make this server easily installable anywhere:
- Create a PyPI account at https://pypi.org/account/register/
- Install build tools:
uv pip install build twine - Build the package:
python -m build - Upload to PyPI:
twine upload dist/*
After publishing, anyone can install with: pip install sf-parking-mcp
Development
# Install dev dependencies
uv sync
# Run server locally
uv run server.py
# Test with MCP inspector
npx @modelcontextprotocol/inspector uv run server.py
License
MIT
Contributing
Contributions welcome! Please open an issue or PR.