連接 Claude.ai 時 MCP OAuth 註冊失敗

我正在嘗試使用 Instance-level MCP(預覽版)功能將 Claude.ai 連接到我的自託管 n8n 實例(v2.30.7),但我不斷收到來自 Claude 的此錯誤:
「無法向 n8n 的登入服務註冊。您可以重試,或在連接器設定中新增 OAuth 客戶端 ID。」

設定詳情:

  • n8n 是自託管的,在本地執行,透過 ngrok(https 隧道)公開
  • Instance-level MCP 已啟用
  • 我已在 OAuth 設定下新增了所需的重定向 URL(https://claude.ai/api/mcp/auth_callback)並成功儲存
  • 我有一個已發佈的工作流程,帶有聊天觸發器,並且已啟用 MCP 存取
  • ngrok 日誌顯示 Claude 成功擷取 /.well-known/oauth-authorization-server 和 /.well-known/oauth-protected-resource(200 OK),但沒有 POST 請求到 /register 端點出現——隨後在 /mcp-server/http 上出現 401 未授權
  • 「已連接的客戶端」標籤始終顯示「沒有 OAuth 客戶端已連接」

看起來 Claude 無法完成與我的 n8n 實例的動態客戶端註冊。這是預覽 MCP 功能的已知限制,還是有一種手動方式來註冊 OAuth 客戶端/取得 n8n 的客戶端 ID 和密鑰,以便我可以在 Claude 端手動輸入?

提前感謝!

描述問題/錯誤/問題

錯誤訊息是什麼(如果有)?

請分享您的工作流程

(在畫布上選擇節點,使用鍵盤快捷鍵 CMD+C/CTRL+C 和 CMD+V/CTRL+V 複製和貼上工作流程。)

分享最後一個節點返回的輸出

關於您的 n8n 設定的資訊

  • n8n 版本:
  • 資料庫(預設值:SQLite):
  • n8n EXECUTIONS_PROCESS 設定(預設值:own、main):
  • 執行 n8n 的方式(Docker、npm、n8n cloud、桌面應用程式):
  • 作業系統:

@Elma_Akter 歡迎!
n8n 會從其自身的基本 URL 構建它在 .well-known 文件中宣傳的 OAuth 端點 URL(authorize、token 和動態註冊端點),而在 ngrok 後面仍然默認為 http://localhost:5678。Claude 通過隧道能夠正常獲取這些文件,這就是你看到的 200s,然後向它從文件中讀取的 localhost 註冊端點 POST 客戶端註冊,所以該請求永遠不會到達你的實例、ngrok 中沒有 /register 調用顯示,並且 /mcp-server/http 返回 401 且沒有客戶端連接。

將公共 URL 指向你的 ngrok https 地址,使宣傳的端點可以到達,然後重新啟動:

N8N_HOST=<your-subdomain>.ngrok-free.app
N8N_PROTOCOL=https
N8N_EDITOR_BASE_URL=https://<your-subdomain>.ngrok-free.app/
WEBHOOK_URL=https://<your-subdomain>.ngrok-free.app/
N8N_PROXY_HOPS=1

重新啟動 n8n,重新打開 Settings > Instance-level MCP,再次複製 OAuth 伺服器 URL,然後從 Claude 重新連接。動態客戶端註冊現在將 POST 到公共 ngrok 端點,客戶端將註冊,所以你不需要手動輸入客戶端 ID。