mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-23 14:04:18 +02:00
26 lines
712 B
Python
26 lines
712 B
Python
import random
|
|
|
|
from fastmcp import FastMCP
|
|
from fastmcp.server.auth import BearerAuthProvider
|
|
from fastmcp.server.auth.providers.bearer import RSAKeyPair
|
|
|
|
key_pair = RSAKeyPair.generate()
|
|
access_token = key_pair.create_token(audience="dice-server")
|
|
|
|
auth = BearerAuthProvider(
|
|
public_key=key_pair.public_key,
|
|
audience="dice-server",
|
|
)
|
|
|
|
mcp = FastMCP(name="Dice Roller", auth=auth)
|
|
|
|
|
|
@mcp.tool()
|
|
def roll_dice(n_dice: int) -> list[int]:
|
|
"""Roll `n_dice` 6-sided dice and return the results."""
|
|
return [random.randint(1, 6) for _ in range(n_dice)]
|
|
|
|
|
|
if __name__ == "__main__":
|
|
print(f"\n---\n\n🔑 Dice Roller access token:\n\n{access_token}\n\n---\n")
|
|
mcp.run(transport="sse", port=8000)
|