# BandMate AI for AI agents

AI agents are welcome. There are three ways in, depending on whether you are acting for someone with a BandMate account.

## 1. Read the site

- https://bandmateai.com/llms.txt — summary; https://bandmateai.com/llms-full.txt — everything
- Any page listed there as Markdown: add .md to the path (/index.md, /pricing.md, /claude.md, /ai.md, /for-musicians.md, /musician-mileage-tracker.md) or send `Accept: text/markdown`
- Public directories as HTML: https://bandmateai.com/band, https://bandmateai.com/gig, https://bandmateai.com/venues

## 2. Public API (no account)

No account needed. JSON, enveloped as { "data": ..., "meta": ... }. Same-origin on bandmateai.com.

- GET https://bandmateai.com/api/v1/public/bands?q=&state=MD&genre=&sort_by=name|followers|newest&limit=20&offset=0 — search public bands. Each has a slug.
- GET https://bandmateai.com/api/v1/public/bands/{slug} — a band profile; /{slug}/gigs, /{slug}/members, /{slug}/songs, /{slug}/last-setlist, /{slug}/stats, /{slug}/similar
- GET https://bandmateai.com/api/v1/public/gigs?q=&state=&city=&genre=&from_date=YYYY-MM-DD&to_date=&limit=50 — upcoming public shows; /{gig_id} for one
- GET https://bandmateai.com/api/v1/public/venues?limit=100&offset=0 — venues with public profiles; /{slug}, /{slug}/gigs, /{slug}/reviews
- POST https://bandmateai.com/api/v1/public/bands/{slug}/booking-inquiry — ask a band to play, on a client's behalf. JSON body: name, email, venue_or_event_name, details (10–5000 chars); optional proposed_date (YYYY-MM-DD), budget_range, is_booker. 201 on success; 403 if the band has inquiries off; 429 after 3 a day per email. Say which agent is submitting in details.

Human-readable pages: https://bandmateai.com/band (directory), https://bandmateai.com/band/{slug}, https://bandmateai.com/gig, https://bandmateai.com/gig/{id}, https://bandmateai.com/venues, https://bandmateai.com/venues/{slug}.

## 3. Act for a BandMate user (MCP)

BandMate is an MCP server. A Band or Band Pro member connects Claude (or Claude Code, Cursor, any MCP client with OAuth) to their own account and the agent acts as them.

- MCP endpoint: https://bandmateai.com/api/v1/mcp (Streamable HTTP, JSON responses, tools only)
- Auth: OAuth 2.1 with PKCE and dynamic client registration. Discovery: https://bandmateai.com/.well-known/oauth-protected-resource/api/v1/mcp and https://bandmateai.com/.well-known/oauth-authorization-server
- An unauthenticated request to the endpoint returns 401 with a WWW-Authenticate challenge naming the resource metadata; follow it.
- Scope: the connected user's bands only, with the permissions of their role; delete_gig and merge_venues require the user's confirmation. Band-scoped tools need that band on Band or Band Pro.
- Guide for people: https://bandmateai.com/claude

Tools:
- list_bands: bands, your role, plan, booking contact and whether the connector is enabled
- list_gigs: upcoming or past gigs with your pay and miles; owners and managers see the band total
- get_gig: one gig in full, including tech notes
- check_availability: what you already have on a date or range, across every band
- create_gig: add a gig to a band you own or manage; a city/state-only address gives an estimated distance
- update_gig: edit a gig: date, times, venue, pay, status, notes; only the fields passed change
- cancel_gig: cancel a gig and keep it in history
- delete_gig: delete a gig permanently; owner only, and only after you confirm
- list_members: a band's members with role, position and how each is paid
- invite_member: invite someone by email with a role, position and pay type; they get a join link
- resend_invite: send a pending invite again and extend it a week
- cancel_invite: revoke a pending invite
- set_member_pay: set one member's pay on a gig, apart from the band total
- set_member_rate: put a member (sound engineer, sub) on a flat fee with a dated rate schedule
- mark_paid: record a payment: amount, date, method (cash, Venmo, Zelle, check)
- log_mileage: log your own round-trip miles for a gig
- create_expense: log an expense with category, vendor, receipt note and gig
- list_venues: a band's venues, with ids for create_gig
- create_venue: add a venue with address, load-in notes and contact; reuses an existing match
- update_venue: edit a venue's details or your band's notes and contact for it
- merge_venues: merge a duplicate venue into the one to keep, moving its gigs; after you confirm
- set_band_contact: store the band's leader or booker name, email and phone
- calendar_feed: your personal ICS calendar URL plus per-band feeds, with subscribe steps
- mileage_summary: a year of deductible miles, effective rate and each trip
- tax_summary: income marked paid, expenses by category, the mileage deduction
- list_expenses: your logged expenses
- list_equipment: your gear with purchase details and rig notes
- list_setlists: a band's setlists
- get_setlist: every song on a setlist with key, BPM and duration

The user connects you from their side: they add the MCP URL in their client and approve it once on bandmateai.com. Band and Band Pro only.

---

HTML version: https://bandmateai.com/ai. All pages: https://bandmateai.com/llms.txt.
