untappd-mcp
An unofficial MCP server that interacts with Untappd's private mobile API (v4). It allows agents to search for beers, breweries, and venues, read user profiles, check-ins, wishlists, badges, and friend activity feeds. It also supports posting check-ins, toasts, and comments. The server handles authentication via username/password or pre-seeded tokens and manages token caching and refresh.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Search for beers, breweries, and venues
- Read user check-ins, wishlists, and badges
- Post check-ins with photos and comments
- View friend activity feeds
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
untappd-mcp 2.4.0
{
"version": "2.4.0",
"transport": "stdio",
"identifier": "untappd-mcp",
"registryType": "npm",
"environmentVariables": [
{
"name": "UNTAPPD_ACCESS_TOKEN",
"format": "string",
"description": "An Untappd access token you already hold. Supply it and no password is needed (username/password become optional)."
},
{
"name": "UNTAPPD_USERNAME",
"format": "string",
"description": "Your Untappd username or login email. Required unless UNTAPPD_ACCESS_TOKEN is set."
},
{
"name": "UNTAPPD_PASSWORD",
"format": "string",
"description": "Your Untappd account password (used only for xauth login). Required unless UNTAPPD_ACCESS_TOKEN is set."
},
{
"name": "UNTAPPD_CLIENT_ID",
"format": "string",
"description": "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."
},
{
"name": "UNTAPPD_CLIENT_SECRET",
"format": "string",
"description": "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."
},
{
"name": "UNTAPPD_DEVICE_ID",
"format": "string",
"description": "Stable device UUID the token is keyed to (a default is provided)."
},
{
"name": "UNTAPPD_UTV",
"format": "string",
"description": "API version param (default 4.0.0)."
},
{
"name": "UNTAPPD_USER_AGENT",
"format": "string",
"description": "Override the User-Agent (default mimics the app)."
},
{
"name": "UNTAPPD_TIMEZONE",
"format": "string",
"description": "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."
},
{
"name": "UNTAPPD_PHOTO_DIR",
"format": "string",
"description": "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."
},
{
"name": "UNTAPPD_CACHE_DB",
"format": "string",
"description": "Path to the local check-in cache SQLite file (default ~/.untappd-mcp/checkins.db; created owner-only — dir 0700, file 0600). Local/stdio only."
},
{
"name": "UNTAPPD_CACHE_DIR",
"format": "string",
"description": "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."
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"untappd-mcp": {
"command": "npx",
"args": [
"-y",
"untappd-mcp@2.4.0"
],
"env": {
"UNTAPPD_ACCESS_TOKEN": "<YOUR_UNTAPPD_ACCESS_TOKEN>",
"UNTAPPD_USERNAME": "<YOUR_UNTAPPD_USERNAME>",
"UNTAPPD_PASSWORD": "<YOUR_UNTAPPD_PASSWORD>",
"UNTAPPD_CLIENT_ID": "<YOUR_UNTAPPD_CLIENT_ID>",
"UNTAPPD_CLIENT_SECRET": "<YOUR_UNTAPPD_CLIENT_SECRET>",
"UNTAPPD_DEVICE_ID": "<YOUR_UNTAPPD_DEVICE_ID>",
"UNTAPPD_UTV": "<YOUR_UNTAPPD_UTV>",
"UNTAPPD_USER_AGENT": "<YOUR_UNTAPPD_USER_AGENT>",
"UNTAPPD_TIMEZONE": "<YOUR_UNTAPPD_TIMEZONE>",
"UNTAPPD_PHOTO_DIR": "<YOUR_UNTAPPD_PHOTO_DIR>",
"UNTAPPD_CACHE_DB": "<YOUR_UNTAPPD_CACHE_DB>",
"UNTAPPD_CACHE_DIR": "<YOUR_UNTAPPD_CACHE_DIR>"
}
}
}
}Cline
{
"mcpServers": {
"untappd-mcp": {
"command": "npx",
"args": [
"-y",
"untappd-mcp@2.4.0"
],
"env": {
"UNTAPPD_ACCESS_TOKEN": "<YOUR_UNTAPPD_ACCESS_TOKEN>",
"UNTAPPD_USERNAME": "<YOUR_UNTAPPD_USERNAME>",
"UNTAPPD_PASSWORD": "<YOUR_UNTAPPD_PASSWORD>",
"UNTAPPD_CLIENT_ID": "<YOUR_UNTAPPD_CLIENT_ID>",
"UNTAPPD_CLIENT_SECRET": "<YOUR_UNTAPPD_CLIENT_SECRET>",
"UNTAPPD_DEVICE_ID": "<YOUR_UNTAPPD_DEVICE_ID>",
"UNTAPPD_UTV": "<YOUR_UNTAPPD_UTV>",
"UNTAPPD_USER_AGENT": "<YOUR_UNTAPPD_USER_AGENT>",
"UNTAPPD_TIMEZONE": "<YOUR_UNTAPPD_TIMEZONE>",
"UNTAPPD_PHOTO_DIR": "<YOUR_UNTAPPD_PHOTO_DIR>",
"UNTAPPD_CACHE_DB": "<YOUR_UNTAPPD_CACHE_DB>",
"UNTAPPD_CACHE_DIR": "<YOUR_UNTAPPD_CACHE_DIR>"
}
}
}
}VS Code
{
"servers": {
"untappd-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"untappd-mcp@2.4.0"
],
"env": {
"UNTAPPD_ACCESS_TOKEN": "<YOUR_UNTAPPD_ACCESS_TOKEN>",
"UNTAPPD_USERNAME": "<YOUR_UNTAPPD_USERNAME>",
"UNTAPPD_PASSWORD": "<YOUR_UNTAPPD_PASSWORD>",
"UNTAPPD_CLIENT_ID": "<YOUR_UNTAPPD_CLIENT_ID>",
"UNTAPPD_CLIENT_SECRET": "<YOUR_UNTAPPD_CLIENT_SECRET>",
"UNTAPPD_DEVICE_ID": "<YOUR_UNTAPPD_DEVICE_ID>",
"UNTAPPD_UTV": "<YOUR_UNTAPPD_UTV>",
"UNTAPPD_USER_AGENT": "<YOUR_UNTAPPD_USER_AGENT>",
"UNTAPPD_TIMEZONE": "<YOUR_UNTAPPD_TIMEZONE>",
"UNTAPPD_PHOTO_DIR": "<YOUR_UNTAPPD_PHOTO_DIR>",
"UNTAPPD_CACHE_DB": "<YOUR_UNTAPPD_CACHE_DB>",
"UNTAPPD_CACHE_DIR": "<YOUR_UNTAPPD_CACHE_DIR>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"untappd-mcp": {
"command": "npx",
"args": [
"-y",
"untappd-mcp@2.4.0"
],
"env": {
"UNTAPPD_ACCESS_TOKEN": "<YOUR_UNTAPPD_ACCESS_TOKEN>",
"UNTAPPD_USERNAME": "<YOUR_UNTAPPD_USERNAME>",
"UNTAPPD_PASSWORD": "<YOUR_UNTAPPD_PASSWORD>",
"UNTAPPD_CLIENT_ID": "<YOUR_UNTAPPD_CLIENT_ID>",
"UNTAPPD_CLIENT_SECRET": "<YOUR_UNTAPPD_CLIENT_SECRET>",
"UNTAPPD_DEVICE_ID": "<YOUR_UNTAPPD_DEVICE_ID>",
"UNTAPPD_UTV": "<YOUR_UNTAPPD_UTV>",
"UNTAPPD_USER_AGENT": "<YOUR_UNTAPPD_USER_AGENT>",
"UNTAPPD_TIMEZONE": "<YOUR_UNTAPPD_TIMEZONE>",
"UNTAPPD_PHOTO_DIR": "<YOUR_UNTAPPD_PHOTO_DIR>",
"UNTAPPD_CACHE_DB": "<YOUR_UNTAPPD_CACHE_DB>",
"UNTAPPD_CACHE_DIR": "<YOUR_UNTAPPD_CACHE_DIR>"
}
}
}
}Let your agent find its tools
Find servers like untappd-mcp from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.