Beleeg (public, no account)
Server Details
Public league standings, schedules and brackets; start a league or bracket with no account.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: public read-only lookup (beleeg_look_up_public), feedback submission (beleeg_send_feedback), league creation (beleeg_start_league), and tournament creation (beleeg_start_tournament). No two tools appear to do the same thing, and an agent can easily select the right one based on the action needed.
All tool names use a consistent beleeg_ prefix and snake_case, but beleeg_look_up_public uses a phrasal verb plus adjective while the others follow a clean verb_noun pattern (send_feedback, start_league, start_tournament). This is a minor deviation that doesn't hinder readability.
Four tools is on the lighter side, but beleeg_look_up_public is a multi-action tool covering five sub-operations (league, team, match, tournament, league_tournaments), effectively expanding the surface. The set feels reasonably scoped for a no-account public interface, though a few more tools might improve discoverability.
The tools cover public reading and initial creation, but there is no way to search or list entities globally—lookups require a known slug or id. Post-creation management (updating, deleting, checking claim status) is also absent, which are notable gaps even for a minimal public API.
Available Tools
4 toolsbeleeg_look_up_publicLook up a public pageARead-onlyIdempotentInspect
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]
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | Public URL-safe league slug. Used with what: league, team. | |
| what | Yes | What to look up. Every value is listed, with its params, in the tool description. | |
| match_id | No | 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 | No | Public league slug (not UUID). Used with what: league_tournaments. | |
| tournament_id | No | A tournament id, from what "tournaments". Used with what: tournament. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely new context beyond annotations: the no-membership access model and a per-value summary of what is returned (standings, roster, lineups, bracket), which matters since there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads purpose and access model, then uses a clean per-enum bullet list. Slightly long, but every bullet carries the required argument plus expected payload, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the gaps annotations and schema leave open: access/auth model, the enum-to-parameter mapping, and a sketch of return contents in the absence of an output schema. An agent has everything needed to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is already 100%, setting a baseline of 3, but the description earns above baseline by mapping each `what` enum value to its required argument (slug, match_id, tournament_id, league_slug) and describing the content of each result — richer than the schema's terse 'Used with what: ...' notes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('look up') and resource ('public page') and immediately scopes it with 'what anyone can see on Beleeg — a league, team, match or tournament public page — no membership needed.' This cleanly separates it from the sibling write/admin tools (start_league, start_tournament, send_feedback).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for when to use it: public data that requires no membership, with an explicit 'Read-only' framing and the requirement to pick `what` plus the listed slug/id. It does not explicitly name an alternative tool for member-visible data, so it falls just short of the 5 bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beleeg_send_feedbackTell Beleeg what was missingAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tool | No | The tool that fell short, if one did. | |
| message | Yes | 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 | No | What the person was trying to get done, e.g. "move all of Saturday's games to Sunday". |
Output Schema
| Name | Required | Description |
|---|---|---|
| received | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare this is a non-read, non-idempotent, non-destructive write. The description adds meaningful behavior beyond that: the Beleeg team reads submissions to prioritize work, nothing happens automatically, no one replies, and personal details (names, emails, phone numbers) must never be included. It does not mention any rate limits or what the call returns, but the privacy prohibition and no-reply semantics are substantive added context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The trigger condition is front-loaded in the first sentence and each subsequent sentence carries a distinct constraint (attribution, privacy, no-reply escalation back to the user). The final sentence is long and packs three ideas, but none of it is filler for a tool with this much policy attached.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description covers triggers, required content, privacy rules, and the expectation of no follow-up. The three parameters are all documented in-schema. What remains thin is what happens after submission beyond 'the team reads these,' but that is minor for a fire-and-forget feedback tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter already carries a description and example (e.g. trying_to's "move all of Saturday's games to Sunday"). The description's 'Say what they wanted and, if one did, which tool fell short' essentially restates the schema fields at a high level, adding intent framing but no new format or constraint detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Send Beleeg a note') and defines the exact triggering conditions: the assistant cannot do something the person asked for, a tool was confusing, or a wrong answer was given. Siblings (look up, start league, start tournament) are functionally unrelated, so no disambiguation is needed and none is missed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit when-to-use conditions and an important counter-instruction: because nothing is done automatically and nobody replies, the agent must still tell the person what could not be done and, where possible, point them to where in Beleeg they can do it themselves. This is exactly the routing decision an agent needs and is not inferable elsewhere.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beleeg_start_leagueStart a league (no account needed)AInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | Town or city, shown on the public page. | |
| name | Yes | League name, plain text, for example "Tuesday Night Pickleball". | |
| sport | Yes | Sport key, for example pickleball, platform-tennis, tennis, softball, volleyball. | |
| teams | No | Team names to create right away (up to 64). | |
| client | No | Which assistant this is, for example muse, claude, chatgpt, cursor. | |
| timezone | Yes | IANA time zone the league plays in, for example America/Chicago. | |
| inviteEmails | No | 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 | Yes | The organizer's own email address. They sign in with it to take over the league. Ask for it; never guess. | |
| organizationName | No | Club or group name. Defaults to the league name. | |
| registrationClosesOn | No | Last day to register, YYYY-MM-DD. Defaults to 30 days from today. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| slug | Yes | |
| teams | Yes | |
| claim_url | Yes | Give this to the organizer: it explains how to take over the league. |
| league_id | Yes | |
| public_url | Yes | 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 | Yes | Invites saved but NOT sent. |
| organization_id | Yes | |
| organizer_email | Yes | |
| claim_instructions | Yes | Read this to the person. |
| unclaimed_expires_on | Yes | If the organizer has not signed in and kept the league by this date, it is removed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (readOnly=false, openWorld=false, idempotent=false, destructive=false). The description adds substantial behavioral context the annotations cannot convey: the claim_url/is-it-theirs ownership flow, that sign-in alone does not transfer ownership, that invites stay unsent until the organizer keeps the league, the 30-day removal, and concrete rate limits (3/organizer/day, 5/caller/day, 3 pending).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and claim mechanics, and almost every sentence carries operational value (claim_url handling, limits, dedup rule, confirmation requirement). Slight redundancy: ownership is restated ('Signing in alone does not make it theirs' vs 'it is theirs only once they keep it'), and the keep/discard flow is mentioned twice.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, return-value detail is not required, and the description still covers the full operational picture: creation side effects, ownership/claim flow, invite deferral, expiry, rate limits, and the mandatory confirmation step. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all ten parameters are already documented in the schema, setting the baseline at 3. The description reinforces a few constraints (organizer email must be asked for and never guessed, team-name capitalization/spacing normalization) but adds little parameter detail beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Creates a real league on Beleeg right away') with a clear scope qualifier: for someone without a Beleeg account. This cleanly separates it from the sibling prepare_create_league / prepare_* family, which only stage actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use ('someone who does not have a Beleeg account yet'), prerequisites (ask for the email, never guess), and a required pre-call step ('Tell the person what you are about to create and get a yes BEFORE calling this; there is no separate confirm step'), plus fallback behavior when Beleeg refuses.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beleeg_start_tournamentStart a tournament bracket (no account needed)AInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Tournament name, plain text. | |
| bestOf | No | Sets per match, 1 to 9. Defaults to 3. | |
| client | No | Which assistant this is, for example muse, claude, chatgpt, cursor. | |
| format | No | Bracket format. Defaults to single_elim. | |
| entrants | Yes | 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 | Yes | The organizer's own email address. They sign in with it to run the bracket. Ask for it; never guess. | |
| registrationUnit | No | solo (default) or pair (doubles). |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| format | Yes | |
| entrants | Yes | |
| claim_url | Yes | Give this to the organizer: it explains how to run the bracket. |
| public_url | Yes | 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 | Yes | |
| organizer_email | Yes | |
| claim_instructions | Yes | Read this to the person. |
| unclaimed_expires_on | No | If the organizer has not signed in and kept the bracket by this date, it is removed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say non-readonly, non-idempotent, non-destructive. The description adds substantial behavior beyond that: the claim_url handoff, the organizer-keep-or-discard flow, the waiting-for-organizer visibility state, 30-day removal, daily creation limits, and the concurrent-pending cap. This is exactly the extra context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first sentence, but the claim flow is reiterated several times ('to take it over they open the claim_url', 'Signing in alone does not make it theirs', 'asked whether to keep... theirs only once they keep it'), which is repetitive. Much of the operational instruction earns its place; the redundancy does not.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a bracket-creation tool with a non-trivial claim/expiry lifecycle, the description covers limits, expiry, visibility, prerequisites, and failure handling, and an output schema exists so return values need no explanation. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter including organizerEmail, entrants, format, and bestOf is already documented, and the description's mentions of email/entrants largely restate the schema's own 'ask for it; never guess' note. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (creates a standalone tournament bracket) and immediately narrows the scope: 'never attached to an existing league or organization.' This distinguishes it from league/tournament creation siblings without the agent opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear triggering context ('for someone who does not have a Beleeg account yet'), prerequisites (ask for email, get a yes before calling, no separate confirm step), and a fallback path if Beleeg refuses. It does not explicitly name a sibling tool to prefer for the account-holder case, so routing is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
- Removed
beleeg_get_public_league - Removed
beleeg_get_public_match - Removed
beleeg_get_public_team - Removed
beleeg_get_public_tournament - Removed
beleeg_list_public_tournaments_by_league - Added
beleeg_look_up_public - Added
beleeg_send_feedback
7 tool updates
- First observed
beleeg_get_public_league - First observed
beleeg_get_public_match - First observed
beleeg_get_public_team - First observed
beleeg_get_public_tournament - First observed
beleeg_list_public_tournaments_by_league - First observed
beleeg_start_league - First observed
beleeg_start_tournament
Related MCP Connectors
Run a recreational sports league from an AI assistant: standings, schedules, rosters, scores, dues.
Run racket-sport tournaments from your AI assistant: fair draws, scores, live standings.
Round-robin ladders and match scores for small clubs. Players join by QR poster; no app, no account.
Schedules, scores, odds, splits & explainable AI bet confidence — 8+ sports, free instant key.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceTournament software for tennis, padel, pickleball and more: fair draws, live standings, scores and dropout handling.MIT
- AlicenseAqualityCmaintenanceSchedules, scores, odds, splits & explainable AI bet confidence — 8+ sports, free instant key.1167MIT
- AlicenseNot gradedqualityBmaintenanceEnables reading and scoring Fleaflicker fantasy football leagues, including rosters, standings, matchups, boxscores, draft boards, and stat line scoring using league-specific rules, with no authentication required.MIT
- AlicenseNot gradedqualityAmaintenanceGet live scores, schedules, standings, team and player data for NFL, NBA, MLB, NHL, soccer, and more via MCP.101 npm2Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.