mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-09 07:09:11 +02:00
* Add examples/ to ty static-analysis gate * Fix example type errors and stale SDK idioms for ty * Use typing_extensions.TypedDict for the quiz tool-param type Question is a take_quiz parameter, so FastMCP builds a Pydantic schema for it; typing.TypedDict raises PydanticUserError on Python 3.10/3.11 (only 3.12+ accepts it). ty and 3.12 runs miss this, so it slipped in. * Guard get_access_token() None case in huggingface_oauth example Caught by the ty gate this PR adds: the example, merged separately, had never been type-checked against examples/. Matches the existing aws_oauth/keycloak_oauth pattern. * Print actual YAML text in custom serializer example |
||
|---|---|---|
| .. | ||
| client.py | ||
| README.md | ||
| server.py | ||
Hugging FAce OAuth Example
Demonstrates FastMCP server protection with Hugging Face OAuth.
Setup
-
Create a Hugging Face OAuth App:
- Go to Hugging Face Settings > Connected Apps > Create App (
https://huggingface.co/settings/applications/new) - Set Authorization callback URL to:
http://localhost:8000/auth/callback - Copy the Client ID and Client Secret
- Go to Hugging Face Settings > Connected Apps > Create App (
-
Set environment variables:
export FASTMCP_SERVER_AUTH_HF_CLIENT_ID="your-client-id" export FASTMCP_SERVER_AUTH_HF_CLIENT_SECRET="your-client-secret" -
Run the server:
python server.py -
In another terminal, run the client:
python client.py
The client will open your browser for Hugging Face authentication.