Submit

SportsBarWatch

@Harald

Find sports bars showing live matches worldwide — World Cup 2026, Premier League, Champions League, and 30+ sports across 2,000+ bars in 99 countries. An MCP (Model Context Protocol) server that lets AI assistants answer questions like: "Where can I watch Arsenal vs Chelsea in London?" "What's on at sports bars in Stockholm tonight?" "Find bars showing the World Cup in Tokyo"
Overview

@sportsbarwatch/mcp-server
TypeScript icon, indicating that this package has built-in type declarations

0.1.3 • Public • Published

SportsBarWatch MCP Server

Find sports bars showing live matches worldwide — World Cup 2026, Premier League, Champions League, and 30+ sports across 2,000+ bars in 99 countries.

An MCP (Model Context Protocol) server that lets AI assistants answer questions like:

  • "Where can I watch Arsenal vs Chelsea in London?"
  • "What's on at sports bars in Stockholm tonight?"
  • "Find bars showing the World Cup in Tokyo"

Tools

ToolDescription
find_bars_showing_matchFind bars showing a specific match by team name or match ID
whats_on_tonightGet all matches showing at bars tonight in a city
bar_detailsGet full details about a bar including upcoming matches
search_matchesSearch matches by team, competition, or sport
team_scheduleGet upcoming schedule for a team with bar counts

Quick Start

With Claude Desktop

Add to your config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "sportsbarwatch": {
      "command": "npx",
      "args": ["-y", "@sportsbarwatch/mcp-server"],
      "env": {
        "SBW_DB_PATH": "/path/to/vargarmatchen.db"
      }
    }
  }
}

With Claude Code

claude mcp add sportsbarwatch -- npx -y @sportsbarwatch/mcp-server

Environment Variables

VariableDescriptionDefault
SBW_DB_PATHPath to SQLite database../data/vargarmatchen.db
SBW_TELEMETRYSet to off to disable demand loggingon

Anonymous Demand Logging

By default, the server logs anonymous demand signals (team + city + result count) to a local SQLite file (mcp-demand.db) next to the main database. This helps us understand which cities and teams have unmet demand so we can expand bar coverage.

What is logged: tool name, team/query (truncated to 80 chars, sanitized), city (bucketed to "[small city]" when fewer than 5 bars), sport, result count, date. One entry per unique combination per day. Data retained for 365 days.

What is NOT logged: no IP, no user identity, no device ID, no session tracking. Query inputs are truncated and sanitized — not raw conversation content.

Opt out: Set SBW_TELEMETRY=off in your environment.

Data

The server reads from a SQLite database (read-only, no writes) containing:

  • 2,000+ bars across 99 countries and 680+ cities
  • Daily-updated match schedules from 188 automated scrapers
  • 30+ sports: football, ice hockey, basketball, tennis, rugby, motorsport, and more
  • World Cup 2026: all 48 teams, group stage schedule, host city venues

Data is scraped daily from bar websites via GitHub Actions. Major chains include O'Learys, Walkabout, Social Pub & Kitchen, Belushi's, and hundreds of independent sports bars.

Example Queries

Ask your AI assistant:

  • "Where can I watch the Champions League final in Berlin?"
  • "What sports bars in Melbourne are showing AFL tonight?"
  • "Find a bar showing England vs Croatia in the World Cup in London"
  • "What's the schedule for Real Madrid this week?"
  • "Tell me about O'Learys TOLV in Stockholm"

License

MIT

Server Config

{
  "mcpServers": {
    "sportsbarwatch": {
      "command": "npx",
      "args": [
        "-y",
        "@sportsbarwatch/mcp-server"
      ],
      "env": {
        "SBW_DB_PATH": "/path/to/vargarmatchen.db"
      }
    }
  }
}
© 2025 MCP.so. All rights reserved.

Build with ShipAny.