Fix discovery + OAuth recovery; add Claude Desktop (.mcpb) bundle#11
Merged
Conversation
Discovery: fall back to Paste's default port (39725) when the plist read is blocked — the App Store build keeps its port in a sandbox container a host without Full Disk Access (e.g. Claude Desktop) can't read. Probe candidates so a stale/refused port degrades to the "not running" fallback. Fixes the bridge for Claude Desktop and any non-FDA host. OAuth: clear stale client state before a fresh interactive flow. A registration left by an aborted/cancelled attempt is bound to its old callback port, so reusing it failed the new redirect_uri with invalid_redirect_uri. Packaging: add the Claude Desktop extension bundle — manifest.json, scripts/build-mcpb.sh, icon — and attach a fresh .mcpb on each release. Bump 0.1.2 to 0.1.3; add a README Privacy Policy section. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two bridge bug fixes (benefit all clients) plus the Claude Desktop extension packaging.
Fixes
src/discover.ts) — when themcpPortplist read fails, probe Paste's default port39725. The App Store build stores the port in its sandbox container, which a host without Full Disk Access (Claude Desktop) can't read — discovery returned the "Paste isn't running" fallback even when Paste was up. Now works on Claude Desktop, Claude Code, Cursor, Codex, etc. Probing means a stale/dead port still degrades gracefully.src/oauth/client.ts) — clear stale client state before a fresh flow. A registration left by a cancelled attempt was bound to its old (random) callback port, so the retry sent aredirect_urithe server rejected withinvalid_redirect_uri.Both covered by unit tests (
discover.test.tsreworked to mock the probe; newcancel → retrycase inclient.test.ts). 68 tests pass.Packaging (Claude Desktop directory)
manifest.json(MCPB v0.3, mac-only, 11 tools,privacy_policies),scripts/build-mcpb.sh, and the Paste icon.release.ymlnow syncs themanifest.json/server.jsonversion and builds + attaches a.mcpbto each release.Release flow
Merge → cut v0.1.3 → npm
@pasteapp/mcp@0.1.3(fixes reach all clients) + MCP registry updated +.mcpbattached to the release. That.mcpbthen goes to the Claude desktop-extension form.🤖 Generated with Claude Code