fastmcp/examples/auth/scalekit_oauth
Akshay Parihar 7bcf8b562c
Add Scalekit Provider for Enterprise Authentication (#1927)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Ravi Madabhushi <ravi.madabhushi@scalekit.com>
Co-authored-by: Ravi Madabhushi <innovativeravi@gmail.com>
Co-authored-by: saif-at-scalekit <saif.shaik@scalekit.com>
2025-09-26 16:58:03 -04:00
..
client.py Add Scalekit Provider for Enterprise Authentication (#1927) 2025-09-26 16:58:03 -04:00
README.md Add Scalekit Provider for Enterprise Authentication (#1927) 2025-09-26 16:58:03 -04:00
server.py Add Scalekit Provider for Enterprise Authentication (#1927) 2025-09-26 16:58:03 -04:00

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
  • Navigate to DevelopersSettings
  • Copy your Environment URL, Client ID, and Client Secret

Register Your MCP Server:

  • Go to MCP ServersCreate 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_CLIENT_ID=<YOUR_APP_CLIENT_ID> # skc_7008EXAMPLE46
SCALEKIT_RESOURCE_ID=<YOUR_APP_RESOURCE_ID> # res_926EXAMPLE5878
MCP_URL=http://localhost:8000/mcp

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:

  1. Attempt to connect to the server
  2. Detect that OAuth authentication is required
  3. Open a browser for Scalekit authentication
  4. Complete the OAuth flow and connect to the server
  5. Demonstrate calling authenticated tools