- Register an OAuth client (DCR)
Minimal Dynamic Client Registration (RFC 7591) for MCP hosts and other clients that are not pre-registered. Registration only issues a client_id — access to any data still requires the user login/consent flow and granted scopes.
Public clients (native apps, local MCP packages, agent hosts without a secure backend) receive no client_secret and must use Authorization Code + PKCE. A client_id supplied as an HTTPS URL pointing to a Client ID Metadata Document (CIMD) is also accepted at the authorization endpoint without prior registration.
Registration is rate-limited and monitored for abuse; redirect URIs are validated.
Redirect URIs, compared exactly — no wildcards, no subdomain substitution. Two forms are accepted:
- Absolute HTTPS for web-hosted callbacks:
https://app.example.com/oauth/callback. - Loopback for native and CLI clients (RFC 8252):
http://127.0.0.1/callbackorhttp://[::1]/callback. The port is dynamic — it is chosen at runtime and is ignored when matching, so a client does not have to register every port it may bind.
localhost is not accepted as an equivalent of the loopback address: it resolves through DNS and the hosts file, so it can be pointed elsewhere. Register the literal IP instead. Any other plain-HTTP host is rejected.
- Mock serverhttps://developer.alteg.io/_mock/en/b2b-v3/openapi/oauth/register
- Preview authorization server - endpoint surface is not live yethttps://api.alteg.io/oauth/register
curl -i -X POST \
https://developer.alteg.io/_mock/en/b2b-v3/openapi/oauth/register \
-H 'Content-Type: application/json' \
-d '{
"client_name": "Example MCP Host",
"redirect_uris": [
"https://mcp-host.example.com/oauth/callback",
"http://127.0.0.1/callback"
],
"grant_types": [
"authorization_code",
"refresh_token"
],
"token_endpoint_auth_method": "none"
}'Client registered.
{ "client_id": "altg_oauth_9c41", "client_id_issued_at": 1784900000, "client_name": "Example MCP Host", "redirect_uris": [ "https://mcp-host.example.com/oauth/callback", "http://127.0.0.1/callback" ], "grant_types": [ "authorization_code", "refresh_token" ], "token_endpoint_auth_method": "none" }