beep.me
Server Details
Find when public events happen and get email reminders before them, following moved matches.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 6 tools
Each tool has a distinct role: search_events finds events, remind_me creates a single-event reminder, follow_team subscribes to a team's whole schedule, my_reminders lists, stop_reminder removes, and confirm_email validates an address. The only real overlap is remind_me vs follow_team, and the descriptions explicitly cross-reference each other (one match vs every match), so misselection is unlikely.
Four tools follow a clean verb_noun pattern (confirm_email, follow_team, search_events, stop_reminder), but 'my_reminders' is a noun phrase where 'list_reminders' would fit the pattern, and 'remind_me' uses a verb+pronoun form inconsistent with the rest. Readable overall, but the convention is not uniform.
Six tools cover the full reminder workflow without redundancy: discovery, single-event signup, team-follow signup, listing, cancellation, and email confirmation. Nothing feels padded or missing at this scope.
The lifecycle (search → remind/follow → list → stop, plus email confirmation) is fully covered with no dead ends for the core flows. Minor gaps: no way to resend a confirmation email or check whether an address is already confirmed, and no account/sign-in operation despite several tools requiring sign-in.
Available Tools
6 toolsconfirm_emailConfirm my email with the codeAIdempotentInspect
Switch the user's beep.me reminders on with the 6-digit code from beep.me's confirmation email, so they don't have to leave the chat to click its link. Only with a code the user has typed into the chat themselves: never guess one, never reuse a code from earlier. Pass the address the reminder was made with. Wrong codes are limited; after that, the link in the same email still works.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The 6-digit code from the email, exactly as the user typed it. | |
| Yes | The user's own email address, exactly as they gave it. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare mutating-but-non-destructive, idempotent behavior; the description adds the rate-limit consequence of wrong codes and the alternative confirmation path via the email link. That rate-limit disclosure is real behavioral value not present in structured fields.
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?
Three tight sentences: purpose first, then the hard usage constraint, then the failure fallback. The explanatory clause about avoiding the email link earns its place by motivating the tool.
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 two-parameter, fully documented input with annotations and no output schema, this covers purpose, constraints, and failure behavior. Only the post-success state (reminders now active) could be slightly more explicit.
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?
With 100% schema coverage, the schema already explains both parameters in detail. The description adds only a modest clarification that the email must be the one the reminder was created with, so baseline 3 holds.
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: switching on beep.me email reminders by submitting a 6-digit confirmation code. The mechanism is distinctive enough that an agent can tell it apart from remind_me or my_reminders, though no sibling is named explicitly.
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 clear conditions for use (a code the user typed themselves, the address the reminder was created with) plus firm prohibitions against guessing or reusing codes, and a fallback (the email link still works). It lacks explicit routing against sibling tools such as remind_me.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
follow_teamEmail me before every match of a teamAIdempotentInspect
Sign the user up for an email reminder before EVERY upcoming match of a football team. Matches added or moved later are covered too, so the user never has to come back. Use it when the user says every match, all matches, whenever plays, or follow ; for one match, use remind_me. Ask the user for their email address first (never guess it). A new address gets one confirmation email, and the reminders start once the user clicks the link in it. Every reminder has a link to stop following. Only for teams, never for personal appointments. When beep.me is connected with sign-in, leave email out: it is on at once, with no confirmation email.
| Name | Required | Description | Default |
|---|---|---|---|
| team | Yes | The team as people write it: 'Manchester United', 'Bodø/Glimt', 'Real Madrid'. | |
| No | The user's own email address, exactly as they gave it. Leave it out when beep.me is connected with sign-in: the signed-in account's own address is used. | ||
| country | No | Optional two-letter country code of the user. | |
| language | No | Language for the emails: 'no' for Norwegian, 'en' for English (default). | |
| timezone | No | Optional IANA time zone of the user, e.g. 'Europe/Oslo', so the email shows their local time. | |
| remind_before_minutes | No | Optional. How many minutes before the start the email should arrive, when the user said so: 30 for «half an hour before», 1440 for «a day before». Leave it out to use the event's own time. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing the double-opt-in flow: a confirmation email for a new address, reminders only starting after the link is clicked, and a stop-following link in every reminder. It also explains the beep.me signed-in variant where email is omitted and the follow is immediate with no confirmation. The idempotentHint is consistent with the fact that re-following an already followed team is harmless.
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 the core action and scope, then layers alternatives, prerequisites, and the confirmation flow in short clauses. Despite the density, every sentence contributes a distinct operational fact, and none is redundant.
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 six-parameter mutation tool with no output schema, it covers everything an agent needs: scope, alternative tool, exclusion, email prerequisite, confirmation-email consequence, and the signed-in shortcut. Nothing material about invoking 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 coverage is 100%, so the baseline is 3; the description adds instruction-level meaning by telling the agent to collect and never guess the email, and by explaining that matches added or moved later are still covered. The beep.me/omit-email guidance largely restates the schema's own email description, which keeps it below a 5.
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?
Opens with a specific verb and resource: 'Sign the user up for an email reminder before EVERY upcoming match of a football team.' The 'EVERY' scope plus the explicit sibling reference 'for one match, use remind_me' makes it impossible to confuse with remind_me or search_events.
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 concrete trigger phrases ('every match, all matches, whenever <team> plays, or follow <team>'), names the alternative for the single-match case, and states an exclusion ('Only for teams, never for personal appointments'). It also states the prerequisite: ask the user for their email first, never guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_remindersList my remindersARead-onlyInspect
List the reminders on the signed-in user's beep.me account: each upcoming event with when its email arrives, and each team they follow. Use it when the user asks what beep.me reminds them about, and before stop_reminder to find the id. Needs the user signed in to beep.me.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered; the description adds the auth prerequisite and the content of what is returned. It does not cover ordering, pagination, or behavior on an empty list, which is the remaining gap for a list tool with 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?
A single front-loaded sentence: what is listed, what each entry contains, when to use it, and the auth requirement. No redundant restatement of the title or annotations, and every clause carries distinct information.
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?
With no output schema, the description carries the return-shape burden and does so at a summary level (event email arrival times, followed teams) plus the sign-in requirement. Ordering, volume, and pagination behavior remain unstated, which is a minor gap for a zero-argument list 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?
The tool takes zero parameters, so there is no parameter meaning for the description to add and the baseline of 4 applies. The description correctly implies no filtering or scoping arguments exist.
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 ('List the reminders on the signed-in user's beep.me account') and enumerates the two record kinds returned (upcoming events with email arrival times, followed teams). That enumeration clearly separates it from siblings like search_events or remind_me.
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 an explicit trigger ('when the user asks what beep.me reminds them about') and an explicit downstream use ('before stop_reminder to find the id'), naming the sibling that depends on it. It also states the precondition (user signed in), so no inference is required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remind_meEmail me a reminderAIdempotentInspect
Sign the user up for an email reminder before a public event that search_events returned. Ask the user for their email address first (never guess it) and pass the event id from search_events. A new address gets one confirmation email, and the reminder is switched on once the user clicks the link in it. Only for events search_events returned, never for personal appointments. When beep.me is connected with sign-in, leave email out: it is on at once, with no confirmation email.
| Name | Required | Description | Default |
|---|---|---|---|
| No | The user's own email address, exactly as they gave it. Leave it out when beep.me is connected with sign-in: the signed-in account's own address is used. | ||
| country | No | Optional two-letter country code of the user. | |
| event_id | Yes | The id of an event search_events returned. | |
| language | No | Language for the emails: 'no' for Norwegian, 'en' for English (default). | |
| timezone | No | Optional IANA time zone of the user, e.g. 'Europe/Oslo', so the email shows their local time. | |
| remind_before_minutes | No | Optional. How many minutes before the start the email should arrive, when the user said so: 30 for «half an hour before», 1440 for «a day before». Leave it out to use the event's own time. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, idempotentHint=true, openWorldHint=true), the description discloses the two-step activation state machine: a new address receives one confirmation email, and the reminder is only switched on once the link is clicked. It also describes the divergent beep.me signed-in path where no confirmation is needed, which is exactly the kind of behavioral detail 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 clause, and each following sentence adds a distinct constraint (email confirmation, event-source restriction, beep.me exception). Slight redundancy remains: the beep.me 'leave email out' rule appears in both the description and the email property description.
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 six-parameter mutation with no output schema and a conditional confirmation flow, the description covers the mechanics an agent needs: prerequisite prompting, event sourcing, and the activation gate. It does not address re-submission behavior for an already-registered address or how to later modify/cancel, though stop_reminder exists as a sibling for part of that.
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 coverage is 100%, so the baseline is 3, but the description adds real meaning for the two most consequential parameters: event_id must come from search_events, and email must be the user's exact address or omitted entirely under beep.me sign-in. Country, timezone, language, and remind_before_minutes are left to the schema, which is acceptable given full coverage.
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+resource pair: signing the user up for an email reminder tied to a public event. It also pins the input source ('an event that search_events returned'), which separates it from stop_reminder and my_reminders without needing to open any 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 explicit when-to-use (events from search_events), explicit when-not ('never for personal appointments'), and a named alternative path (beep.me connected with sign-in → omit email, no confirmation). It also specifies the prerequisite interaction: ask the user for their email and never guess it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_eventsFind when a public event happensARead-onlyInspect
Find when a public event happens: a match or fixture, a game or film release, a TV season premiere, a concert, a festival, a sale, a public deadline or holiday. Call it whenever the user asks when something people wait for will happen, or asks to be reminded or notified about it. Results come from beep.me's catalog of upcoming public events, each with an id, its date and a link. Not for personal appointments or private to-dos (dentist, meetings, birthdays): beep.me only tracks public events, so use the user's own calendar or reminders for those.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many events, soonest first. Raise it to see a whole season, e.g. to find which of a team's matches are away in Spain. | |
| query | Yes | 1-5 keywords naming the thing, as it is usually written: 'Arsenal Chelsea', 'Geminids', 'Avatar 3', 'Black Friday'. Not a sentence. | |
| country | No | Optional two-letter country code of the user (NO, GB, US…). Local events rank first, and another country's holidays and deadlines are left out. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and openWorldHint=false is consistent with the stated beep.me closed catalog. The description adds genuine value beyond that: it names the data source, states the result shape (id, date, link), and warns that only public events exist in the catalog. It stops short of covering empty-result behavior or catalog staleness.
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?
Three sentences, front-loaded with the core verb and scope, then the trigger, then the exclusion. The event-type list is long but each item disambiguates a real category rather than padding; nothing 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?
With no output schema, the description usefully summarizes the return shape, and with only three well-documented parameters the surface is small. Minor gaps remain around what happens when no event matches and how limit interacts with recency ordering, but nothing an agent needs in order to call 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 coverage is 100%, so query, limit and country are already documented in detail, including the keyword-style example and the country-ranking rule. The description adds no parameter-level meaning of its own, so the baseline of 3 applies.
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?
Opens with a specific verb+resource ("Find when a public event happens") and enumerates the concrete classes of events covered (match, film release, TV premiere, concert, festival, sale, deadline, holiday). An agent can immediately tell this is an event-date lookup and not a reminder or calendar operation.
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 an explicit trigger ("Call it whenever the user asks when something people wait for will happen, or asks to be reminded or notified about it") and an explicit exclusion with a named alternative destination ("Not for personal appointments or private to-dos... use the user's own calendar or reminders for those"). Both the use case and the routing-away condition are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stop_reminderStop a reminderADestructiveIdempotentInspect
Stop one reminder on the signed-in user's beep.me account: an event by its event_id, or every match of a followed team by its follow_id, both from my_reminders. Only when the user asked to stop it. Needs the user signed in to beep.me.
| Name | Required | Description | Default |
|---|---|---|---|
| event_id | No | An event's id from my_reminders. | |
| follow_id | No | A followed team's follow_id from my_reminders. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructive=true, idempotent=true, openWorld=false, so the safety profile is covered; the description adds real context on top: an auth requirement ("Needs the user signed in to beep.me") and the differing blast radius of the two modes — one event vs. *every* match of a followed team. Silent on what happens if the ID no longer exists or on partial-failure behavior.
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?
Two sentences, front-loaded with the action and its two modes, then the usage guard and auth precondition. No restatement of the title and no filler.
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 destructive, unauthenticated-by-default mutation with rich annotations and no output schema, the description covers scope, auth, and the stop-only-when-asked rule. The one gap is that required_parameters is 0, yet neither an empty call nor an event_id+follow_id call is addressed, leaving a real invocation ambiguity.
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 coverage is 100%, so the baseline is 3, but the description adds semantics the schema does not: follow_id cancels all matches of a followed team rather than a single item, and both IDs originate from my_reminders. It does not state whether the two parameters are mutually exclusive or what the precedence is if both are supplied.
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 + resource ("Stop one reminder") plus the two addressing modes (event by event_id, followed team by follow_id), and anchors the IDs to my_reminders, a sibling tool. An agent can distinguish this from remind_me/follow_team without opening a 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?
"Only when the user asked to stop it" is an explicit gating condition that rules out proactive cancellation, and pointing at my_reminders tells the agent where the IDs must come from. It stops short of naming alternatives (e.g., unfollowing vs. stopping) or what to do when the user hasn't specified an ID.
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.
6 tool updates
- First observed
confirm_email - First observed
follow_team - First observed
my_reminders - First observed
remind_me - First observed
search_events - First observed
stop_reminder
Related MCP Connectors
Search local events, follow artists and interests, get weekend recommendations and change alerts
Group scheduling: see who answered, confirm times, chase replies, run tournaments and venues.
250,000+ real, local, future events, ranked for the signed-in person. Free to connect.
Finds the subscriptions in your email and reminds you before a trial or renewal charges.
Related MCP Servers
AlicenseNot gradedqualityAmaintenanceEnables discovering public sports events without sign-in and, after OAuth consent, reviewing athlete activity, operating events, and analyzing box demand, occupancy, attendance, training load, and reports through Antigravity or Gemini CLI.MIT- AlicenseAqualityDmaintenanceDiscovers events from Luma's public feed and subscribed calendars, with distance filtering, category search, and ICS export. No API key required for basic discovery.424 PyPIMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to search event calendars by keyword and list upcoming or date-filtered events from a chosen calendar, returning titles, dates, venues, coordinates, and keywords.349 npmMIT
- AlicenseAqualityAmaintenanceProvides music events, concerts, music festivals, nightclubs and other events information.172MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.