Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.chrischall/untappd-mcp

NPM · UNTAPPD-MCP · SCANNED SEP 20

Untappd MCP — search beers/breweries/venues, read check-ins & wishlists, post check-ins

Available components

+3 this week 93 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 1 of 15 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to chrischall/untappd-mcp). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 0 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability74
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 6693 tokens (~148/item across 45 items; 45 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management97
  • Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 5 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "untappd_add_friend" implies "send" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 45 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Install

How do I install the io.github.chrischall/untappd-mcp server?

io.github.chrischall/untappd-mcp runs locally as an npm package, launched with npx -y untappd-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · untappd-mcp

# add to Claude Code
claude mcp add chrischall-untappd-mcp -- npx -y untappd-mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "chrischall-untappd-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "untappd-mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "chrischall-untappd-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "untappd-mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add chrischall-untappd-mcp -- npx -y untappd-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "chrischall-untappd-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "untappd-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add chrischall-untappd-mcp --command npx --arg -y --arg untappd-mcp
# ~/.hermes/config.yaml
mcp_servers:
  chrischall-untappd-mcp:
    command: "npx"
    args: ["-y", "untappd-mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "chrischall-untappd-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "untappd-mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add chrischall-untappd-mcp -t stdio -c npx -a -y untappd-mcp
// mcp.json
{
  "mcpServers": {
    "chrischall-untappd-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "untappd-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 +1
    • MCP protocol: Implements a current MCP spec version (2026-07-28). functional
    • Package version: 2.0.0 → 2.1.0 functional
  • 19 Sept 26 −1
    • Stability: pass → unverified security
    • Tool safety: pass → unverified security
    • Capabilities: pass → unverified functional
    • Tool coverage: 100 → unverified functional
    • Dependency health: 0.87 → 0.98 functional
    • Stability: pass → 0.93 functional
    • Package version: 1.11.4 → 2.0.0 functional
  • 18 Sept 26 +1
    • Stability: 0.97 → pass security
  • 17 Sept 26 0
    • Stability: 0.93 → unverified security
    • Tool safety: pass → unverified security
    • Security disclosure: unverified → fail functional
    • Capabilities: pass → unverified functional
    • Tool coverage: 100 → unverified functional
    • Package version: 1.11.3 → 1.11.4 functional
  • 16 Sept 26 +1
    • Security disclosure: fail → unverified functional
  • 14 Sept 26 +1
    • Known CVEs: partial → pass security
    • Dependency health: partial → 0.86 functional
  • 13 Sept 26 −3
    • Stability: pass → 0.83 functional
  • 12 Sept 26 +16
    • Known CVEs: pass → partial security
    • Malware scan: unverified → pass security
    • Stability: 0.97 → pass security
    • Dependency health: 0.86 → partial functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed npm/untappd-mcp@2.1.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo chrischall/untappd-mcp
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/chrischall/untappd-mcp/.github/workflows/release-please.yml@refs/heads/main
Rekor log index 2893923289
Predicate type https://slsa.dev/provenance/v1
Subject digest sha512:b1afd8a8fba34320f75634327893b1f1dafff838ac656054e5634ec4bc017e08d22f5133e667951baccb5aa8fac29e807043b892dc1955306768be74f

Background: How many MCP packages publish verified provenance →

Dependencies 15 packages
Packages resolved 15
Stale 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 45 exposed · ~6,693 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
untappd_accept_friend ~139

Accepts an incoming friend request (see untappd_pending_friends for pending uids). Acts on YOUR account and affects a real relationship with another person. Without confirm: true it returns a dry-run preview and makes NO network call; with confirm: true it performs the action. Note: this endpoint path is taken from the Untappd app but is not otherwise independently verified.

NameTypeReqDescription
confirmbooleanMust be true to proceed. Without this, the tool returns a preview.
target_uidintegeryesThe target user id (uid) — from a user profile (response.user.uid) or a friends-list item

No output schema declared.

No examples provided.

untappd_activity_feed ~158

Get your Untappd friend activity feed — the recent check-ins from people you follow, newest first. Page backwards with max_id (the pagination.max_id from a prior call). Read-only.

NameTypeReqDescription
limitintegerMax check-ins (1–50, default 25)
max_idintegerReturn check-ins older than this id (for paging)
viewstringResponse shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact projects each check-in to {id, user, beer, brewery…

No output schema declared.

No examples provided.

untappd_add_comment ~105

Post a comment on a check-in from YOUR account. Without confirm: true it returns a dry-run preview and makes NO network call; with confirm: true it posts. Writes to your Untappd account and is visible to others.

NameTypeReqDescription
checkin_idintegeryesUntappd check-in id
commentstringyesComment text to post
confirmbooleanMust be true to proceed. Without this, the tool returns a preview.

No output schema declared.

No examples provided.

untappd_add_friend ~133

Sends a friend request to another user, who will be notified. Acts on YOUR account and affects a real relationship with another person. Without confirm: true it returns a dry-run preview and makes NO network call; with confirm: true it performs the action. Note: this endpoint path is taken from the Untappd app but is not otherwise independently verified.

NameTypeReqDescription
confirmbooleanMust be true to proceed. Without this, the tool returns a preview.
target_uidintegeryesThe target user id (uid) — from a user profile (response.user.uid) or a friends-list item

No output schema declared.

No examples provided.

untappd_beer_activity ~177

Get the recent public check-ins for a beer by its bid — who drank it, their rating, comment, and venue. Page backwards with max_id (the pagination.max_id from a prior call). Read-only.

NameTypeReqDescription
bidintegeryesUntappd beer id (bid)
limitintegerMax check-ins (1–50, default 25)
max_idintegerReturn check-ins older than this id (for paging)
viewstringResponse shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact projects each check-in to {id, user, beer, brewery…

No output schema declared.

No examples provided.

untappd_beer_info ~171

Get full detail for a beer by its Untappd beer id (bid): description, style, ABV, IBU, brewery, rating, total check-in count, and — on view:"full" — recent activity. Get a bid from untappd_search_beer. Read-only.

NameTypeReqDescription
bidintegeryesUntappd beer id (bid)
viewstringResponse shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact asks Untappd for its own slim record, dropping the…

No output schema declared.

No examples provided.

untappd_brewery_beers ~185

Get the beers a brewery makes, by brewery id, with per-beer rating and check-in counts. Supports sorting and paging. Get an id from untappd_search_brewery. Read-only.

NameTypeReqDescription
brewery_idintegeryesUntappd brewery id
limitintegerMax beers (1–50, default 25)
offsetintegerResult offset for paging (default 0)
sortstringSort order (default by popularity)
viewstringResponse shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact keeps each beer's identity, rating and counts and…

No output schema declared.

No examples provided.

untappd_brewery_info ~129

Get full detail for a brewery by its Untappd brewery id: description, location, type, rating, total check-ins, and popular beers. Get an id from untappd_search_brewery. Read-only.

NameTypeReqDescription
brewery_idintegeryesUntappd brewery id
viewstringResponse shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact also asks Untappd for its own slim record, droppin…

No output schema declared.

No examples provided.

untappd_cache_has_had ~188

Answer "has this user ever checked in this beer?" from the cache only — NO API call. Consults BOTH cached sources (check-ins and the distinct-beers list); a hit in either counts as had. Match by exact bid or a case-insensitive substring of the beer name. Returns whether they had it, the times-had count, best rating, last date, which sources matched, and any detailed check-ins. Reports per-source freshness so you can caveat incomplete data. Requires bid or beer_name. Run untappd_sync_user_beers first for full coverage.

NameTypeReqDescription
beer_namestringCase-insensitive substring match on the beer name
bidintegerExact Untappd beer id to look for
usernamestringUntappd username. Omit to use your own configured account (UNTAPPD_USERNAME).

No output schema declared.

No examples provided.

untappd_cache_has_had_many ~130

Cross-check a list of beer ids against a user's cached history in ONE call — NO API call. Consults BOTH sources (check-ins + distinct beers). Returns had/not-had per bid (with count and last date when had). Ideal for checking a whole venue menu at once. Run untappd_sync_user_beers first; the freshness block flags if coverage is incomplete.

NameTypeReqDescription
bidsarrayyesBeer ids to check (1–500)
usernamestringUntappd username. Omit to use your own configured account (UNTAPPD_USERNAME).

No output schema declared.

No examples provided.

untappd_cache_not_had ~159

Given a list of beer ids, return only the ones the user has NOT had — the "what here is new to me?" filter for a venue menu, a brewery lineup, or a festival list. Consults BOTH cached sources; reads the cache only, NO API call. Returns the not-had bids (plus the had bids and counts) and cache freshness. Run untappd_sync_user_beers first; if coverage is incomplete the freshness caveat flags that a "not had" may be a false negative.

NameTypeReqDescription
bidsarrayyesCandidate beer ids to filter (1–500)
usernamestringUntappd username. Omit to use your own configured account (UNTAPPD_USERNAME).

No output schema declared.

No examples provided.

untappd_cache_query ~296

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.

NameTypeReqDescription
brewerystringCase-insensitive substring match on brewery name
brewery_idintegerExact brewery id
date_fromstringOnly check-ins on/after this date (YYYY-MM-DD, UTC)
date_tostringOnly check-ins on/before this date (YYYY-MM-DD, UTC)
limitintegerMax rows (1–200, default 25)
min_ratingnumberOnly check-ins you rated at least this (0–5)
sortstringSort order (default recent first)
stylestringCase-insensitive substring match on beer style (e.g. "IPA")
usernamestringUntappd username. Omit to use your own configured account (UNTAPPD_USERNAME).
venuestringCase-insensitive substring match on venue name
venue_idintegerExact venue id

No output schema declared.

No examples provided.

untappd_checkin ~296

Post a NEW beer check-in to YOUR Untappd account — this publishes to your public feed. Provide the beer id (bid) from untappd_search_beer; optionally a rating (0–5 in 0.25 steps), a shout (comment), a venue via foursquare_id, and a local photo via photo_path (JPEG/PNG). Without confirm: true it returns a dry-run preview of the exact fields and makes NO network call; with confirm: true it posts.

NameTypeReqDescription
bidintegeryesUntappd beer id to check in (from untappd_search_beer)
confirmbooleanMust be true to proceed. Without this, the tool returns a preview.
container_idintegerOptional serving container id (e.g. 1 = draft, 2 = bottle, 3 = can)
foursquare_idstringOptional Foursquare venue id to tag the check-in location
geolatnumberOptional latitude of the check-in
geolngnumberOptional longitude of the check-in
photo_pathstringOptional path to a local JPEG/PNG photo to attach to the check-in
ratingnumberRating 0–5 in 0.25 increments (omit for no rating)
shoutstringOptional shout / comment text for the check-in

No output schema declared.

No examples provided.

untappd_checkin_info ~76

Get full detail for a single check-in by its id: the beer, rating, comment, photos, venue, badges earned, toasts, and comments. Get a check-in id from a feed or user-checkins result. Read-only.

NameTypeReqDescription
checkin_idintegeryesUntappd check-in id

No output schema declared.

No examples provided.

untappd_delete_checkin ~91

Permanently delete one of YOUR check-ins by its id. This is destructive and cannot be undone. Without confirm: true it returns a dry-run preview and makes NO network call; with confirm: true it deletes.

NameTypeReqDescription
checkin_idintegeryesUntappd check-in id
confirmbooleanMust be true to proceed. Without this, the tool returns a preview.

No output schema declared.

No examples provided.

untappd_delete_comment ~96

Delete one of YOUR comments by its comment id (the id from a check-in's comments list). Without confirm: true it returns a dry-run preview and makes NO network call; with confirm: true it deletes.

NameTypeReqDescription
comment_idintegeryesUntappd comment id (from a check-in's comments.items)
confirmbooleanMust be true to proceed. Without this, the tool returns a preview.

No output schema declared.

No examples provided.

untappd_healthcheck ~79

Verify Untappd connectivity and that credentials are configured and can log in. Performs a lightweight authenticated request (your recent feed) and reports whether it succeeded, plus the running server version and the exact set of tools this build exposes (count, a stable hash, and their names) so you can confirm which build is live. Read-only.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

untappd_local_checkins ~170

Get recent check-ins near a location (lat/lng) — what people are drinking nearby right now. Optionally widen the search radius. Read-only.

NameTypeReqDescription
latnumberyesLatitude of the location
limitintegerMax check-ins (1–50, default 25)
lngnumberyesLongitude of the location
radiusintegerSearch radius (default per Untappd)
viewstringResponse shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact projects each check-in to {id, user, beer, brewery…

No output schema declared.

No examples provided.

untappd_notifications ~71

Get your Untappd notifications — toasts, comments, friend requests, and badges earned on YOUR account, plus news items. Read-only.

NameTypeReqDescription
limitintegerMax notifications (1–50, default 25)
offsetintegerResult offset for paging (default 0)

No output schema declared.

No examples provided.

untappd_open_url ~68

Resolve an untappd.com URL AND fetch the entity detail in one call — the convenience combination of untappd_resolve + the matching info tool. Returns { resolved, detail }. Read-only.

NameTypeReqDescription
urlstringyesAn untappd.com URL to resolve and fetch

No output schema declared.

No examples provided.

untappd_pending_friends ~67

Get the incoming friend requests waiting on YOUR account — the users who have requested to be your friend. Read-only.

NameTypeReqDescription
limitintegerMax requests (1–50, default 25)
offsetintegerResult offset for paging (default 0)

No output schema declared.

No examples provided.

untappd_reject_friend ~143

Rejects/ignores an incoming friend request (see untappd_pending_friends for pending uids). Acts on YOUR account and affects a real relationship with another person. Without confirm: true it returns a dry-run preview and makes NO network call; with confirm: true it performs the action. Note: this endpoint path is taken from the Untappd app but is not otherwise independently verified.

NameTypeReqDescription
confirmbooleanMust be true to proceed. Without this, the tool returns a preview.
target_uidintegeryesThe target user id (uid) — from a user profile (response.user.uid) or a friends-list item

No output schema declared.

No examples provided.

untappd_remove_friend ~134

Removes an existing friend, or cancels a friend request you sent. Acts on YOUR account and affects a real relationship with another person. Without confirm: true it returns a dry-run preview and makes NO network call; with confirm: true it performs the action. Note: this endpoint path is taken from the Untappd app but is not otherwise independently verified.

NameTypeReqDescription
confirmbooleanMust be true to proceed. Without this, the tool returns a preview.
target_uidintegeryesThe target user id (uid) — from a user profile (response.user.uid) or a friends-list item

No output schema declared.

No examples provided.

untappd_resolve ~81

Parse an untappd.com URL (a beer /b/, brewery /w/, venue /v/, user /user/, or check-in link) into its entity type and id, and name the tool to call next. Pure local parsing — no network. Read-only.

NameTypeReqDescription
urlstringyesAn untappd.com URL to resolve

No output schema declared.

No examples provided.

untappd_search_beer ~224

Search Untappd for beers by name (optionally "Brewery Beer"). Returns ranked matches with their beer id (bid), brewery, style, ABV, IBU, and global rating. Feed a bid into untappd_beer_info for full detail. Read-only.

NameTypeReqDescription
limitintegerMax results (1–50, default 25)
offsetintegerResult offset for paging (default 0)
querystringyesBeer name to search for
sortstringSort order: checkin (relevance, default), name, or count
viewstringResponse shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact projects each match to {bid, name, style, abv, ibu…

No output schema declared.

No examples provided.

untappd_search_brewery ~100

Search Untappd for breweries by name. Returns matches with their brewery id, location, type, and beer count. Feed a brewery id into untappd_brewery_info for full detail. Read-only.

NameTypeReqDescription
limitintegerMax results (1–50, default 25)
offsetintegerResult offset for paging (default 0)
querystringyesBrewery name to search for

No output schema declared.

No examples provided.

untappd_search_venue ~87

Search Untappd for venues (bars, breweries, restaurants) by name. Returns matches with their venue id, category, and location. Feed a venue id into untappd_venue_info for full detail. Read-only.

NameTypeReqDescription
limitintegerMax results (1–50, default 25)
querystringyesVenue name to search for

No output schema declared.

No examples provided.

untappd_sync_checkins ~267

Fetch a user's detailed check-ins (venue, date, comment) into the cache from user/checkins. Incremental and resumable: pages backwards up to max_pages per call, persisting progress every page; run again until another_run_needed is false. NOTE: Untappd only returns the ~50 most recent check-ins for accounts other than your own and will not page further — such a sync reports history_truncated and you should use untappd_sync_user_beers for full has-had coverage. backfill_complete is only reported once ~all of total_checkins is cached. Pass force_backfill: true to reset a cache wrongly marked complete and re-page the whole history (cached rows are kept). Omit username for your own account.

NameTypeReqDescription
force_backfillbooleanReset the sync state (clear backfill_complete + cursors) but KEEP cached rows, then re-page the whole history from newest. Use to recover a cache wrongly marked complete.
max_pagesintegerPages (50 check-ins each) to fetch this run (default 10). Keep modest to respect the ~100 calls/hour rate limit.
usernamestringUntappd username. Omit to use your own configured account (UNTAPPD_USERNAME).

No output schema declared.

No examples provided.

untappd_sync_user_beers ~210

Fetch a user's COMPLETE distinct-beers list (every unique beer they've ever had, with their rating, times-had count, and first/last dates) into the cache from user/beers. This is the cheapest way to get full "has had" coverage — thousands of beers instead of tens of thousands of check-ins — and, unlike user/checkins, it pages fully for any public/friend account. Offset-paged and resumable: fetches max_pages per call and persists progress; run again until another_run_needed is false. Feeds the same untappd_cache_has_had / has_had_many / not_had tools. Omit username for your own account.

NameTypeReqDescription
max_pagesintegerPages (50 beers each) to fetch this run (default 10). Keep modest to respect the ~100 calls/hour rate limit.
usernamestringUntappd username. Omit to use your own configured account (UNTAPPD_USERNAME).

No output schema declared.

No examples provided.

untappd_toast ~115

Toast (like) a check-in on YOUR account. This endpoint is a TOGGLE: calling it on a check-in you have already toasted removes the toast. Without confirm: true it returns a dry-run preview and makes NO network call; with confirm: true it posts. Writes to your Untappd account and is visible to others.

NameTypeReqDescription
checkin_idintegeryesUntappd check-in id
confirmbooleanMust be true to proceed. Without this, the tool returns a preview.

No output schema declared.

No examples provided.

untappd_top_not_had ~296

The "what should I order off this tap list?" tool. From a list of candidate beer ids, return the top N the user has NOT yet had, ranked by Untappd global rating, with an optional style filter. Not-had filtering uses the cache only (both sources, no API call). Beer ratings/styles come from a metadata cache; a beer/info API call is made only on a cache miss or if the cached metadata is >30 days old, capped at api_budget calls per run (~100 calls/hour limit) — if more are needed it returns partial: true / another_run_needed: true, so re-running fills the rest. Reports the same freshness/caveat block as untappd_cache_not_had. Omit username for your own account.

NameTypeReqDescription
api_budgetintegerMax beer/info API calls this run for uncached/stale metadata (default 25). Keep modest to respect the ~100 calls/hour rate limit.
bidsarrayyesCandidate beer ids (1–100)
stylestringCase-insensitive substring filter; matches EITHER the beer style or its parent style (e.g. "ipa")
top_nintegerHow many top beers to return (default 2, max 10)
usernamestringUntappd username. Omit to use your own configured account (UNTAPPD_USERNAME).

No output schema declared.

No examples provided.

untappd_trending ~46

Get the beers trending on Untappd right now, split into macro (big/widely-available) and micro (craft/independent) lists. Read-only.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

untappd_user_badges ~92

Get the badges a user has earned, most recent first. Omit username for your own account. Read-only.

NameTypeReqDescription
limitintegerMax badges (1–50, default 25)
offsetintegerResult offset for paging (default 0)
usernamestringUntappd username. Omit to use your own configured account (UNTAPPD_USERNAME).

No output schema declared.

No examples provided.

untappd_user_beers ~221

Get the distinct (unique) beers a user has ever checked in, with their rating and check-in count per beer. Supports sorting and paging. Omit username for your own account. Read-only.

NameTypeReqDescription
limitintegerMax beers (1–50, default 25)
offsetintegerResult offset for paging (default 0)
sortstringSort order (default date, most recent first)
usernamestringUntappd username. Omit to use your own configured account (UNTAPPD_USERNAME).
viewstringResponse shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact projects each distinct beer to {bid, name, style,…

No output schema declared.

No examples provided.

untappd_user_checkins ~195

Get a user's recent check-ins (most recent first): the beer, rating, comment, venue, and toasts/comments. Page backwards with max_id (the pagination.max_id from a prior call). Omit username for your own. Read-only.

NameTypeReqDescription
limitintegerMax check-ins (1–50, default 25)
max_idintegerReturn check-ins older than this id (for paging)
usernamestringUntappd username. Omit to use your own configured account (UNTAPPD_USERNAME).
viewstringResponse shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact projects each check-in to {id, user, beer, brewery…

No output schema declared.

No examples provided.

untappd_user_friends ~86

Get a user's friend list. Omit username for your own account. Read-only.

NameTypeReqDescription
limitintegerMax friends (1–50, default 25)
offsetintegerResult offset for paging (default 0)
usernamestringUntappd username. Omit to use your own configured account (UNTAPPD_USERNAME).

No output schema declared.

No examples provided.

untappd_user_info ~129

Get an Untappd user's profile: bio, location, total check-ins, distinct beers, badges, and stats. Omit username for your own account. Read-only.

NameTypeReqDescription
usernamestringUntappd username. Omit to use your own configured account (UNTAPPD_USERNAME).
viewstringResponse shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact also asks Untappd for its own slim record, droppin…

No output schema declared.

No examples provided.

untappd_user_venues ~120

Get the venues a user has checked in at, most recent first, with per-venue check-in counts. Supports sorting and paging. Omit username for your own account. Read-only.

NameTypeReqDescription
limitintegerMax venues (1–50, default 25)
offsetintegerResult offset for paging (default 0)
sortstringSort order (default most recent)
usernamestringUntappd username. Omit to use your own configured account (UNTAPPD_USERNAME).

No output schema declared.

No examples provided.

untappd_user_wishlist ~196

Get the beers on a user's wishlist. Supports sorting and paging. Omit username for your own account. Read-only.

NameTypeReqDescription
limitintegerMax beers (1–50, default 25)
offsetintegerResult offset for paging (default 0)
sortstringSort order (default date added, newest first)
usernamestringUntappd username. Omit to use your own configured account (UNTAPPD_USERNAME).
viewstringResponse shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact projects each wishlisted beer to {bid, name, style…

No output schema declared.

No examples provided.

untappd_venue_activity ~176

Get the recent public check-ins at a venue by its id — who was there, what they drank, and their ratings. Page backwards with max_id (the pagination.max_id from a prior call). Read-only.

NameTypeReqDescription
limitintegerMax check-ins (1–50, default 25)
max_idintegerReturn check-ins older than this id (for paging)
venue_idintegeryesUntappd venue id
viewstringResponse shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact projects each check-in to {id, user, beer, brewery…

No output schema declared.

No examples provided.

untappd_venue_by_foursquare ~83

Resolve a Foursquare venue id to its Untappd venue. Useful to turn a foursquare_id (e.g. from a check-in) into an Untappd venue you can pass to untappd_venue_info / untappd_venue_activity. Read-only.

NameTypeReqDescription
foursquare_idstringyesFoursquare venue id

No output schema declared.

No examples provided.

untappd_venue_info ~137

Get full detail for a venue by its Untappd venue id: category, address, contact, rating, total check-ins, and — on view:"full" — top beers and recent activity. Get an id from untappd_search_venue. Read-only.

NameTypeReqDescription
venue_idintegeryesUntappd venue id
viewstringResponse shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact also asks Untappd for its own slim record, droppin…

No output schema declared.

No examples provided.

untappd_venue_menu ~377

Return a venue's verified beer menu as a flat, compact list of beers. untappd_venue_info returns only the FIRST section of each menu (Untappd defaults the section list to one), so it silently under-reports any venue whose menu spans multiple sections — e.g. a 23-beer wall that comes back with 2 items. This tool forwards the section_limit / section_offset paging params venue/info echoes back but never receives, walks sections up to a per-call max_pages budget (respecting the ~100 calls/hour limit — it does NOT loop to completion in one call), and flattens to [{bid, name, brewery, style, abv, price, serving_type, menu, section}]. Like the sync tools it is resumable: when the budget runs out before full coverage it returns another_run_needed:true plus next_section_offset to pass back on the next call. truncated:true means the upstream returned no more sections short of total_count (e.g. it ignored the paging params) — not resumable. Get an id from untappd_search_venue. Read-only.

NameTypeReqDescription
max_pagesintegerAPI calls to spend THIS run — page budget, not page size (default 3). Resume with next_section_offset if another_run_needed.
menu_idintegerRestrict to a single menu id (from a prior result). Optional.
section_limitintegerSections fetched per API call — page size (default 50).
section_offsetintegerSection offset to start from; pass a prior next_section_offset to resume (default 0).
sortstringMenu sort key (e.g. 'publish_order', 'highest_rated'). Optional.
venue_idintegeryesUntappd venue id

No output schema declared.

No examples provided.

untappd_wishlist_add ~97

Add a beer to YOUR Untappd wishlist by its bid. Without confirm: true it returns a dry-run preview and makes NO network call; with confirm: true it adds. Writes to your account.

NameTypeReqDescription
bidintegeryesUntappd beer id (bid) — from untappd_search_beer
confirmbooleanMust be true to proceed. Without this, the tool returns a preview.

No output schema declared.

No examples provided.

untappd_wishlist_remove ~97

Remove a beer from YOUR Untappd wishlist by its bid. Without confirm: true it returns a dry-run preview and makes NO network call; with confirm: true it removes. Writes to your account.

NameTypeReqDescription
bidintegeryesUntappd beer id (bid) — from untappd_search_beer
confirmbooleanMust be true to proceed. Without this, the tool returns a preview.

No output schema declared.

No examples provided.

Common questions

What is the io.github.chrischall/untappd-mcp server?

io.github.chrischall/untappd-mcp is listed in the public MCP registry as io.github.chrischall/untappd-mcp. Untappd MCP, search beers/breweries/venues, read check-ins & wishlists, post check-ins. This page covers its npm package (untappd-mcp).

Is the io.github.chrischall/untappd-mcp server safe to use?

io.github.chrischall/untappd-mcp scores 93 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.chrischall/untappd-mcp server expose?

io.github.chrischall/untappd-mcp exposes 45 tools: untappd_search_beer, untappd_beer_info, untappd_beer_activity, untappd_search_brewery, untappd_brewery_info, and 40 more. Their descriptions and schemas cost roughly 6,693 tokens of context every time the server is loaded.

Is the io.github.chrischall/untappd-mcp server still maintained?

io.github.chrischall/untappd-mcp is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.chrischall/untappd-mcp server under?

io.github.chrischall/untappd-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.