MCP 서버

Beleeg (public, no account)

com.beleeg/beleeg-public
게임 공개 · 연결 가능 MCP 2025-11-25

이 MCP로 할 수 있는 일

Looks up public leagues, teams, matches, and tournaments and creates new leagues or tournament brackets.

beleeg_look_up_public
Look up a public page
Look up what anyone can see on Beleeg — a league, team, match or tournament public page — no membership needed. Read-only. Pick `what` and give the slug or id listed for it. what (params; ? = optional): - league: A league's public page by its slug: sport, current season, teams, standings. [slug] - team: A team's public page by its slug: roster, captain, colours, recent matches. [slug] - match: One match by match_id: teams, lineups, set scores, venue. [match_id] - tournament: One tournament's public page by tournament_id: status, entrants, bracket. [tournament_id] - league_tournaments: The tournaments a league shows the public, by the league slug. [league_slug]
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['what'], 'properties': {'slug': {'type': 'string', 'description': 'Public URL-safe league slug. Used with what: league, team.'}, 'what': {'enum': ['league', 'team', 'match', 'tournament', 'league_tournaments'], 'type': 'string', 'description': 'What to look up. Every value is listed, with its params, in the tool description.'}, 'match_id': {'type': 'string', 'description': 'One match id (from what "schedule"). For the match-day lookups, leave out to mean the person\'s next match. Used with what: match.'}, 'league_slug': {'type': 'string', 'description': 'Public league slug (not UUID). Used with what: league_tournaments.'}, 'tournament_id': {'type': 'string', 'description': 'A tournament id, from what "tournaments". Used with what: tournament.'}}, 'additionalProperties': True}
beleeg_send_feedback
Tell Beleeg what was missing
Send Beleeg a note when it cannot do something the person asked for, or when a tool was confusing or gave a wrong answer. Say what they wanted and, if one did, which tool fell short. Never include personal details — names, emails or phone numbers — of the person or anyone else. The Beleeg team reads these to decide what to build; nothing is done automatically and nobody replies, so still tell the person what you could not do and, where there is one, where in Beleeg they can do it themselves.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['message'], 'properties': {'tool': {'type': 'string', 'maxLength': 100, 'description': 'The tool that fell short, if one did.'}, 'message': {'type': 'string', 'maxLength': 2000, 'minLength': 1, 'description': 'What Beleeg could not do, or what was confusing or wrong, in a sentence or two. No names, emails or phone numbers of anyone.'}, 'trying_to': {'type': 'string', 'maxLength': 500, 'description': 'What the person was trying to get done, e.g. "move all of Saturday\'s games to Sunday".'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['received'], 'properties': {'received': {'type': 'boolean'}}, 'additionalProperties': False}
beleeg_start_league
Start a league (no account needed)
Creates a real league on Beleeg right away for someone who does not have a Beleeg account yet: the league, its first season with registration open, optional teams, and a public page. It is held for the organizer whose email you give: to take it over they open the claim_url, sign in at beleeg.com with THAT email address (email code, Google or Apple), and choose to keep it. Signing in alone does not make it theirs. Always give the person the claim_url exactly as returned (never build a link from the name) and tell them which email to sign in with. Ask the person for their email; never guess one. If Beleeg refuses, tell the person to sign in to Beleeg with that email and ask again. After signing in, the organizer is asked whether to keep the league or discard it; it is theirs only once they keep it. Invited people are saved but not emailed until the organizer has kept the league and sends them. If the organizer has not kept it within 30 days, the league is removed. Limits: 3 per organizer email per day, 5 per caller per day, and at most 3 leagues or brackets waiting on the organizer. Team names that differ only by capitals or spacing are treated as one team. Tell the person what you are about to create and get a yes BEFORE calling this; there is no separate confirm step.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['organizerEmail', 'name', 'sport', 'timezone'], 'properties': {'city': {'type': 'string', 'maxLength': 80, 'description': 'Town or city, shown on the public page.'}, 'name': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'League name, plain text, for example "Tuesday Night Pickleball".'}, 'sport': {'type': 'string', 'maxLength': 60, 'minLength': 1, 'description': 'Sport key, for example pickleball, platform-tennis, tennis, softball, volleyball.'}, 'teams': {'type': 'array', 'items': {'type': 'string', 'maxLength': 60}, 'maxItems': 64, 'description': 'Team names to create right away (up to 64).'}, 'client': {'type': 'string', 'maxLength': 40, 'description': 'Which assistant this is, for example muse, claude, chatgpt, cursor.'}, 'timezone': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': 'IANA time zone the league plays in, for example America/Chicago.'}, 'inviteEmails': {'type': 'array', 'items': {'type': 'string', 'maxLength': 254}, 'maxItems': 200, 'description': 'People to invite (up to 200). They are only SAVED as pending invites: no email goes out until the organizer has signed in, kept the league, and sends them.'}, 'organizerEmail': {'type': 'string', 'maxLength': 254, 'minLength': 3, 'description': "The organizer's own email address. They sign in with it to take over the league. Ask for it; never guess."}, 'organizationName': {'type': 'string', 'maxLength': 80, 'description': 'Club or group name. Defaults to the league name.'}, 'registrationClosesOn': {'type': 'string', 'description': 'Last day to register, YYYY-MM-DD. Defaults to 30 days from today.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['league_id', 'organization_id', 'slug', 'name', 'public_url', 'claim_url', 'organizer_email', 'claim_instructions', 'teams', 'invites_pending', 'unclaimed_expires_on'], 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'teams': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': True}}, 'claim_url': {'type': 'string', 'description': 'Give this to the organizer: it explains how to take over the league.'}, 'league_id': {'type': 'string'}, 'public_url': {'type': 'string', 'description': 'The public league page. Works right away, and says the league is waiting for its organizer until it is kept. Use it exactly as returned: while the league waits its address ends in a few extra characters. Once kept it moves to the short address if that is free, and this one keeps working.'}, 'invites_pending': {'type': 'integer', 'description': 'Invites saved but NOT sent.'}, 'organization_id': {'type': 'string'}, 'organizer_email': {'type': 'string'}, 'claim_instructions': {'type': 'string', 'description': 'Read this to the person.'}, 'unclaimed_expires_on': {'type': 'string', 'description': 'If the organizer has not signed in and kept the league by this date, it is removed.'}}, 'additionalProperties': False}
beleeg_start_tournament
Start a tournament bracket (no account needed)
Creates a real standalone tournament bracket on Beleeg right away for someone who does not have a Beleeg account yet: the draw is built from the entrants you give. It is never attached to an existing league or organization. It is held for the organizer whose email you give: to take it over they open the claim_url, sign in at beleeg.com with THAT email address (email code, Google or Apple), and choose to keep it. Signing in alone does not make it theirs. Always give the person the claim_url exactly as returned (never build a link from the name) and tell them which email to sign in with. Ask the person for their email; never guess one. If Beleeg refuses, tell the person to sign in to Beleeg with that email and ask again. After signing in, the organizer is asked whether to keep the bracket or discard it; it is theirs only once they keep it. Until then nobody else can see the entrants or the draw: the bracket page only says it is waiting for its organizer. If the organizer has not kept it within 30 days, the bracket is removed. Limits: up to 64 entrants (32 for round robin); 3 per organizer email per day, 5 per caller per day, and at most 3 leagues or brackets waiting on the organizer. Tell the person what you are about to create and get a yes BEFORE calling this; there is no separate confirm step.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['organizerEmail', 'name', 'entrants'], 'properties': {'name': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Tournament name, plain text.'}, 'bestOf': {'type': 'integer', 'maximum': 9, 'minimum': 1, 'description': 'Sets per match, 1 to 9. Defaults to 3.'}, 'client': {'type': 'string', 'maxLength': 40, 'description': 'Which assistant this is, for example muse, claude, chatgpt, cursor.'}, 'format': {'enum': ['single_elim', 'single_elim_consolation', 'three_match_guarantee', 'double_elim', 'round_robin', 'pool_to_bracket'], 'type': 'string', 'description': 'Bracket format. Defaults to single_elim.'}, 'entrants': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'maxLength': 160}, 'maxItems': 64, 'minItems': 2}, {'type': 'string', 'maxLength': 20000}], 'description': 'Who is playing: a list of names, or text with one entrant per line. For pairs write "Ann Lee / Bo Park". 2 to 64 entrants (2 to 32 for round_robin).'}, 'organizerEmail': {'type': 'string', 'maxLength': 254, 'minLength': 3, 'description': "The organizer's own email address. They sign in with it to run the bracket. Ask for it; never guess."}, 'registrationUnit': {'enum': ['solo', 'pair'], 'type': 'string', 'description': 'solo (default) or pair (doubles).'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['tournament_id', 'name', 'format', 'entrants', 'public_url', 'claim_url', 'organizer_email', 'claim_instructions'], 'properties': {'name': {'type': 'string'}, 'format': {'type': 'string'}, 'entrants': {'type': 'integer'}, 'claim_url': {'type': 'string', 'description': 'Give this to the organizer: it explains how to run the bracket.'}, 'public_url': {'type': 'string', 'description': 'The bracket page. Until the organizer keeps the bracket it only says the tournament is waiting for its organizer; the entrants and the draw show once it is kept.'}, 'tournament_id': {'type': 'string'}, 'organizer_email': {'type': 'string'}, 'claim_instructions': {'type': 'string', 'description': 'Read this to the person.'}, 'unclaimed_expires_on': {'type': 'string', 'description': 'If the organizer has not signed in and kept the bracket by this date, it is removed.'}}, 'additionalProperties': False}
변경됨
beleeg_start_tournament
2026년 10월 1일 2:40 AM
추가됨
beleeg_send_feedback
2026년 9월 29일 2:40 AM
추가됨
beleeg_start_tournament
2026년 9월 29일 2:40 AM
추가됨
beleeg_start_league
2026년 9월 29일 2:40 AM
추가됨
beleeg_look_up_public
2026년 9월 29일 2:40 AM