---
title: "Register MCP OAuth client"
method: POST
path: "/mcp/register"
tags: ["MCP"]
---

# Register MCP OAuth client

`POST /mcp/register`

Dynamically register a public OAuth client for the MCP endpoint. Public clients hold no secret, so authorization is protected by PKCE and an explicit consent step.

## Request body

- object
  - `redirect_uris` string[], required
  - `client_name` string
  - `token_endpoint_auth_method` 'none'
  - `grant_types` unknown[]
    - unknown
  - `response_types` unknown[]
    - unknown

## Response `200`

Registered OAuth client

- McpClientRegistration
  - `client_id` string, required
  - `client_id_issued_at` number, required
  - `redirect_uris` string[], required
  - `client_name` string
  - `token_endpoint_auth_method` 'none', required
  - `grant_types` string[], required
  - `response_types` string[], required

## Other responses

- `400` — Invalid client metadata

## Changes

- **2026-08-24** `08bbb5bedb5d` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/usekaneo/apis/kaneo-api/changes/mcp/register/post.md)

---

[API](https://skmtc.dev/usekaneo/apis/kaneo-api.md) · [All operations](https://skmtc.dev/usekaneo/apis/kaneo-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/usekaneo/kaneo-api/revisions/9d1da42c10ce/schema)
