Untappd MCP — search beers/breweries/venues, read check-ins & wishlists, post check-ins
Connect Runs on your machine
claude mcp add untappd-mcp -e UNTAPPD_ACCESS_TOKEN=<UNTAPPD_ACCESS_TOKEN> -e UNTAPPD_USERNAME=<UNTAPPD_USERNAME> -e UNTAPPD_PASSWORD=<UNTAPPD_PASSWORD> -e UNTAPPD_CLIENT_ID=<UNTAPPD_CLIENT_ID> -e UNTAPPD_CLIENT_SECRET=<UNTAPPD_CLIENT_SECRET> -e UNTAPPD_DEVICE_ID=<UNTAPPD_DEVICE_ID> -e UNTAPPD_UTV=<UNTAPPD_UTV> -e UNTAPPD_USER_AGENT=<UNTAPPD_USER_AGENT> -e UNTAPPD_TIMEZONE=<UNTAPPD_TIMEZONE> -e UNTAPPD_RATE_LIMIT_PER_HOUR=<UNTAPPD_RATE_LIMIT_PER_HOUR> -e UNTAPPD_PHOTO_DIR=<UNTAPPD_PHOTO_DIR> -e UNTAPPD_CACHE_DB=<UNTAPPD_CACHE_DB> -e UNTAPPD_CACHE_DIR=<UNTAPPD_CACHE_DIR> -- npx -y [email protected]
{
"mcpServers": {
"untappd-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"UNTAPPD_ACCESS_TOKEN": "<UNTAPPD_ACCESS_TOKEN>",
"UNTAPPD_USERNAME": "<UNTAPPD_USERNAME>",
"UNTAPPD_PASSWORD": "<UNTAPPD_PASSWORD>",
"UNTAPPD_CLIENT_ID": "<UNTAPPD_CLIENT_ID>",
"UNTAPPD_CLIENT_SECRET": "<UNTAPPD_CLIENT_SECRET>",
"UNTAPPD_DEVICE_ID": "<UNTAPPD_DEVICE_ID>",
"UNTAPPD_UTV": "<UNTAPPD_UTV>",
"UNTAPPD_USER_AGENT": "<UNTAPPD_USER_AGENT>",
"UNTAPPD_TIMEZONE": "<UNTAPPD_TIMEZONE>",
"UNTAPPD_RATE_LIMIT_PER_HOUR": "<UNTAPPD_RATE_LIMIT_PER_HOUR>",
"UNTAPPD_PHOTO_DIR": "<UNTAPPD_PHOTO_DIR>",
"UNTAPPD_CACHE_DB": "<UNTAPPD_CACHE_DB>",
"UNTAPPD_CACHE_DIR": "<UNTAPPD_CACHE_DIR>"
}
}
}
}
{
"mcpServers": {
"untappd-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"UNTAPPD_ACCESS_TOKEN": "<UNTAPPD_ACCESS_TOKEN>",
"UNTAPPD_USERNAME": "<UNTAPPD_USERNAME>",
"UNTAPPD_PASSWORD": "<UNTAPPD_PASSWORD>",
"UNTAPPD_CLIENT_ID": "<UNTAPPD_CLIENT_ID>",
"UNTAPPD_CLIENT_SECRET": "<UNTAPPD_CLIENT_SECRET>",
"UNTAPPD_DEVICE_ID": "<UNTAPPD_DEVICE_ID>",
"UNTAPPD_UTV": "<UNTAPPD_UTV>",
"UNTAPPD_USER_AGENT": "<UNTAPPD_USER_AGENT>",
"UNTAPPD_TIMEZONE": "<UNTAPPD_TIMEZONE>",
"UNTAPPD_RATE_LIMIT_PER_HOUR": "<UNTAPPD_RATE_LIMIT_PER_HOUR>",
"UNTAPPD_PHOTO_DIR": "<UNTAPPD_PHOTO_DIR>",
"UNTAPPD_CACHE_DB": "<UNTAPPD_CACHE_DB>",
"UNTAPPD_CACHE_DIR": "<UNTAPPD_CACHE_DIR>"
}
}
}
}
{
"servers": {
"untappd-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"UNTAPPD_ACCESS_TOKEN": "<UNTAPPD_ACCESS_TOKEN>",
"UNTAPPD_USERNAME": "<UNTAPPD_USERNAME>",
"UNTAPPD_PASSWORD": "<UNTAPPD_PASSWORD>",
"UNTAPPD_CLIENT_ID": "<UNTAPPD_CLIENT_ID>",
"UNTAPPD_CLIENT_SECRET": "<UNTAPPD_CLIENT_SECRET>",
"UNTAPPD_DEVICE_ID": "<UNTAPPD_DEVICE_ID>",
"UNTAPPD_UTV": "<UNTAPPD_UTV>",
"UNTAPPD_USER_AGENT": "<UNTAPPD_USER_AGENT>",
"UNTAPPD_TIMEZONE": "<UNTAPPD_TIMEZONE>",
"UNTAPPD_RATE_LIMIT_PER_HOUR": "<UNTAPPD_RATE_LIMIT_PER_HOUR>",
"UNTAPPD_PHOTO_DIR": "<UNTAPPD_PHOTO_DIR>",
"UNTAPPD_CACHE_DB": "<UNTAPPD_CACHE_DB>",
"UNTAPPD_CACHE_DIR": "<UNTAPPD_CACHE_DIR>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
UNTAPPD_ACCESS_TOKENOptional, secret | An Untappd access token you already hold. Supply it and no password is needed (username/password become optional). |
UNTAPPD_USERNAMEOptional | Your Untappd username or login email. Required unless UNTAPPD_ACCESS_TOKEN is set. |
UNTAPPD_PASSWORDOptional, secret | Your Untappd account password (used only for xauth login). Required unless UNTAPPD_ACCESS_TOKEN is set. |
UNTAPPD_CLIENT_IDOptional, secret | Untappd mobile app client id (obtained by intercepting the app; see README). Needed to log in with username/password and for every write; a pre-seeded access token can read without it. |
UNTAPPD_CLIENT_SECRETOptional, secret | Untappd mobile app client secret. Needed to log in with username/password and for every write; a pre-seeded access token can read without it. |
UNTAPPD_DEVICE_IDOptional | Stable device UUID the token is keyed to (a default is provided). |
UNTAPPD_UTVOptional | API version param (default 4.0.0). |
UNTAPPD_USER_AGENTOptional | Override the User-Agent (default mimics the app). |
UNTAPPD_TIMEZONEOptional | IANA timezone (e.g. America/New_York) that check-ins are stamped with when the call doesn't pass timezone. Set it when the server runs somewhere other than the drinker's zone (e.g. a hosted connector, usually UTC). Defaults to the server process's zone. |
UNTAPPD_RATE_LIMIT_PER_HOUROptional | Hourly Untappd API call limit the syncs' stop-before-429 guard enforces (default 100, Untappd's documented per-token limit). Only change it if Untappd gives your token a different limit. |
UNTAPPD_PHOTO_DIROptional | The directory untappd_checkin's photo_path must be inside (several allowed, separated by :). Defaults to ~/Downloads/untappd-mcp — put a photo there to attach it. Any other file is refused, so a prompt-injected shout or comment can't publish an arbitrary image from your disk. |
UNTAPPD_CACHE_DBOptional | Path to the local check-in cache SQLite file (default ~/.untappd-mcp/checkins.db; created owner-only — dir 0700, file 0600). Local/stdio only. |
UNTAPPD_CACHE_DIROptional | Directory for the cache instead of ~/.untappd-mcp (the file is checkins.db inside it). UNTAPPD_CACHE_DB wins if both are set. Local/stdio only. |
Details
| Package | [email protected] (NPM, stdio) |
| First published | 7 Nov 2026 |
| Last updated | 7 Nov 2026 |
| Registry name | io.github.chrischall/untappd-mcp |
More search and web servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
