---
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`

## Request

- Base URL: `http://localhost:3013`
- URL: `http://localhost:3013/api/mcp-oauth/{mcpServerId}/manual-client`
- Auth: HTTP bearer

## 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`
- **2026-04-22** `dd8dd2222408`: 1 info
  - endpoint added

[Operation 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/7e4c7198192a?raw)
