fix: OAuth scope mismatch, runtime dep, and Claude Desktop setup docs#9
Conversation
- Use `mcp:access user:info` scopes when redirecting to ABsmartly backend OAuth (backend rejects the previous `api:read api:write` with invalid_scope). Update advertised scopes and approval-page descriptions to match. - Move `@absmartly/cli` from devDependencies to dependencies — it's imported as a runtime value by the stdio entry point and the worker. - README: document URL-based API key (`?api_key=...`) for Claude Desktop alongside the existing mcp-remote bridge; add screenshots for the Settings → Connectors → Add custom connector flow; note that the `absmartly-endpoint` query param is optional for the OAuth path. - Add regression test documenting which carriers (per-client KV linkage, RFC 8707 resource param) successfully bridge the endpoint from `/sse` to `/authorize`.
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (3)
📒 Files selected for processing (5)
WalkthroughThis pull request updates OAuth scope definitions across the codebase from Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Poem
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Summary
api:read api:write, but the backend's discovery endpoint advertises only["mcp:access","user:info"]and rejects anything else withinvalid_scope. This blocked OAuth login entirely. Updated the outgoing scope, the MCP-advertisedscopesSupported, and the approval-page descriptions to match.@absmartly/cliwas indevDependenciesbut is imported as a runtime value by the stdio entry (local-server.ts) and the worker (index.ts,cli-catalog.ts). Worker bundling masked the issue, butnpx @absmartly/mcpwould have failed for end users. Moved todependencies.?api_key=...) as the primary option, kept mcp-remote as a secondary header-based option, and added screenshots walking through Settings → Connectors → Add custom connector. Noted thatabsmartly-endpointis optional for OAuth (form prompts when omitted)./register, or the RFC 8707resourceparameter).Test plan
npm run test— 3180/3180 passnpx tsc --noEmit— cleanSummary by CodeRabbit
Release Notes
New Features
absmartly-endpointoptional in OAuth flow; omitting it now triggers a browser prompt requesting the ABsmartly instance URLDocumentation