Skip to main content
Glama
untappd-mcp

untappd-mcp

by chrischall

Forget a user's cached check-ins

untappd_cache_forget
DestructiveIdempotent

Deletes one user's local cache—check-ins, lists, venue history, wishlist, favorites and sync state—after a preview and confirmation. Untappd data stays untouched; later syncs can re-fetch it.

Instructions

Delete everything the LOCAL cache holds for one user — their cached check-ins (beer, rating, comment, venue, date), distinct-beers list, venue history, wishlist copy, local favorites, venue drinks and sync state — e.g. after syncing a friend you no longer want a history of. Only the local cache is touched; nothing on Untappd changes, and a later sync can re-fetch it (manual favorites cannot be re-fetched). Shared beer, venue and brewery facts are kept. The preview shows the username and exactly how many rows will be removed. Omit username for your own account. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE).

Input Schema

NameRequiredDescriptionDefault
usernameNoUntappd username. Omit to use your own configured account (UNTAPPD_USERNAME).
confirmTokenNoONLY for the two-step confirmation fallback (a client without MCP elicitation). The confirmToken from this same tool's phase-1 "confirmation-required" response, passed back ONLY after the user has seen that preview and explicitly approved it in chat — never on the first call, never invented, never reused. Call again with the same arguments. Ignored when the client supports elicitation.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.2.1

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare destructiveHint/idempotentHint; the description goes well beyond by spelling out exactly what rows are destroyed, what is preserved (shared beer, venue and brewery facts), and the reversibility split — re-fetchable by a later sync except manual favorites, which are lost permanently. It also discloses the confirmation protocol and the elicitation-less fallback with confirmToken, which is essential for a destructive tool.

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 the destructive action and its scope, then the caveats, then the confirmation mechanics — a sensible order. The single dense paragraph with stacked em-dashes and parentheticals is heavier than it needs to be, but no sentence is filler given the destructive nature of the tool.

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 destructive, two-phase tool with no output schema, the description covers everything an agent needs: what is removed, what survives, reversibility, preview contents, default-account behavior, and the exact confirmation flow. Nothing material is left to guesswork.

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 coverage is 100% and the schema already documents both parameters in detail, so the baseline is 3. The description adds tool-level meaning by framing username omission as 'your own account' in contrast to targeting another user, and by reinforcing the phase-1/preview → phase-2/token protocol at the tool level rather than leaving it buried in a property description.

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 scope: delete everything the LOCAL cache holds for one user, then enumerates the affected record types (check-ins, distinct beers, venue history, wishlist copy, favorites, venue drinks, sync state). It explicitly contrasts with the write-through siblings by stating that nothing on Untappd changes, so an agent can separate it from delete_checkin, favorite_remove or the sync_* tools 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a concrete trigger case ('after syncing a friend you no longer want a history of') and a negative scope ('only the local cache is touched'). It does not name competing siblings such as untappd_cache_status or untappd_favorite_remove, so the agent must infer alternatives, but the context for use is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.