For AI assistants
Run your league from your assistant.
Beleeg has an address that AI assistants connect to: https://beleeg.com/api/mcp. Add it to Claude, Meta Muse, or Cursor with one token from your account. It can read your leagues, teams, schedules, standings, and messages, and it can make changes: build the schedule, move a match, record a score, email the league, add people. Every change is shown to you as a summary first, and nothing happens until you say yes.
What it is
Your league, in your assistant's hands.
MCP is the standard way an AI assistant plugs into an outside service. Beleeg runs one at https://beleeg.com/api/mcp.
Once it is connected, you can ask in plain words: which leagues you are in, who is on a team, who is leading Division 2, who still owes dues. You can also say what to do: move Saturday's matches to Sunday, email the captains about a rainout, record a score. For a change, the assistant shows you exactly what will happen and waits for your yes. Then it does it, and Beleeg records every change an assistant makes.
Only what you can see
Every call runs as you. If a league is hidden from you in the app, it is hidden from your assistant too.
One token, yours to revoke
Tokens are made in your account and switched off there in one press. They expire on their own after 30 days.
Asks before it changes anything
55 things it can look up and 51 kinds of change. A change is two steps: the assistant prepares it and shows you a summary, and only your yes runs it. A token made for reading only cannot change anything.
Set it up
Three steps. About a minute.
Get a token, paste the address and the token into your assistant, ask a question.
Get your token
Sign in at beleeg.com, open Account, then Connect an AI assistant. Press Connect, then copy the token it shows you. It starts with blg_agent_.
Paste the address and the token
Pick your assistant below. Each tab shows the exact thing to paste. The web address is always the same: https://beleeg.com/api/mcp
Ask a question
"Which leagues am I in?", "Who still owes dues?", "Email the captains that Tuesday is rained out." Questions get answered. Changes get a summary first, and nothing happens until you say yes.
In Muse, add a connection and fill in the two boxes.
1. Open Muse and choose Add a connection.
2. Web address: https://beleeg.com/api/mcp
3. Token: paste your Beleeg token (starts with blg_agent_)
4. Save. Ask: "Which leagues am I in?" or "Move Saturday's matches to Sunday."Things to try
Questions for day one.
Each one is a real question to type after you connect. Underneath is the tool the assistant uses to answer it.
"Which leagues am I in, and what am I in each one?"
beleeg_look_up("my_leagues")"Who is on my team, and who is the captain?"
beleeg_look_up("my_team_assignment")beleeg_look_up("teams")"Show me the bracket for the spring tournament."
beleeg_look_up("tournaments")beleeg_look_up_public("tournament")"Which court and time is my tournament match on?"
beleeg_look_up("tournament_court_schedule")"Sum up what the league has sent out this month."
beleeg_look_up("comms_status")beleeg_look_up("articles")"Who's playing Saturday? Put me down as out."
beleeg_look_up("match_availability")beleeg_prepare_change("set_availability")beleeg_confirm_change"Where do I park, and can I get the schedule in my calendar?"
beleeg_look_up("match_venue")beleeg_look_up("calendar_link")"Who still owes their registration fee?"
beleeg_look_up("unpaid_members")"It rained out Saturday. When can those four matches be replayed?"
beleeg_look_up("makeup_options")beleeg_prepare_change("reschedule_match")beleeg_confirm_change"Email the captains that Tuesday is rained out."
beleeg_prepare_change("send_announcement")beleeg_confirm_change"Set up a Tuesday pickleball league for me — my email is …"
beleeg_start_leagueWhat it can do
11 tools, and what each one reaches.
Your assistant sees a short list of tools. beleeg_look_up answers questions: it is asked for one thing at a time, like "standings". Changes go through beleeg_prepare_change, which only writes up a summary; beleeg_confirm_change does the change after you agree. Each league can turn changes off, or keep them to admins, in its settings. Two more set up a league or a bracket for someone who is not on Beleeg yet, over the public address, and hand it over by a link.
Where to start
beleeg_whoamiWho you are on Beleeg and what you are allowed to do, so nothing has to be guessed.
beleeg_needs_meEverything needing you across every league you run, in one answer.
Your leagues
beleeg_look_up("my_leagues")Every league you belong to, with your role in each.
beleeg_look_up("league_brief")One league at a glance: teams, counts, season dates.
beleeg_look_up("search_leagues")Leagues listed publicly on Beleeg, by name, sport, or town.
Standings and schedule
beleeg_look_up("standings")The standings table: rank, record, and points for every team.
beleeg_look_up("schedule")Every match this season with date, venue, sides, and score.
beleeg_look_up("divisions")The divisions a league splits its teams into.
beleeg_look_up("seasons")This season and the ones before it.
beleeg_look_up("makeup_options")When it rains: the dates a called-off match could be replayed, and who is already playing then.
Teams and members
beleeg_look_up("teams")Every team in a league, with captain and roster.
beleeg_look_up("members")Everyone in a league, including invites not yet accepted.
beleeg_look_up("my_team_assignment")Your team, line, and role in a league.
beleeg_look_up("unpaid_members")Members who have not paid their registration fee yet.
Public pages
beleeg_look_up_public("team")A team page by its web address.
beleeg_look_up_public("league")A league page by its web address.
beleeg_look_up_public("match")One match: teams, lineups, scores.
beleeg_look_up_public("tournament")A public bracket, entrants, and status.
beleeg_look_up_public("league_tournaments")Every public tournament in a league.
Tournaments
beleeg_look_up("tournaments")Every tournament in a league, newest first.
beleeg_look_up("tournament_draws")The draws in a tournament, such as Men's A or Women's B.
beleeg_look_up("tournament_court_schedule")Every match with its court, start time, and referee.
Messages and news
beleeg_look_up("team_chat")Recent messages in a team chat.
beleeg_look_up("comms_status")Recent emails and announcements sent to a league.
beleeg_look_up("articles")Published news and recaps for a league.
beleeg_look_up("article_comments")Comments on an article.
beleeg_look_up("tournament_photos")Photos from a tournament.
beleeg_look_up("tournament_highlights")Video highlights from a tournament.
beleeg_look_up("highlight_comments")Comments on a highlight.
Referees and availability
beleeg_look_up("referee_assignments")Referee assignments for a tournament.
beleeg_look_up("my_referee_alerts")How you have asked to be notified as a referee.
beleeg_look_up("my_availability")The times you have marked yourself free or busy.
Try it without a league
beleeg_look_up("demo_league")A snapshot of the demo league, for a first look.
Match day
beleeg_look_up("match_availability")Who's in, out, or hasn't answered for a match.
beleeg_look_up("match_checklist")The league's checklist for a match: who's on snacks, what's still missing.
beleeg_look_up("head_to_head")Your record against another team, every season.
beleeg_look_up("match_venue")The address, a map link, parking, when to arrive and what to wear.
beleeg_look_up("calendar_link")Your own calendar link that stays up to date.
beleeg_look_up("match_proposals")Requests to move a match: what is waiting on you, and on whom.
beleeg_look_up("ladder")The ladder: every spot, the challenges going on, and who you can challenge.
beleeg_look_up("my_court_this_week")Your court this week: the club and address, your position, and who you play with.
beleeg_look_up("court_ladder_standings")The court ladder in order, or the season’s games, moves and awards.
beleeg_look_up("sub_list")The people ready to sub, with their rating, phone and email.
beleeg_look_up("standings_form")Each division with streaks, last five results, and games back.
beleeg_look_up("find_team")Find a team by name in any public league, with its page and calendar.
beleeg_look_up("open_disputes")Scores the two teams disagree on, waiting for a league admin.
beleeg_look_up("player_stats")A player's numbers for the season.
beleeg_look_up("team_dues_status")Who on the team has paid their dues, and who has not.
Running the league
beleeg_look_up("scheduled_emails")League emails set to go out later, and when.
beleeg_look_up("referee_availability")Which referees are free on a day, and who already has a match.
beleeg_look_up("events")Upcoming events, how many are going, and who.
beleeg_look_up("sponsors")Sponsor applications waiting for an answer, and who sponsors you now.
beleeg_look_up("store")What your league store sells, and the latest orders.
beleeg_look_up("waitlist")Who is on the waiting list, and how many spots are open.
What you asked for
beleeg_look_up("my_changes")What an assistant has asked to change, what happened, and what is still waiting on you.
Changes, with your OK
Needs a token made with "Look up and make changes". Each one prepares a summary for you to approve.
beleeg_prepare_change("create_league")Start a league with its first season, teams, and invitations.
beleeg_prepare_change("create_tournament")A league tournament, or a bracket from a list of names.
beleeg_prepare_change("add_players")Invite people to a league by email, onto a team if you like.
beleeg_prepare_change("create_teams")Add teams to the season, in divisions.
beleeg_prepare_change("generate_schedule")Build the round-robin schedule for the season.
beleeg_prepare_change("reschedule_match")Move one match, several, or a whole day.
beleeg_prepare_change("report_score")Report a result: a tournament result, or a captain’s report of a league match for the admins to confirm.
beleeg_prepare_change("enter_final_score")For league admins: enter the final score of a league match. It counts straight away.
beleeg_prepare_change("send_announcement")Email the league, the players, or the captains, now or at a set time.
beleeg_prepare_change("register_player")Register yourself in a league with open registration.
beleeg_prepare_change("mark_paid")Record a fee paid by cash or check.
beleeg_prepare_change("set_availability")Say you can or cannot play (or, for a captain, a player on the team).
beleeg_prepare_change("answer_match_checklist")Fill in the match checklist, like putting someone down for snacks.
beleeg_prepare_change("update_venue_details")Add a venue’s address, parking and how to find it.
beleeg_prepare_change("propose_match_time")Ask the other captain to move a match to a new time.
beleeg_prepare_change("respond_match_proposal")Accept, decline, or take back a request to move a match.
beleeg_prepare_change("ladder_challenge")Challenge a team or player above you on the ladder.
beleeg_prepare_change("ladder_respond")Accept or decline a ladder challenge.
beleeg_prepare_change("enter_court_scores")Put in your court's scores on a court ladder.
beleeg_prepare_change("report_sub")Say who is subbing for you this week.
beleeg_prepare_change("submit_team_score")Put in your team's score after a match.
beleeg_prepare_change("respond_to_score")Confirm the other team's score, or say it's wrong.
beleeg_prepare_change("message_team")Post in your team chat.
beleeg_prepare_change("remind_no_response")Remind teammates who haven't said if they can play.
beleeg_prepare_change("set_lineup")Send your lineup for a match.
beleeg_prepare_change("postpone_matches")Postpone a day of matches, with or without a new date.
beleeg_prepare_change("cancel_match")Call off matches (you approve it in Beleeg too).
beleeg_prepare_change("record_forfeit")Record a forfeit.
beleeg_prepare_change("resolve_score_dispute")Settle a score the two teams disagree on.
beleeg_prepare_change("review_lineup")Approve or send back a lineup.
beleeg_prepare_change("nudge_score_answer")Chase a team that has not answered a score.
beleeg_prepare_change("assign_captain")Make someone captain or co-captain.
beleeg_prepare_change("move_player")Move a player to another team.
beleeg_prepare_change("assign_referee")Put a referee on a match.
beleeg_prepare_change("add_blackout_date")Block off days with no matches.
beleeg_prepare_change("set_league_setting")Change a match-day setting, like when to arrive or what to wear.
beleeg_prepare_change("remind_unpaid")Remind whoever hasn't paid (you approve it in Beleeg too).
beleeg_prepare_change("direct_message")Send one person a message.
beleeg_prepare_change("notification_prefs")Change which notifications you get.
beleeg_prepare_change("team_dues")Record or chase team dues.
beleeg_prepare_change("join_team")Join a team in a league that is open to sign-ups.
beleeg_prepare_change("cancel_scheduled_email")Call off an email before it goes out.
beleeg_prepare_change("rollover_season")Start the next season with the same teams (you approve it in Beleeg too).
beleeg_prepare_change("create_event")Add a free event, like a social or a clinic.
beleeg_prepare_change("rsvp_event")Say whether you are coming to an event.
beleeg_prepare_change("review_sponsor")Approve or decline a sponsor.
beleeg_prepare_change("offer_waitlist_spot")Offer an open spot to the next person waiting.
beleeg_prepare_change("publish_week")Send this week's courts to every player on a court ladder.
beleeg_prepare_change("remind_missing_scores")Remind the courts whose scores aren't in.
beleeg_prepare_change("finalize_week")Make next week: apply the moves and tell every player.
beleeg_prepare_change("follow_team")Follow a team.
beleeg_confirm_changeThe only tool that changes anything. It runs a prepared change after you say yes.
beleeg_cancel_changeCall off a change that was set up but not run.
beleeg_retry_deliveryFinish sending an email whose send failed after the change was made.
Tell Beleeg what was missing
beleeg_send_feedbackWhen your assistant cannot do what you asked, it can send the Beleeg team a note saying what you wanted. No names, emails or phone numbers go in it. Works with or without a token.
Start without an account
Your assistant uses https://beleeg.com/api/mcp/public, which takes no token, and asks for your email. You get a link to take it over: sign in with that email, look it over, and keep it or discard it. Nothing is emailed to anyone until you keep it; a league nobody keeps is removed after 30 days.
beleeg_start_leagueSets up a league for someone who is not on Beleeg yet: the league, its first season with registration open, teams, and a public page. The organizer gets a link to take it over.
beleeg_start_tournamentBuilds a bracket from a list of names for someone who is not on Beleeg yet. The organizer gets a link to take it over; the draw shows once they keep it.
Your token
One token. Yours to switch off.
A token is a long code that stands in for you. Your assistant sends it with every question, and Beleeg answers as if you had asked.
- Sign in at beleeg.com/account
- Open Connect an AI assistant
- Press Connect, give it a name, and copy it. It lasts 30 days.
- Paste it where your assistant asks for it (the
Authorization: Bearerheader, in the snippets above)
Lost a laptop or shared a token by mistake? Switch it off on the same page and it stops working right away. Your Beleeg session token works too, if you already have one from the app.
Meta Muse, Claude and Cursor belong to other companies, and what they do with Beleeg’s answers is covered by their privacy policies, not ours: what connecting one means.
For developers
The plumbing, in one place.
Streamable HTTP, stateless, one request at a time. Send JSON-RPC to POST /api/mcp with a Bearer token. The public address, POST /api/mcp/public, takes no credential and serves the five public readers plus beleeg_start_league and beleeg_start_tournament. Limits: 3 starts per organizer email per day, 5 per caller per day, 100 a day across Beleeg.
Discovery file
Name, endpoint, and auth type in a small JSON file, for tools that look before they connect.
Plain REST, no MCP
Public league data (league, standings, schedule, teams) as JSON at /api/v1/leagues/<id>, with an organization API key.
curl https://beleeg.com/api/mcp/healthOne more thing
The copy-paste snippet.
Paste this anywhere an assistant accepts a JSON connection. Swap YOUR_BELEEG_TOKEN for the token from your account page.
{
"mcpServers": {
"beleeg": {
"url": "https://beleeg.com/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_BELEEG_TOKEN"
}
}
}
}Ready when you are
Hand your assistant the keys, with a catch.
Free for every Beleeg league. Set up takes about a minute.