Descope Auth MCP Server Template
MCP-Server-Vorlage mit Descope-Authentifizierung
Eine einfache FastMCP-Server-Vorlage für Render mit vollständiger MCP-Authentifizierung durch Descope.
Was ist enthalten
Ein funktionierender MCP-Server unter Verwendung von FastMCP mit Streamable HTTP-Transport
Vollständige Unterstützung für MCP-Autorisierung mit FastMCPs
DescopeProviderund demdescope-mcpSDKEin Beispiel-Tool (
hello), das"Hello, world!"zurückgibt und bereichsbasierte Anforderungen auf Tool-Ebene (mcp:greet) durchsetztEin
render.yamlBlueprint für eine einfache Bereitstellung
Hinweis: Diese Vorlage wird standardmäßig im kostenlosen Tarif von Render bereitgestellt. Kostenlose Dienste werden nach 15 Minuten Inaktivität heruntergefahren, was bei der nächsten Anfrage zu Kaltstarts von 30-60 Sekunden führt. MCP-Clients könnten während dieser Verzögerung eine Zeitüberschreitung (Timeout) erleiden. Für eine zuverlässige Nutzung führen Sie ein Upgrade auf einen kostenpflichtigen Tarif im Render-Dashboard durch – der Starter-Tarif hält Ihren Dienst kontinuierlich am Laufen.
Related MCP server: MCP Server Template
Voraussetzungen
Descope-Einrichtung
Melden Sie sich in der Descope Console an.
Navigieren Sie zu Agentic Identity Hub → MCP Servers.
Klicken Sie auf + MCP Server, um einen neuen MCP-Server zu erstellen und ihm einen Namen zu geben.
Aktivieren Sie unter MCP Client Registration die Optionen Client ID Metadata Documents (CIMD) und Dynamic Client Registration (DCR). Optional können Sie erlaubte Domains für Clients einschränken, die sich über CIMD registrieren (z. B.
https://claude.ai) – Sie können dieses Feld auch leer lassen.Fügen Sie unter MCP Server Scopes einen Bereich namens
mcp:greetmit einer einfachen Beschreibung wie "Begrüße den Benutzer" hinzu.Klicken Sie auf Create.
Erweitern Sie den Abschnitt
Connect your MCP server to Descopeauf der Bestätigungsseite.Kopieren Sie die Well-Known URL. Sie sieht so aus:
https://api.descope.com/v1/apps/agentic/.../.well-known/openid-configurationDies ist Ihre
DESCOPE_CONFIG_URL.
Hinweis: Descope stellt Token gemäß Resource Indicators (RFC 8707) aus, wie von der MCP-Spezifikation gefordert. Wenn Sie auf Render bereitstellen oder lokal ausführen, müssen Sie den Abschnitt für MCP-Server-URLs aktualisieren.
Bereitstellung auf Render
Stellen Sie sicher, dass Sie den Schritt Descope-Einrichtung vor der lokalen Entwicklung abgeschlossen haben, da Sie Ihre
DESCOPE_CONFIG_URLbenötigen.
Forken Sie dieses Repository in Ihr GitHub-Konto.
Klicken Sie auf Deploy to Render (oder forken Sie dieses Repo auf GitHub und importieren Sie es als Blueprint in Ihr Render-Konto).
Legen Sie in Ihren angegebenen Konfigurationen die Umgebungsvariable auf den Wert fest, den Sie im Schritt Descope-Einrichtung erhalten haben:
Schlüssel
Wert
DESCOPE_CONFIG_URLIhre Well-Known URL aus der Descope Console
Klicken Sie auf Deploy Blueprint.
Sobald der Dienst live ist, kopieren Sie Ihre Render-Dienst-URL (z. B.
https://<your-project>.onrender.com), hängen/mcpan und fügen Sie sie in der Descope Console unter MCP Server URLs hinzu.
Sie verfügen nun über einen remote gehosteten MCP-Server mit vollständiger Unterstützung der Auth-Spezifikation!
Lokale Entwicklung
Stellen Sie sicher, dass Sie den Schritt Descope-Einrichtung vor der lokalen Entwicklung abgeschlossen haben, da Sie Ihre
DESCOPE_CONFIG_URLbenötigen.
Forken Sie zuerst dieses Repo in Ihr GitHub-Konto und befolgen Sie dann die unten stehenden Anweisungen, um Ihre Umgebung einzurichten.
# Install dependencies
uv sync
# Set required environment variables
export DESCOPE_CONFIG_URL="<your URL from Descope>"
export SERVER_URL="http://localhost:8000"
# Run the server
uv run server.py --transport http --port 8000Wenn Sie dies lokal ausführen, läuft Ihr Server unter http://localhost:8000/mcp.
Verfügbare Tools
Tool | Beschreibung | Erforderlicher Bereich |
| Gibt |
|
Nächste Schritte
Nachdem Sie alles eingerichtet haben, empfehlen wir einige weitere Schritte, wenn Sie Ihren MCP-Server in die Produktion überführen möchten.
Eigene Tools hinzufügen
Ersetzen oder erweitern Sie das hello-Tool in server.py mit Ihrer eigenen Logik. Für jedes neue Tool:
Definieren Sie einen neuen Bereich in der Descope Console unter MCP Server Scopes (z. B.
mcp:your-scope).Fügen Sie das Tool mit dem
@mcp.tool()-Dekorator hinzu.Rufen Sie
require_scopes(token, ["mcp:your-scope"])innerhalb des Tool-Bodys auf, um die Zugriffskontrolle durchzusetzen.Fügen Sie das neue Tool und den erforderlichen Bereich zur obigen Tabelle Verfügbare Tools hinzu.
@mcp.tool()
def my_tool() -> str:
token = validate_token()
require_scopes(token, ["mcp:your-scope"])
return "your result"Eigene Domain auf Render verwenden
Standardmäßig ist Ihr Dienst unter https://<your-project>.onrender.com erreichbar. Um eine eigene Domain zu verwenden:
Gehen Sie im Render-Dashboard zu Ihrem Dienst → Settings → Custom Domains.
Fügen Sie Ihre Domain hinzu und befolgen Sie die bereitgestellten DNS-Anweisungen.
Sobald die Domain verifiziert ist, aktualisieren Sie die MCP Server URLs in der Descope Console, um Ihre eigene Domain zu verwenden (z. B.
https://mcp.yourdomain.com/mcp).Es sind keine Codeänderungen erforderlich –
RENDER_EXTERNAL_URLwird automatisch von Render gesetzt und spiegelt die primäre Domain wider.
Alle Tools mit Bereichen schützen
Die require_scopes()-Prüfung ist absichtlich pro Tool optional, damit Sie bei Bedarf nicht authentifizierte Tools hinzufügen können. Für einen Produktionsserver ist es bewährte Praxis, require_scopes() in jedem Tool aufzurufen. Sie können dies auch zentralisieren, indem Sie einen Helfer schreiben, der validate_token() und require_scopes() umschließt und diesen am Anfang jedes Tool-Handlers aufruft.
Funktionsweise der MCP-Authentifizierung
Ein MCP-Client (z. B. Claude Desktop, Cursor) entdeckt OAuth-Metadaten unter
/.well-known/oauth-authorization-server, wenn er versucht, eine Verbindung zu Ihrem MCP-Server herzustellen.Der Client registriert sich dynamisch (über CIMD oder DCR) beim Autorisierungsserver und leitet den Benutzer zum Login-/Zustimmungsfluss von Descope weiter.
Nach dem Login stellt Descope ein signiertes JWT aus. Der Client fügt dieses als Bearer-Token in jede MCP-Anfrage ein.
DescopeProvidervalidiert das JWT mithilfe des JWKS-Endpunkts von Descope, bevor ein Tool aufgerufen wird.Innerhalb des Tools analysiert
validate_token()die Claims undrequire_scopes()prüft, obmcp:greetvorhanden ist, und gibt andernfalls einen Fehler an den Client zurück.
Mehr erfahren
This server cannot be deployed
Maintenance
Related MCP Connectors
- StytchOAuthdev.stytch.mcp
The Stytch MCP server is a reference implementation that demonstrates remote MCP server authentication and authorization using Stytch Connected Apps. It provides OAuth 2.1-compliant authorization (including PKCE), Dynamic Client Registration, and validates Stytch-issued access tokens to enable AI agents to securely interact with external services through permissioned access, supporting scopes like openid, email, profile, and manage:project_data.
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
- ArcjetOAuthcom.arcjet
An MCP server for Arcjet - the runtime security platform that ships with your AI code.
MCP server for Boson Protocol — on-chain agentic commerce for physical & digital goods.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA minimal FastMCP server template for Render deployment with streamable HTTP transport. Provides a starting point for building custom MCP servers with easy one-click deployment capabilities.-
- FlicenseNot gradedqualityNot gradedmaintenanceA minimal FastMCP server template for quick deployment to Render with streamable HTTP transport. Provides a foundation for building custom MCP servers with easy local development and one-click deployment capabilities.-
- FlicenseNot gradedqualityDmaintenanceA minimal FastMCP server template for Render deployment with streamable HTTP transport. Provides a starting point for building custom MCP servers with easy deployment options.-
- FlicenseNot gradedqualityDmaintenanceA minimal, production-ready FastMCP server template with auto-discovery, YAML configuration, authentication, and a knowledgebase, enabling quick scaffolding of new MCP servers.-