Koskamo

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.

untappd-mcp logo, by chrischallCommunity listingLocal stdioSource reviewed; not executedPublished by chrischall
You need:UNTAPPD_ACCESS_TOKEN no An access token you already hold.UNTAPPD_USERNAME if no token Your Untappd username or login email.UNTAPPD_PASSWORD if no token Your Untappd password (used only for the xauth login that mints a token).UNTAPPD_CLIENT_ID for login & writes The Untappd mobile app client id
Vendor documentation

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

Community listingRegistry 2.4.0
Maintenance checked

Packages and installation

Source-provided package data. Koskamo has not executed or live-probed this package.

untappd-mcp 2.4.0

npm
untappd-mcp package definition
{
  "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.

No tool definitions available.

Connect from your client

Each snippet configures the same source-provided package; replace placeholders before use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Cursor

Merge this local stdio configuration, replace every placeholder environment value, and restart Cursor. Koskamo has not executed this package.
Cursor configuration
{
  "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

Merge this local stdio configuration, replace every placeholder environment value, and restart Cline. Koskamo has not executed this package.
Cline configuration
{
  "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

Merge this local stdio configuration, replace every placeholder environment value, and restart VS Code. Koskamo has not executed this package.
VS Code configuration
{
  "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

Merge this local stdio configuration, replace every placeholder environment value, and restart Claude Desktop. Koskamo has not executed this package.
Claude Desktop configuration
{
  "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.