mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-17 11:09:11 +02:00
* sk-provider updates - aud not enforce, scopes enforce if present * updating env_prefix, adding debug logs * updating docs * ruff formatting * not changing prefix for backward compatiblity * backward compatibility changes * give more preference to base_url than mcp_url if both passed * updating docs * refactor * updating example server * updating readme of example * updating docs * updating tests to reflect what should ideally go in the parameter
1.3 KiB
1.3 KiB
Scalekit OAuth Example
Demonstrates FastMCP server protection with Scalekit OAuth.
Setup
1. Configure MCP server in Scalekit environment
Create a Scalekit Account:
- Go to Scalekit Dashboard
- Copy your Environment URL from Developers → Settings
- Copy Resource ID (res_xxx) from Developers → MCP Servers
Register Your MCP Server:
- Go to MCP Servers → Create New Server
- Fill in your MCP server details
- Note the Resource ID (e.g.,
res_123)
Create a .env file:
# Required Scalekit credentials
SCALEKIT_ENVIRONMENT_URL=<YOUR_APP_ENVIRONMENT_URL>
SCALEKIT_RESOURCE_ID=<YOUR_APP_RESOURCE_ID> # res_926EXAMPLE5878
BASE_URL=http://localhost:8000/
# Optional: additional scopes tokens must include (comma-separated)
# SCALEKIT_REQUIRED_SCOPES=read,write
2. Run the Example
Start the server:
# From this directory
uv run python server.py
The server will start on http://localhost:8000/mcp with Scalekit OAuth authentication enabled.
Test with client:
uv run python client.py
The client.py will:
- Attempt to connect to the server
- Detect that OAuth authentication is required
- Open a browser for Scalekit authentication
- Complete the OAuth flow and connect to the server
- Demonstrate calling authenticated tools