Skip to main content
Glama
chrischall

untappd-mcp

by chrischall

Query cached check-ins with filters

untappd_cache_query
Read-onlyIdempotent

Filter and sort cached Untappd check-ins by brewery, style, rating, venue, or date range—no API call, using only synced data.

Instructions

Query a user's cached CHECK-INS by brewery, style, minimum rating, venue, and/or date range, with sorting and a limit — from the cache only, NO API call. Reflects the detailed check-ins table (venue/date), which for non-self accounts is only the recent window; for full coverage of which beers a user has had, use untappd_cache_has_had / not_had instead. Run untappd_sync_checkins first.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sortNoSort order (default recent first)
limitNoMax rows (1–200, default 25)
styleNoCase-insensitive substring match on beer style (e.g. "IPA")
venueNoCase-insensitive substring match on venue name
breweryNoCase-insensitive substring match on brewery name
date_toNoOnly check-ins on/before this date (YYYY-MM-DD, UTC)
usernameNoUntappd username. Omit to use your own configured account (UNTAPPD_USERNAME).
venue_idNoExact venue id
date_fromNoOnly check-ins on/after this date (YYYY-MM-DD, UTC)
brewery_idNoExact brewery id
min_ratingNoOnly check-ins you rated at least this (0–5)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2.0.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. Addedv1.7.1

TDQS

A4.7/5.0
Behavior5/5

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

The description adds significant behavioral context beyond the annotations: it explicitly says 'from the cache only, NO API call', explains the recent-window limitation for non-self accounts, and notes the detailed table includes venue/date. This helps the agent predict data freshness and scope without contradicting readOnlyHint or idempotentHint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense, purposeful sentences cover scope, exclusions, limitations, and prerequisites without redundancy. Each sentence earns its place and the most important constraint ('cache only, NO API call') is front-loaded.

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 complex 11-parameter tool with no output schema, the description covers the key operational context: cache-only behavior, freshness window, filtering surface, and the sync prerequisite. It also handles the main alternative routing, leaving no critical gap for an agent deciding whether to call this 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?

The input schema already documents all 11 parameters with 100% coverage, so the description doesn't need to restate each one. It usefully groups the filter categories and mentions sorting/limit, but it adds little detail beyond the comprehensive schema descriptions.

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 uses a specific verb ('Query') and resource ('a user's cached CHECK-INS'), enumerates filter dimensions, and explicitly contrasts with untappd_cache_has_had / not_had. This makes the tool's role immediately distinguishable from the many sibling tools.

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 states when to use the tool (for filtered check-in queries from cache) and when not to (for full beer coverage, use cache_has_had/not_had). It also directs the agent to run untappd_sync_checkins first, which is crucial operational guidance.

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