SF Tennis Court Booking via Cloudflare MCP Server
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
SF Tennis Court Booking via Cloudflare MCP Server
Automate tennis court bookings on San Francisco Recreation websites using a Cloudflare MCP (Model Context Protocol) server with browser automation. Never miss your favorite court and court time again!
It uses Stytch to authenticate the server so only certain emails (like mine) can book a court (in my name.)
Demo Video
📹 Watch the demo and a brief project explanation on YouTube
Related MCP server: Playwright MCP Server
What This Does
This MCP server has 3 tennis booking tools:
Check Court Availability - See available time slots for any court/date
Book Court & Request SMS - Automate booking flow up to SMS verification
Complete Booking with SMS - Finish booking by entering your SMS code
Quick Deploy
This will deploy your tennis booking MCP server to: tennis-booking.<your-account>.workers.dev/sse
Alternatively, clone and deploy locally:
npm create cloudflare@latest -- tennis-booking-mcp --template=cloudflare/ai/demos/remote-mcp-authlessHow the tennis booking works
Check what's available:
check_tennis_courts({
court: "Alice Marble",
date: "2025-07-29",
time: "12:00 PM"
})Start booking process (stops at SMS step)
book_and_request_sms({
court: "Alice Marble",
time: "12:00 PM",
date: "2025-07-29"
})Manual SMS + Automated Completion (User gets verification code from rec.us, types it in to MCP server message, this tool then runs)
enter_sms_code_and_complete({code: "123456"})Setup Requirements
You need secrets for your Cloudflare Worker/MCP server:
REC_EMAIL=your-sf-rec-email@example.com
REC_PASSWORD=your-sf-rec-passwordYour wrangler.jsonc should have:
"ai": {
"binding": "AI"
},
"browser": {
"binding": "MYBROWSER"
},Connect to MCP Clients
Cloudflare LLM Playground
Go to https://playground.ai.cloudflare.com/
Enter your MCP server URL: tennis-booking.<your-account>.workers.dev/sse
Start booking courts with natural language!
Claude Desktop Install the mcp-remote proxy and update Claude Desktop's config:
{
"mcpServers": {
"tennis-booking": {
"command": "npx",
"args": [
"mcp-remote",
"https://tennis-booking.<your-account>.workers.dev/sse"
]
}
}
}Now you can chat with Claude: "Book Alice Marble court for tomorrow at 2 PM" and it will handle the entire process!
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Playwright browser automation — navigate, click, fill forms, extract, screenshot — 17 agent tools.
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI agents to search hotels, check availability, manage reservations, and book rooms on Booking.com via browser automation.1529 npm7MIT
- AlicenseNot gradedqualityDmaintenanceEnables browser automation using Playwright for web scraping, testing, and automation tasks through natural language commands.1,175 npmMIT
- FlicenseNot gradedqualityDmaintenanceAutomates tennis court bookings on San Francisco Recreation websites, enabling users to check availability and book courts via SMS verification.-
- AlicenseNot gradedqualityDmaintenanceBridges AI agents like Codex and Claude to Google Flow via browser automation. Provides tools to open, snapshot, click, type, upload, download, wait, and confirm paid generations.1MIT