---
title: "Build an OAuth authorize URL. Returns JSON so the browser can navigate without losing the Bearer auth header."
method: GET
path: "/api/mcp-oauth/{mcpServerId}/authorize-url"
tags: ["MCP OAuth"]
---

# Build an OAuth authorize URL. Returns JSON so the browser can navigate without losing the Bearer auth header.

`GET /api/mcp-oauth/{mcpServerId}/authorize-url`

## Path parameters

- `mcpServerId` string, required

## Query parameters

- `redirect` string
- `userId` string
- `scopes` string

## Response `200`

{ providerUrl: string }

- object
  - `providerUrl` string, required

## Other responses

- `400` — MCP has no URL / does not require OAuth
- `404` — MCP server not found

## Changes

- **2026-08-07** `06cac6a7c5bc` — 3 info
  - added the media type `application/json` for the response with the status `200`
  - added the media type `application/json` for the response with the status `400`
  - added the media type `application/json` for the response with the status `404`

[Change history](https://skmtc.dev/desplega-ai/apis/agent-swarm-api/changes/api/mcp-oauth/:mcpServerId/authorize-url/get.md)

---

[API](https://skmtc.dev/desplega-ai/apis/agent-swarm-api.md) · [All operations](https://skmtc.dev/desplega-ai/apis/agent-swarm-api/llms.txt) · [OpenAPI document](https://skmtc.dev/desplega-ai/apis/agent-swarm-api/revisions/4d23bb3d853c?raw)
