Tavern Finder MCP server
Connect your AI assistant to Tavern Finder. Ask it to find tabletop events, venues and games near you, sign you up for an event, or set up a game night. Nothing to install.
https://mcp.tavernfinder.com/mcpStreamable HTTP transport. Searching needs no account. Joining or creating events needs a personal access token.
Connect
Claude (claude.ai and Claude Desktop)
- Open Settings, then Connectors.
- Choose Add custom connector.
- Name it Tavern Finder and paste the server URL above.
This gives you the search tools. To join or create events, use a client that lets you set a request header, like the ones below.
Claude Code
claude mcp add --transport http tavernfinder https://mcp.tavernfinder.com/mcp
# with write access
claude mcp add --transport http tavernfinder https://mcp.tavernfinder.com/mcp \
--header "Authorization: Bearer tf_pat_..."Cursor
Add this to ~/.cursor/mcp.json, or .cursor/mcp.json in a project:
{
"mcpServers": {
"tavernfinder": {
"url": "https://mcp.tavernfinder.com/mcp",
"headers": { "Authorization": "Bearer tf_pat_..." }
}
}
}VS Code
Add this to .vscode/mcp.json:
{
"servers": {
"tavernfinder": {
"type": "http",
"url": "https://mcp.tavernfinder.com/mcp",
"headers": { "Authorization": "Bearer tf_pat_..." }
}
}
}Leave out the headers line if you only want to search. Any other client that supports remote MCP servers over Streamable HTTP works the same way.
Access tokens
Joining and creating events act on your account, so they need a personal access token.
- Sign in and open Profile, Access tokens.
- Create a token and pick what it may do.
- Copy the
tf_pat_...value into your client'sAuthorizationheader.
| Scope | Lets the assistant |
|---|---|
write:rsvp | Join events for you |
write:create_event | Create events and table bookings for you |
write:profile | Change your profile details (no MCP tool uses this yet) |
You can revoke a token on the same page at any time. It stops working at once.
No account yet? An assistant can call register_user to create one for you. It gets a token straight away and gives you a claim link, where you set your own email and password and see your bookings on the website.
Tools
search_events
No authFind upcoming tournaments, leagues and casual play near a location.
- lat number
- Latitude for proximity search
- lng number
- Longitude for proximity search
- gameBggId number
- BoardGameGeek ID, from search_games
- type all | event | table
- Kind of activity
- limit number
- Default 10
search_venues
No authFind game stores, cafes and community spaces.
- q string
- Venue name or game category
- city string
- City name
- venueType game_store | cafe_bar | community_space
- Kind of venue
- amenities string
- Comma-separated, e.g. play_space,food,game_library
- products string
- Comma-separated, e.g. board_games,tcg_products,miniatures
- unclaimed boolean
- Only venues no owner has claimed yet
- lat, lng number
- Sort by distance from this point
search_games
No authLook up the BoardGameGeek ID for a game name.
- q* string
- Game name
- limit number
- Default 5
register_user
No authCreate an account for the person you are helping. Returns a reusable access token and a claim link the person opens to set their own email and password.
- name, lastName* string
- The person's name
- password* string
- At least 8 characters; replaced when the person claims the account
- tosAccepted* boolean
- Must be true; the person agrees to the Terms
- email string
- Only if the person gave one
- locale pt | en | es
- Default pt
rsvp_event
Token with write:rsvpJoin an event for the signed-in person.
- venueId* uuid
- From search_events
- eventId* uuid
- From search_events
- accessCode string
- Only for code-protected events
create_event
Token with write:create_eventCreate an open event or a table booking at a venue. Only venue staff can create open events.
- venueId* uuid
- Venue to host it
- date* YYYY-MM-DD
- Event date
- startTime, endTime* HH:MM
- Local venue time
- title string
- Up to 200 characters
- description string
- Up to 2000 characters
- gameBggId number
- Game being played
- tableId uuid
- Specific table, for table bookings
- maxCapacity number
- Seat limit
- accessCode string
- Makes the event private
- autoJoin boolean
- Creator joins it; default true
* required
Example prompts
- “Are there any Commander events near Lisbon this Saturday?”
- “Find a board game cafe in Madrid with a play space and food.”
- “What is the BoardGameGeek ID for Wingspan?”
- “Sign me up for Friday Night Magic at my local store.” (needs write:rsvp)
- “Book a table for a Catan night next Tuesday, 7 to 10pm.” (needs write:create_event)
Limits and errors
Limits are per IP address: 500 requests a minute overall, and 10 requests every 10 seconds for event and game searches. Normal use will not reach them.
| 401 | Token missing, wrong or revoked |
| 403 | Token lacks the scope, or you have no permission at that venue |
| 409 | Already joined, event full, or email already registered |
| 429 | Too many requests; wait and try again |
More
- REST API docs for the same data over plain HTTP.
- llms-full.txt, this guide in a form written for agents.
- Questions, bugs or a high-volume integration: [email protected]