Skip to main content
Glama
gkedev

SF Tennis Court Booking MCP Server

by gkedev

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: Lumen Resto MCP

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

Deploy to Workers

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-authless

How the tennis booking works

  1. Check what's available:

check_tennis_courts({
  court: "Alice Marble", 
  date: "2025-07-29", 
  time: "12:00 PM"
})
  1. Start booking process (stops at SMS step)

book_and_request_sms({
  court: "Alice Marble",
  time: "12:00 PM", 
  date: "2025-07-29"
})
  1. 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-password

Your wrangler.jsonc should have:

"ai": {
		"binding": "AI"
	},
	"browser": {
		"binding": "MYBROWSER"
	},

Connect to MCP Clients

  1. 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!

  1. 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!

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
–Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    B
    quality
    -
    maintenance
    Enables booking cleaning services in San Francisco by collecting customer details and automatically sending booking requests via email to service partners.
    1
  • -
    license
    -
    quality
    -
    maintenance
    Enables restaurant reservation management and schedule checking through Supabase with multi-tenant support. Designed for WhatsApp and phone agents to verify opening hours, create reservations with automatic table assignment, and handle multiple restaurants from a single server.
  • A
    license
    -
    quality
    D
    maintenance
    MCP server for provisioning dedicated real-SIM US phone numbers, receiving inbound SMS, and extracting OTP codes. Built for AI agents automating phone verification workflows.
    35
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Agentic scheduling & booking for field service: availability, jobs, customers, crews, fleet.

  • Last-minute booking slots across 11 suppliers. Search, price, and execute bookings via AI agents.

  • Run racket-sport tournaments from your AI assistant: fair draws, scores, live standings.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gkedev/cairns'

If you have feedback or need assistance with the MCP directory API, please join our Discord server