Reported issues for untappd-mcp
Pod holds 16 of 18 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.
Back to untappd-mcp.
Most discussed
Auto-review follow-ups for PR #118: refactor(connector): retire the standalone Cloudflare Worker connector
Tracking auto-review follow-ups for #118 (verdict: warn).
🟡 Nits
- src/cache/store.ts:134 — the CacheStore docblock still justifies the async surface by naming "the Worker backend ... over a Durable Object RPC boundary", a backend deleted in this PR; generalise it the way the file header at L16-19 now is
- src/cache/store.ts:666 — the LocalCacheStore docblock still says "the Durable Object backend implements CacheStore over a real RPC bounda
Read the thread · 2026-08-07 · closed · external user · 0 comments
Auto-review follow-ups for PR #91: feat(venue): add untappd_venue_menu for full section-paged menus
Tracking auto-review follow-ups for #91 (verdict: warn).
🟡 Nits
- tests/tools/read.test.ts:147-154 'reaches full coverage' test doesn't assert truncated/total_count, so it doesn't actually verify full coverage was reached (the resumed call actually ends via the truncated branch due to only one page being mocked)
When addressing the review on #91, resolve each item and add Closes #<this issue> to the PR once everything is genuinely fixed; d
Read the thread · 2026-07-24 · closed · external user · 2 comments
Auto-review follow-ups for PR #83: ci: deploy the connector Worker on release
Tracking auto-review follow-ups for #83 (verdict: warn).
🟡 Nits
- deploy-connector.yml's header comment (line 19 and the illustrative release-please.yml snippet) still omits CLOUDFLARE_ACCOUNT_ID, which the actual secrets blocks now pass alongside CLOUDFLARE_API_TOKEN
When addressing the review on #83, resolve each item and add Closes #<this issue> to the PR once everything is genuinely fixed; deferred items stay open here. See the auto-re
Read the thread · 2026-07-20 · closed · external user · 0 comments
Auto-review follow-ups for PR #79: docs: add CLAUDE.md
Tracking auto-review follow-ups for #79 (verdict: fail).
🔴 Important
- CLAUDE.md quotes a hosted-connector error message as "UNTAPPD_USERNAME is not configured", but src/client.ts's missingCredsError() never produces that string — the real message is "Untappd credentials are not configured — missing …"
🟡 Nits
- escapeLike in src/cache/store.ts replaces % and _ with a space rather than stripping (removing) them, so "strips" overstates the
Read the thread · 2026-07-19 · closed · external user · 0 comments
Auto-review follow-ups for PR #73: build: depend on @chrischall/mcp-connector from npm, drop vendored copy
Tracking auto-review follow-ups for #73 (verdict: warn).
🟡 Nits
- .github/workflows/dependabot-lockfix.yml is now obsolete — its purpose (resyncing the root lock after a bump inside the deleted packages/mcp-connector file: dep) can no longer occur; remove or repurpose it and update its stale comment
When addressing the review on #73, resolve each item and add Closes #<this issue> to the PR once everything is genuinely fixed; deferred items
Read the thread · 2026-07-14 · closed · external user · 1 comment
Auto-review follow-ups for PR #67: fix: WCAG-crossover ink threshold + heal unrecoverable check-in cache gap
Tracking auto-review follow-ups for #67 (verdict: warn).
🟡 Nits
- src/cache/sync.ts:
catchupPending(line 191) andcatchupInProgress(line 152) are similarly-named variables with different lifetimes/semantics (pre-Phase-1 snapshot vs. Phase-1-mutated gating flag) — rename for clarity to avoid future confusion
When addressing the review on #67, resolve each item and add Closes #<this issue> to the PR once everything is genuinely fixed;
Read the thread · 2026-07-13 · closed · external user · 0 comments
Auto-review follow-ups for PR #34: docs: complete user_beers compact field list in its description
Tracking auto-review follow-ups for #34 (verdict: warn).
🟡 Nits
- Field order in documentation doesn't match implementation order (brewery appears after ibu in actual response, not before style in docs)
When addressing the review on #34, resolve each item and add Closes #<this issue> to the PR once everything is genuinely fixed; deferred items stay open here. See the auto-review follow-up convention in CLAUDE.md.
Read the thread · 2026-07-08 · closed · external user · 1 comment
Auto-review follow-ups for PR #23: feat: untappd_pending_friends (incoming friend requests)
Tracking auto-review follow-ups for #23 (verdict: fail).
🔴 Important
- untappd_pending_friends marked idempotent: false but should be true (src/tools/user.ts:153)
When addressing the review on #23, resolve each item and add Closes #<this issue> to the PR once everything is genuinely fixed; deferred items stay open here. See the auto-review follow-up convention in CLAUDE.md.
Read the thread · 2026-07-08 · closed · external user · 1 comment
Most recent
Auto-review follow-ups for PR #140: feat(auth): take the access token from UNTAPPD_ACCESS_TOKEN
Tracking auto-review follow-ups for #140 (verdict: fail).
🔴 Important
- missingCredsError() (src/client.ts:165-180) doesn't distinguish a stale/expired pre-seeded token from never-configured credentials — an operator using the new token-only config (UNTAPPD_ACCESS_TOKEN + client creds, no username/password) who hits a 401 gets told 'credentials are not configured' and to 'set UNTAPPD_ACCESS_TOKEN', which they already did; CLAUDE.md explicitly as
Read the thread · 2026-08-26 · closed · external user · 0 comments
Auto-review follow-ups for PR #122: chore: clear the auto-review follow-up nits
Tracking auto-review follow-ups for #122 (verdict: warn).
🟡 Nits
- CLAUDE.md:10-11 still says "Dual-target. The same tool registrars back two entry points:" but lists only src/index.ts now that src/worker.ts is deleted
- CLAUDE.md:17,20 still describe npm test as "the NODE pool" and claim "Both suites pass on main" after the Workers test pool and npm run worker:test were removed
When addressing the review on #122, resolve each item
Read the thread · 2026-08-07 · closed · external user · 0 comments
Auto-review follow-ups for PR #61: feat: add untappd_top_not_had (rank not-had beers off a tap list)
Tracking auto-review follow-ups for #61 (verdict: warn).
🟡 Nits
-
untappd_top_not_hadrate-limit path is unexercised —fakeBeerInfoClient.rateLimitAfterexists but no test uses it (tests/cache.test.ts) -
untappd_top_not_hadsilently swallows non-RateLimitErrorAPI errors, so a whole-run outage returnsranked: []withpartial: falseandapi_calls_used: 0(src/tools/cache.ts)
When addressing the review on #61, resolve each it
Read the thread · 2026-07-12 · closed · external user · 0 comments
Auto-review follow-ups for PR #55: feat: full has-had coverage via user/beers; fix false backfill_complete
Tracking auto-review follow-ups for #55 (verdict: warn).
🟡 Nits
- sync.ts Phase 1 catch-up lacks the
page.nextMaxId >= maxIdstall guard that Phase 2 has — truncated account + 50+ new check-ins loops until maxPages,another_run_needednever converges - COVERAGE_THRESHOLD = 0.98 in sync.ts false-positives self-heal on short histories (e.g. 200/205 = 97.6% triggers a full re-page instead of Phase 1 incremental catch-up)
- sync.ts doesn'
Read the thread · 2026-07-12 · closed · external user · 0 comments
Auto-review follow-ups for PR #48: Add local SQLite check-in cache with sync + query tools
Tracking auto-review follow-ups for #48 (verdict: fail).
🔴 Important
- Phase-1 catch-up in src/cache/sync.ts leaves an unrecoverable cache gap when new check-ins exceed max_pages*50; future syncs never heal it and has_had returns silent false negatives
When addressing the review on #48, resolve each item and add Closes #<this issue> to the PR once everything is genuinely fixed; deferred items stay open here. See the auto-review follow-up c
Read the thread · 2026-07-11 · closed · external user · 0 comments
Auto-review follow-ups for PR #28: feat: opt-in compact projections for fat list responses
Tracking auto-review follow-ups for #28 (verdict: warn).
🟡 Nits
- tests/tools/read.test.ts: Missing compact integration tests for the five checkin-feed tools (user_checkins, activity_feed, beer_activity, venue_activity, local_checkins)
When addressing the review on #28, resolve each item and add Closes #<this issue> to the PR once everything is genuinely fixed; deferred items stay open here. See the auto-review follow-up convention in CLAU
Read the thread · 2026-07-08 · closed · external user · 0 comments
Auto-review follow-ups for PR #20: fix: address auto-review nits on the photo check-in flow
Tracking auto-review follow-ups for #20 (verdict: warn).
🟡 Nits
- src/tools/checkin.ts:236 —
data?.checkin_idin no-upload-URL photo_error message can interpolate asundefined, making the recovery hint useless; fix with?? '(unknown)' - tests/tools/write.test.ts — no test for the try/catch S3-throw path (putBinary or uploadComplete rejecting); add a test with putBinary.mockRejectedValueOnce to close the gap
When addressing the revi
Read the thread · 2026-07-08 · closed · external user · 0 comments
Auto-review follow-ups for PR #18: feat: photo check-ins + delete-checkin (completes #10)
Tracking auto-review follow-ups for #18 (verdict: pass).
🟡 Nits
- Unreachable 'jpeg' key in PHOTO_CONTENT_TYPES (src/tools/checkin.ts:12): photoExt() normalises '.jpeg' → 'jpg' before any lookup, making the jpeg entry permanently dead code
- TOCTOU gap between existsSync and fileBlob (src/tools/checkin.ts:207): existsSync fires before the checkin/add network round-trip; a file deleted in that window creates an orphaned check-in with a raw fil
Read the thread · 2026-07-08 · closed · external user · 0 comments
The remaining reports are on the project's issue tracker.