TavernFinder

Find tabletop events, venues, and games. RSVP, register, create events via personal token.

Should I use this

Quality & Safety

A
Description quality
97%
Schema completeness
97%
Naming quality
93%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,131Tokens (tool definitions)
~1.7 KBTypical response size
Moderate attention impact (0.88% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "tavernfinder": {
      "url": "https://mcp.tavernfinder.com/mcp"
    }
  }
}

Remote endpoints

https://mcp.tavernfinder.com/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_events(lat, lng, gameBggId, type, limit)

Search for upcoming tabletop gaming events (tournaments, leagues, casual play) near a location.

Input Schema

{
  "type": "object",
  "properties": {
    "lat": {
      "type": "number",
      "description": "Latitude of the user for proximity search"
    },
    "lng": {
      "type": "number",
      "description": "Longitude of the user for proximity search"
    },
    "gameBggId": {
      "type": "number",
      "description": "BoardGameGeek ID to filter for a specific game"
    },
    "type": {
      "type": "string",
      "enum": [
        "all",
        "event",
        "table"
      ],
      "description": "Type of activity to search for"
    },
    "limit": {
      "type": "number",
      "description": "Maximum number of results to return",
      "default": 10
    }
  }
}
🟢search_venues(q, city, venueType, amenities, products, ...)

Search for local game stores, hobby centers, and community spaces.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Search query (venue name or game category)"
    },
    "city": {
      "type": "string",
      "description": "Filter by city name"
    },
    "venueType": {
      "type": "string",
      "enum": [
        "game_store",
        "cafe_bar",
        "community_space"
      ],
      "description": "Type of venue"
    },
    "amenities": {
      "type": "string",
      "description": "Comma-separated list of amenities (e.g., 'play_space,food,game_library')"
    },
    "products": {
      "type": "string",
      "description": "Comma-separated list of products sold (e.g., 'board_games,tcg_products,miniatures')"
    },
    "unclaimed": {
      "type": "boolean",
      "description": "Filter for venues that haven't been claimed by owners yet"
    },
    "lat": {
      "type": "number",
      "description": "Latitude for proximity sorting"
    },
    "lng": {
      "type": "number",
      "description": "Longitude for proximity sorting"
    }
  }
}
🟢search_games(q, limit)

Search for board games in our catalog to find their BoardGameGeek IDs (required for filtering events by game).

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Name of the board game to search for"
    },
    "limit": {
      "type": "number",
      "description": "Maximum number of results to return",
      "default": 5
    }
  },
  "required": [
    "q"
  ]
}
🟢rsvp_event(venueId, eventId, accessCode)

RSVP / join a Tavern Finder event on behalf of the authenticated user. Requires a personal access token with the `write:rsvp` scope. Use search_events first to find the venueId + eventId pair.

Input Schema

{
  "type": "object",
  "properties": {
    "venueId": {
      "type": "string",
      "description": "UUID of the venue hosting the event"
    },
    "eventId": {
      "type": "string",
      "description": "UUID of the specific event to join"
    },
    "accessCode": {
      "type": "string",
      "description": "Access code, only needed if the event is access-code-protected"
    }
  },
  "required": [
    "venueId",
    "eventId"
  ]
}
🟡register_user(email, password, name, lastName, tosAccepted, ...)

Create a Tavern Finder account for the person you are helping, and get a reusable access token for it. Use the account immediately — booking and creating events work right away. STORE THE ACCESS TOKEN and reuse it for this person every time; do not call this again for someone you already registered. You also get a claim link: give it to the person so they can take ownership, set their own email and password, and see their bookings on the website. Only pass an email if the person actually gave you one — otherwise leave it out and they will set it when they claim.

Input Schema

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "description": "Optional. The person's real email, only if they gave you one. Omit it rather than inventing one — they set it when claiming."
    },
    "password": {
      "type": "string",
      "description": "Password, minimum 8 characters. Generate a strong random one; the person replaces it when they claim."
    },
    "name": {
      "type": "string",
      "description": "First name"
    },
    "lastName": {
      "type": "string",
      "description": "Last name"
    },
    "tosAccepted": {
      "type": "boolean",
      "description": "Must be true. Confirms the user agreed to https://tavernfinder.com/terms"
    },
    "locale": {
      "type": "string",
      "description": "Preferred locale: 'pt' | 'en' | 'es' (default 'pt')"
    }
  },
  "required": [
    "password",
    "name",
    "lastName",
    "tosAccepted"
  ]
}
🟡create_event(venueId, date, startTime, endTime, title, ...)

Create a new event (open event or private table) at a venue on behalf of the user. Requires a personal access token with the `write:create_event` scope. The user must be a member of the venue (player role at minimum); only staff/CL can create open events.

Input Schema

{
  "type": "object",
  "properties": {
    "venueId": {
      "type": "string",
      "description": "UUID of the venue"
    },
    "date": {
      "type": "string",
      "description": "ISO date (YYYY-MM-DD)"
    },
    "startTime": {
      "type": "string",
      "description": "HH:MM[:SS] start time"
    },
    "endTime": {
      "type": "string",
      "description": "HH:MM[:SS] end time"
    },
    "title": {
      "type": "string",
      "description": "Event title (max 200 chars)"
    },
    "description": {
      "type": "string",
      "description": "Optional description (max 2000 chars)"
    },
    "gameBggId": {
      "type": "number",
      "description": "BGG game ID, optional"
    },
    "tableId": {
      "type": "string",
      "description": "Specific table UUID for table-based events"
    },
    "maxCapacity": {
      "type": "number",
      "description": "Max participants"
    },
    "accessCode": {
      "type": "string",
      "description": "Optional access code for private events"
    },
    "autoJoin": {
      "type": "boolean",
      "description": "Whether the creator auto-joins (default true)"
    }
  },
  "required": [
    "venueId",
    "date",
    "startTime",
    "endTime"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools