This repository was archived by the owner on May 15, 2026. It is now read-only.
Commit 035a53e
committed
feat: OAuth 2.1 authorization flow for MCP servers\n\nImplements automatic OAuth 2.1 authorization flow when Roo connects\nto protected HTTP-based MCP servers, leveraging the existing\n@modelcontextprotocol/sdk v1.29.0 OAuth client orchestrator.\n\nNew file:\n- src/services/mcp/McpOAuthProvider.ts — Implements the SDK's\n OAuthClientProvider interface as a VS Code adapter using\n SecretStorage for per-server token persistence, localhost\n callback server for authorization code flow, and\n vscode.env.openExternal() for browser launch.\n\nModified files:\n- packages/types/src/mcp.ts — Added authStatus field to McpServer\n- src/services/mcp/McpHub.ts — Wired authProvider into HTTP transport\n- src/activate/handleUri.ts — Added /mcp-auth/callback route\n- webview-ui/src/components/mcp/McpView.tsx — Auth status display\n- i18n: OAuth-related keys in all 18 locales (backend + frontend)\n\nTests:\n- src/services/mcp/__tests__/McpOAuthProvider.spec.ts — 35 unit tests
1 parent cb83656 commit 035a53e
42 files changed
Lines changed: 1321 additions & 70 deletions
File tree
- packages/types/src
- src
- activate
- i18n/locales
- ca
- de
- en
- es
- fr
- hi
- id
- it
- ja
- ko
- nl
- pl
- pt-BR
- ru
- tr
- vi
- zh-CN
- zh-TW
- services/mcp
- __tests__
- webview-ui/src
- components/mcp
- i18n/locales
- ca
- de
- en
- es
- fr
- hi
- id
- it
- ja
- ko
- nl
- pl
- pt-BR
- ru
- tr
- vi
- zh-CN
- zh-TW
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| 58 | + | |
58 | 59 | | |
59 | 60 | | |
60 | 61 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
46 | 57 | | |
47 | 58 | | |
48 | 59 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
27 | 29 | | |
28 | 30 | | |
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments