Skip to content

Commit 8a517c4

Browse files
authored
fix(mcp): route OAuth callback to web server instead of MCP server (onyx-dot-app#10071)
1 parent 6959d85 commit 8a517c4

4 files changed

Lines changed: 32 additions & 2 deletions

File tree

deployment/data/nginx/mcp.conf.inc.template

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
# OAuth callback page must be served by the web server (Next.js),
2+
# not the MCP server. Exact match takes priority over the regex below.
3+
location = /mcp/oauth/callback {
4+
proxy_set_header X-Real-IP $remote_addr;
5+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
6+
proxy_set_header X-Forwarded-Proto $scheme;
7+
proxy_set_header X-Forwarded-Host $host;
8+
proxy_set_header X-Forwarded-Port $server_port;
9+
proxy_set_header Host $host;
10+
proxy_http_version 1.1;
11+
proxy_redirect off;
12+
proxy_pass http://web_server;
13+
}
14+
115
# MCP Server - Model Context Protocol for LLM integrations
216
# Match /mcp, /mcp/, or /mcp/* but NOT /mcpserver, /mcpapi, etc.
317
location ~ ^/mcp(/.*)?$ {

deployment/helm/charts/onyx/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ home: https://www.onyx.app/
55
sources:
66
- "https://github.com/onyx-dot-app/onyx"
77
type: application
8-
version: 0.4.42
8+
version: 0.4.43
99
appVersion: latest
1010
annotations:
1111
category: Productivity

deployment/helm/charts/onyx/templates/nginx-conf.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,22 @@ data:
4242
client_max_body_size 5G;
4343
{{- if .Values.mcpServer.enabled }}
4444
45+
# OAuth callback page must be served by the web server (Next.js),
46+
# not the MCP server. Exact match takes priority over the regex below.
47+
location = /mcp/oauth/callback {
48+
proxy_set_header X-Real-IP $remote_addr;
49+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
50+
proxy_set_header X-Forwarded-Proto $scheme;
51+
proxy_set_header X-Forwarded-Host $host;
52+
proxy_set_header Host $host;
53+
proxy_http_version 1.1;
54+
proxy_redirect off;
55+
proxy_connect_timeout {{ .Values.nginx.timeouts.connect }}s;
56+
proxy_send_timeout {{ .Values.nginx.timeouts.send }}s;
57+
proxy_read_timeout {{ .Values.nginx.timeouts.read }}s;
58+
proxy_pass http://web_server;
59+
}
60+
4561
# MCP Server - Model Context Protocol for LLM integrations
4662
# Match /mcp, /mcp/, or /mcp/* but NOT /mcpserver, /mcpapi, etc.
4763
location ~ ^/mcp(/.*)?$ {

deployment/helm/charts/onyx/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ nginx:
296296
# The ingress-nginx subchart doesn't auto-detect our custom ConfigMap changes.
297297
# Workaround: Helm upgrade will restart if the following annotation value changes.
298298
podAnnotations:
299-
onyx.app/nginx-config-version: "3"
299+
onyx.app/nginx-config-version: "4"
300300

301301
# Propagate DOMAIN into nginx so server_name continues to use the same env var
302302
extraEnvs:

0 commit comments

Comments
 (0)