Command Palette

Search for a command to run...

UnylyUnyly
Browse all

SF Tennis Court Booking Via Cloudflare Server

FreeNot checked

Automates tennis court bookings on San Francisco Recreation websites using browser automation, with tools to check availability, initiate booking with SMS verif

GitHubEmbed

About

Automates tennis court bookings on San Francisco Recreation websites using browser automation, with tools to check availability, initiate booking with SMS verification, and complete bookings.

README

image

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

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:

[email protected]
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!

from github.com/elizabethsiegle/rec-us-mcp-server

Installing SF Tennis Court Booking Via Cloudflare Server

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/elizabethsiegle/rec-us-mcp-server

FAQ

Is SF Tennis Court Booking Via Cloudflare Server MCP free?

Yes, SF Tennis Court Booking Via Cloudflare Server MCP is free — one-click install via Unyly at no cost.

Does SF Tennis Court Booking Via Cloudflare Server need an API key?

No, SF Tennis Court Booking Via Cloudflare Server runs without API keys or environment variables.

Is SF Tennis Court Booking Via Cloudflare Server hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install SF Tennis Court Booking Via Cloudflare Server in Claude Desktop, Claude Code or Cursor?

Open SF Tennis Court Booking Via Cloudflare Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare SF Tennis Court Booking Via Cloudflare Server with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All browse MCPs