Skip to content

Commit bc7c59f

Browse files
committed
Add RequiredScopes, and remove unnecessary observability scope from container and bindings servers
1 parent 616322c commit bc7c59f

File tree

4 files changed

+12
-11
lines changed

4 files changed

+12
-11
lines changed

apps/sandbox-container/server/index.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {
55
handleTokenExchangeCallback,
66
} from '@repo/mcp-common/src/cloudflare-oauth-handler'
77
import { getEnv } from '@repo/mcp-common/src/env'
8+
import { RequiredScopes } from '@repo/mcp-common/src/scopes'
89
import { MetricsTracker } from '@repo/mcp-observability'
910

1011
import { ContainerManager } from './containerManager'
@@ -32,12 +33,9 @@ export type Props = {
3233
}
3334

3435
const ContainerScopes = {
35-
'account:read': 'See your account info such as account details, analytics, and memberships.',
36-
'user:read': 'See your user info such as name, email address, and account memberships.',
36+
...RequiredScopes,
3737
'workers:write':
3838
'See and change Cloudflare Workers data such as zones, KV storage, namespaces, scripts, and routes.',
39-
'workers_observability:read': 'See observability logs for your account',
40-
offline_access: 'Grants refresh tokens for long-lived access.',
4139
} as const
4240

4341
export default {

apps/workers-bindings/src/index.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {
66
handleTokenExchangeCallback,
77
} from '@repo/mcp-common/src/cloudflare-oauth-handler'
88
import { getEnv } from '@repo/mcp-common/src/env'
9+
import { RequiredScopes } from '@repo/mcp-common/src/scopes'
910
import { CloudflareMCPServer } from '@repo/mcp-common/src/server'
1011
import { registerAccountTools } from '@repo/mcp-common/src/tools/account'
1112
import { registerD1Tools } from '@repo/mcp-common/src/tools/d1'
@@ -91,13 +92,10 @@ export class WorkersBindingsMCP extends McpAgent<Env, WorkersBindingsMCPState, P
9192
}
9293

9394
const BindingsScopes = {
94-
'account:read': 'See your account info such as account details, analytics, and memberships.',
95-
'user:read': 'See your user info such as name, email address, and account memberships.',
95+
...RequiredScopes,
9696
'workers:write':
9797
'See and change Cloudflare Workers data such as zones, KV storage, namespaces, scripts, and routes.',
98-
'workers_observability:read': 'See observability logs for your account',
9998
'd1:write': 'Create, read, and write to D1 databases',
100-
offline_access: 'Grants refresh tokens for long-lived access.',
10199
} as const
102100

103101
// Export the OAuth handler as the default

apps/workers-observability/src/index.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {
66
handleTokenExchangeCallback,
77
} from '@repo/mcp-common/src/cloudflare-oauth-handler'
88
import { getEnv } from '@repo/mcp-common/src/env'
9+
import { RequiredScopes } from '@repo/mcp-common/src/scopes'
910
import { CloudflareMCPServer } from '@repo/mcp-common/src/server'
1011
import { registerAccountTools } from '@repo/mcp-common/src/tools/account'
1112
import { registerWorkersTools } from '@repo/mcp-common/src/tools/worker'
@@ -93,12 +94,10 @@ export class ObservabilityMCP extends McpAgent<Env, State, Props> {
9394
}
9495

9596
const ObservabilityScopes = {
96-
'account:read': 'See your account info such as account details, analytics, and memberships.',
97-
'user:read': 'See your user info such as name, email address, and account memberships.',
97+
...RequiredScopes,
9898
'workers:write':
9999
'See and change Cloudflare Workers data such as zones, KV storage, namespaces, scripts, and routes.',
100100
'workers_observability:read': 'See observability logs for your account',
101-
offline_access: 'Grants refresh tokens for long-lived access.',
102101
} as const
103102

104103
export default new OAuthProvider({

packages/mcp-common/src/scopes.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// These scopes are required for Cloudflare auth
2+
export const RequiredScopes = {
3+
'account:read': 'See your account info such as account details, analytics, and memberships.',
4+
'user:read': 'See your user info such as name, email address, and account memberships.',
5+
offline_access: 'Grants refresh tokens for long-lived access.',
6+
} as const

0 commit comments

Comments
 (0)