Skip to main content
Glama

Beleeg (public, no account)

Server Details

Public league standings, schedules and brackets; start a league or bracket with no account.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.3/5.0

Scored across 4 tools

Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count4/5

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.

Completeness3/5

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 tools
beleeg_look_up_publicLook up a public pageA
Read-onlyIdempotent
Inspect

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]

ParametersJSON Schema
NameRequiredDescriptionDefault
slugNoPublic URL-safe league slug. Used with what: league, team.
whatYesWhat to look up. Every value is listed, with its params, in the tool description.
match_idNoOne match id (from what "schedule"). For the match-day lookups, leave out to mean the person's next match. Used with what: match.
league_slugNoPublic league slug (not UUID). Used with what: league_tournaments.
tournament_idNoA tournament id, from what "tournaments". Used with what: tournament.

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
toolNoThe tool that fell short, if one did.
messageYesWhat Beleeg could not do, or what was confusing or wrong, in a sentence or two. No names, emails or phone numbers of anyone.
trying_toNoWhat the person was trying to get done, e.g. "move all of Saturday's games to Sunday".

Output Schema

ParametersJSON Schema
NameRequiredDescription
receivedYes

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoTown or city, shown on the public page.
nameYesLeague name, plain text, for example "Tuesday Night Pickleball".
sportYesSport key, for example pickleball, platform-tennis, tennis, softball, volleyball.
teamsNoTeam names to create right away (up to 64).
clientNoWhich assistant this is, for example muse, claude, chatgpt, cursor.
timezoneYesIANA time zone the league plays in, for example America/Chicago.
inviteEmailsNoPeople 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.
organizerEmailYesThe organizer's own email address. They sign in with it to take over the league. Ask for it; never guess.
organizationNameNoClub or group name. Defaults to the league name.
registrationClosesOnNoLast day to register, YYYY-MM-DD. Defaults to 30 days from today.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
slugYes
teamsYes
claim_urlYesGive this to the organizer: it explains how to take over the league.
league_idYes
public_urlYesThe 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_pendingYesInvites saved but NOT sent.
organization_idYes
organizer_emailYes
claim_instructionsYesRead this to the person.
unclaimed_expires_onYesIf the organizer has not signed in and kept the league by this date, it is removed.

TDQS

A4.6/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTournament name, plain text.
bestOfNoSets per match, 1 to 9. Defaults to 3.
clientNoWhich assistant this is, for example muse, claude, chatgpt, cursor.
formatNoBracket format. Defaults to single_elim.
entrantsYesWho 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).
organizerEmailYesThe organizer's own email address. They sign in with it to run the bracket. Ask for it; never guess.
registrationUnitNosolo (default) or pair (doubles).

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
formatYes
entrantsYes
claim_urlYesGive this to the organizer: it explains how to run the bracket.
public_urlYesThe 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_idYes
organizer_emailYes
claim_instructionsYesRead this to the person.
unclaimed_expires_onNoIf the organizer has not signed in and kept the bracket by this date, it is removed.

TDQS

A4.3/5.0
Behavior5/5

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.

Conciseness3/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 7 tool updates
    • Removedbeleeg_get_public_league
    • Removedbeleeg_get_public_match
    • Removedbeleeg_get_public_team
    • Removedbeleeg_get_public_tournament
    • Removedbeleeg_list_public_tournaments_by_league
    • Addedbeleeg_look_up_public
    • Addedbeleeg_send_feedback
  2. 7 tool updates
    • First observedbeleeg_get_public_league
    • First observedbeleeg_get_public_match
    • First observedbeleeg_get_public_team
    • First observedbeleeg_get_public_tournament
    • First observedbeleeg_list_public_tournaments_by_league
    • First observedbeleeg_start_league
    • First observedbeleeg_start_tournament

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Tournament software for tennis, padel, pickleball and more: fair draws, live standings, scores and dropout handling.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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
  • A
    license
    Not graded
    quality
    A
    maintenance
    Get live scores, schedules, standings, team and player data for NFL, NBA, MLB, NHL, soccer, and more via MCP.
    101 npm
    2
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources