untappd-mcp 2.1.3 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,7 +7,7 @@
7
7
  },
8
8
  "metadata": {
9
9
  "description": "MCP server for Untappd — beers, breweries, venues, check-ins, wishlists, and your friend feed",
10
- "version": "2.1.3"
10
+ "version": "2.2.0"
11
11
  },
12
12
  "plugins": [
13
13
  {
@@ -15,7 +15,7 @@
15
15
  "displayName": "Untappd",
16
16
  "source": "./",
17
17
  "description": "MCP server for Untappd — search beers/breweries/venues, read profiles/check-ins/wishlists, and post check-ins, toasts, and comments",
18
- "version": "2.1.3",
18
+ "version": "2.2.0",
19
19
  "author": {
20
20
  "name": "Chris Hall"
21
21
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "untappd-mcp",
3
3
  "displayName": "Untappd",
4
- "version": "2.1.3",
4
+ "version": "2.2.0",
5
5
  "description": "MCP server for Untappd — search beers/breweries/venues, read check-ins and wishlists, and post check-ins, toasts, and comments",
6
6
  "author": {
7
7
  "name": "Chris Hall",
package/README.md CHANGED
@@ -40,6 +40,21 @@ it goes stale.
40
40
 
41
41
  Copy `.env.example` to `.env` and fill it in for local use.
42
42
 
43
+ ### Confirmations
44
+
45
+ Every write asks you to confirm it first. A client that can show a confirmation
46
+ prompt (Claude Code) shows one. Elsewhere the write takes two calls: the first
47
+ does nothing and returns a preview of the exact request plus a `confirmToken`,
48
+ and only a repeat call with the same arguments and that token performs it. A
49
+ token works once, for that tool and those arguments only; change anything and
50
+ the call is refused with a fresh preview.
51
+
52
+ | variable | default | |
53
+ |---|---|---|
54
+ | `MCP_CONFIRM_MODE` | `ask-user` | What a write does on a client that cannot show a confirmation prompt (claude.ai, Claude Desktop). `ask-user`: two steps — the first call does nothing and returns a preview plus a token, and the model must get your approval in chat before calling again with it. `auto`: the same two steps, but the model may use the token after reviewing the preview itself. `refuse`: writes are refused on such clients. A client that can show prompts (Claude Code) always gets the real prompt. An unrecognised value is treated as `refuse`. |
55
+ | `MCP_CONFIRM_TTL_SECONDS` | `600` | How long a token stays valid. |
56
+ | `MCP_CONFIRM_SECRET` | random per process | Signing key; set it only if tokens must survive a server restart. |
57
+
43
58
  ### Obtaining the client id / secret
44
59
 
45
60
  Untappd does not publish these; they live in the mobile app. Capture them from
@@ -65,8 +80,7 @@ Reads: `untappd_search_beer`, `untappd_beer_info`, `untappd_beer_activity`,
65
80
  `untappd_activity_feed`, `untappd_checkin_info`, `untappd_resolve`, `untappd_open_url`, `untappd_user_venues`, `untappd_venue_by_foursquare`, `untappd_trending`,
66
81
  `untappd_notifications`, `untappd_local_checkins`, `untappd_healthcheck`.
67
82
 
68
- Writes (confirm-gated — return a dry-run preview unless called with
69
- `confirm: true`): `untappd_toast`, `untappd_add_comment`, `untappd_delete_comment`, `untappd_checkin`,
83
+ Writes (each asks you to confirm first — see [Confirmations](#confirmations)): `untappd_toast`, `untappd_add_comment`, `untappd_delete_comment`, `untappd_checkin`,
70
84
  `untappd_wishlist_add`, `untappd_wishlist_remove`, `untappd_delete_checkin`,
71
85
  `untappd_add_friend`, `untappd_accept_friend`, `untappd_reject_friend`, `untappd_remove_friend`.
72
86