Skip to content

Commit 1bae9d7

Browse files
committed
fix(mcp): use getBaseUrl for OAuth discovery metadata URLs
1 parent 765a481 commit 1bae9d7

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

apps/sim/app/api/mcp/copilot/route.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import {
3232
import { DIRECT_TOOL_DEFS, SUBAGENT_TOOL_DEFS } from '@/lib/copilot/tools/mcp/definitions'
3333
import { env } from '@/lib/core/config/env'
3434
import { RateLimiter } from '@/lib/core/rate-limiter'
35+
import { getBaseUrl } from '@/lib/core/utils/urls'
3536
import {
3637
authorizeWorkflowByWorkspacePermission,
3738
resolveWorkflowIdForUser,
@@ -542,7 +543,8 @@ export async function POST(request: NextRequest) {
542543
const hasAuth = request.headers.has('authorization') || request.headers.has('x-api-key')
543544

544545
if (!hasAuth) {
545-
const resourceMetadataUrl = `${request.nextUrl.origin}/.well-known/oauth-protected-resource/api/mcp/copilot`
546+
const origin = getBaseUrl().replace(/\/$/, '')
547+
const resourceMetadataUrl = `${origin}/.well-known/oauth-protected-resource/api/mcp/copilot`
546548
return new NextResponse(JSON.stringify({ error: 'unauthorized' }), {
547549
status: 401,
548550
headers: {

apps/sim/lib/mcp/oauth-discovery.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import { type NextRequest, NextResponse } from 'next/server'
2+
import { getBaseUrl } from '@/lib/core/utils/urls'
23

3-
function getOrigin(request: NextRequest): string {
4-
return request.nextUrl.origin
4+
function getOrigin(): string {
5+
return getBaseUrl().replace(/\/$/, '')
56
}
67

78
export function createMcpAuthorizationServerMetadataResponse(request: NextRequest): NextResponse {
8-
const origin = getOrigin(request)
9+
const origin = getOrigin()
910
const resource = `${origin}/api/mcp/copilot`
1011

1112
return NextResponse.json(
@@ -35,7 +36,7 @@ export function createMcpAuthorizationServerMetadataResponse(request: NextReques
3536
}
3637

3738
export function createMcpProtectedResourceMetadataResponse(request: NextRequest): NextResponse {
38-
const origin = getOrigin(request)
39+
const origin = getOrigin()
3940
const resource = `${origin}/api/mcp/copilot`
4041
const authorizationServerIssuer = origin
4142

0 commit comments

Comments
 (0)