---
title: "Register a pre-existing OAuth client (DCR fallback)"
method: POST
path: "/api/mcp-oauth/{mcpServerId}/manual-client"
tags: ["MCP OAuth"]
---

# Register a pre-existing OAuth client (DCR fallback)

`POST /api/mcp-oauth/{mcpServerId}/manual-client`

## Path parameters

- `mcpServerId` string, required

## Request body

- object
  - `clientId` string, required
  - `clientSecret` string
  - `authorizationServerIssuer` string, uri
  - `authorizeUrl` string, uri
  - `tokenUrl` string, uri
  - `revocationUrl` string, uri
  - `scopes` string[]
  - `tokenEndpointAuthMethod` 'client_secret_basic' | 'client_secret_post' | 'none'

## Response `200`

Pending client stored. Call /authorize to start the flow.

- object
  - `ok` true, required

## Other responses

- `400` — Bad input
- `404` — MCP server not found

## Changes

- **2026-08-10** `df25dc580a56` — 1 info
  - added the new optional request property `tokenEndpointAuthMethod`
- **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/manual-client/post.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)
