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 installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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 gradedqualityCmaintenanceA minimal, production-ready FastMCP server template with auto-discovery, YAML configuration, authentication, and a knowledgebase, enabling quick scaffolding of new MCP servers.
Related MCP Connectors
Primarily to be used as a template repository for developing MCP servers with FastMCP in Python, P…
An MCP server for Arcjet - the runtime security platform that ships with your AI code.
MCP server for verifying EUDI/Talao wallet data via OIDC4VP (pull) for AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/render-examples/descope-render'
If you have feedback or need assistance with the MCP directory API, please join our Discord server