Skip to main content
MCP servers can require OAuth 2.1 tokens. Choose between DAuth (Dedalus Auth) for managed authentication with credential isolation, or bring your own authorization server.

DAuth (Dedalus Auth)

DAuth is Dedalus’s managed authorization system. It provides OAuth 2.1 token issuance with a key security property: credentials never leave a sealed execution boundary.

Why DAuth?

Traditional credential handling exposes secrets to your application code. DAuth isolates credentials in a secure enclave—your MCP server receives an opaque connection handle, not raw API keys.
  • Credentials never exposed — Encrypted client-side, decrypted only in a sealed execution boundary
  • Opaque handles — Your code references connections by handle, never sees raw secrets
  • Sender-constrained tokens — Tokens are cryptographically bound to the client; stolen tokens are unusable
  • Networkless execution — Credential decryption and API calls happen entirely within an isolated enclave; raw secrets never traverse the network

How DAuth Works

Learn how credential isolation and sealed execution protect your secrets.

Quick Start

By default, authorization_servers points to https://as.dedaluslabs.ai (the DAuth control plane). For a complete working example with GitHub and Supabase integrations:

Example MCP Server

Production-ready server with GitHub and Supabase integrations.
Unauthenticated requests get 401 with a WWW-Authenticate challenge pointing to the protected resource metadata.

Server-level Scopes

All requests must have these scopes. Scope names are arbitrary strings you define—common patterns are read/write for general access or resource:action (e.g., files:delete) for fine-grained control.

Per-tool Scopes

Gate sensitive tools with additional scope requirements:
A token with read can call list_files. Calling delete_file without files:delete returns an error:

Configuration Options

Access Claims in Tools

Inspect the authenticated user in your tools:

DPoP Support

DAuth uses DPoP (Demonstrating Proof-of-Possession) by default. Tokens are cryptographically bound to the client’s key—even if a token is stolen, it’s useless without the corresponding private key.

Environment variable

Remember to add these variable to your environment. DAuth works natively with Dedalus SDK, therefore an API key is needed. Get your API key from the dashboard

External Authorization Servers

Use your own OAuth 2.1 provider instead of DAuth. This is useful when integrating with existing identity infrastructure.
External authorization servers don’t provide the sealed execution model. Your MCP server will handle credentials directly.

Custom Provider

Auth0

Okta

Keycloak


Testing

Test authorization with the full server and client:
Last modified on August 9, 2026