untappd-mcp 2.3.0 → 2.3.1
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.
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +2 -2
- package/.mcp.json +1 -0
- package/README.md +6 -5
- package/dist/bundle.js +158 -74
- package/dist/cache/store.js +13 -11
- package/dist/cache/sync.js +6 -0
- package/dist/client.js +68 -25
- package/dist/tools/cache.js +22 -4
- package/dist/tools/checkin.js +53 -30
- package/dist/tools/confirm.js +3 -0
- package/dist/tools/friends.js +3 -1
- package/dist/tools/utilities.js +8 -2
- package/dist/tools/wishlist.js +6 -2
- package/dist/version.js +1 -1
- package/package.json +2 -3
- package/server.json +59 -10
- package/skills/untappd-mcp/SKILL.md +1 -1
package/server.json
CHANGED
|
@@ -6,43 +6,92 @@
|
|
|
6
6
|
"url": "https://github.com/chrischall/untappd-mcp",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "2.3.
|
|
9
|
+
"version": "2.3.1",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "untappd-mcp",
|
|
14
|
-
"version": "2.3.
|
|
14
|
+
"version": "2.3.1",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|
|
18
18
|
"environmentVariables": [
|
|
19
|
+
{
|
|
20
|
+
"name": "UNTAPPD_ACCESS_TOKEN",
|
|
21
|
+
"description": "An Untappd access token you already hold. Supply it and no password is needed (username/password become optional).",
|
|
22
|
+
"isRequired": false,
|
|
23
|
+
"format": "string",
|
|
24
|
+
"isSecret": true
|
|
25
|
+
},
|
|
19
26
|
{
|
|
20
27
|
"name": "UNTAPPD_USERNAME",
|
|
21
|
-
"description": "Your Untappd username or login email.",
|
|
22
|
-
"isRequired":
|
|
28
|
+
"description": "Your Untappd username or login email. Required unless UNTAPPD_ACCESS_TOKEN is set.",
|
|
29
|
+
"isRequired": false,
|
|
23
30
|
"format": "string",
|
|
24
31
|
"isSecret": false
|
|
25
32
|
},
|
|
26
33
|
{
|
|
27
34
|
"name": "UNTAPPD_PASSWORD",
|
|
28
|
-
"description": "Your Untappd account password (used only for xauth login).",
|
|
29
|
-
"isRequired":
|
|
35
|
+
"description": "Your Untappd account password (used only for xauth login). Required unless UNTAPPD_ACCESS_TOKEN is set.",
|
|
36
|
+
"isRequired": false,
|
|
30
37
|
"format": "string",
|
|
31
38
|
"isSecret": true
|
|
32
39
|
},
|
|
33
40
|
{
|
|
34
41
|
"name": "UNTAPPD_CLIENT_ID",
|
|
35
|
-
"description": "Untappd mobile app client id (obtained by intercepting the app; see README).",
|
|
36
|
-
"isRequired":
|
|
42
|
+
"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.",
|
|
43
|
+
"isRequired": false,
|
|
37
44
|
"format": "string",
|
|
38
45
|
"isSecret": true
|
|
39
46
|
},
|
|
40
47
|
{
|
|
41
48
|
"name": "UNTAPPD_CLIENT_SECRET",
|
|
42
|
-
"description": "Untappd mobile app client secret.",
|
|
43
|
-
"isRequired":
|
|
49
|
+
"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.",
|
|
50
|
+
"isRequired": false,
|
|
44
51
|
"format": "string",
|
|
45
52
|
"isSecret": true
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"name": "UNTAPPD_DEVICE_ID",
|
|
56
|
+
"description": "Stable device UUID the token is keyed to (a default is provided).",
|
|
57
|
+
"isRequired": false,
|
|
58
|
+
"format": "string",
|
|
59
|
+
"isSecret": false
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"name": "UNTAPPD_UTV",
|
|
63
|
+
"description": "API version param (default 4.0.0).",
|
|
64
|
+
"isRequired": false,
|
|
65
|
+
"format": "string",
|
|
66
|
+
"isSecret": false
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "UNTAPPD_USER_AGENT",
|
|
70
|
+
"description": "Override the User-Agent (default mimics the app).",
|
|
71
|
+
"isRequired": false,
|
|
72
|
+
"format": "string",
|
|
73
|
+
"isSecret": false
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"name": "UNTAPPD_TIMEZONE",
|
|
77
|
+
"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.",
|
|
78
|
+
"isRequired": false,
|
|
79
|
+
"format": "string",
|
|
80
|
+
"isSecret": false
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"name": "UNTAPPD_PHOTO_DIR",
|
|
84
|
+
"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.",
|
|
85
|
+
"isRequired": false,
|
|
86
|
+
"format": "string",
|
|
87
|
+
"isSecret": false
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"name": "UNTAPPD_CACHE_DB",
|
|
91
|
+
"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.",
|
|
92
|
+
"isRequired": false,
|
|
93
|
+
"format": "string",
|
|
94
|
+
"isSecret": false
|
|
46
95
|
}
|
|
47
96
|
]
|
|
48
97
|
}
|
|
@@ -143,7 +143,7 @@ parameter, because an undeclared key is dropped by zod without a warning:
|
|
|
143
143
|
## Write tools (confirmation-gated — these post to your public account)
|
|
144
144
|
|
|
145
145
|
Each asks the user to confirm first. Where the client can show a confirmation
|
|
146
|
-
prompt, it does. Otherwise the first call makes NO network call and returns
|
|
146
|
+
prompt, it does (unless the server sets `MCP_CONFIRM_ELICITATION=off`). Otherwise the first call makes NO network call and returns
|
|
147
147
|
`status: "confirmation-required"` with a `preview` of the exact request and a
|
|
148
148
|
`confirmToken`; show the preview to the user, and only after they approve call
|
|
149
149
|
the tool again with the same arguments plus `confirmToken`. A token works once
|