Skip to main content
Deploy a FastMCP server from GitHub to a protected URL like https://weather-mcp.fastmcp.app/mcp. Every successful build from your default branch redeploys it.

Create a server

Create a project with uv:
Replace main.py with:
main.py
Check that it loads. You should see the get_weather tool:
Push the project to a GitHub repository. For entrypoint and dependency details, see Build system.

Deploy on FastMCP Gateway

1

Sign in and create an organization

Sign in at horizon.prefect.io and create an organization when prompted.
2

Connect GitHub and choose a repository

Authorize the GitHub App, grant it access to your repository, and select it. See GitHub for details.
3

Configure the server

Name the server (this sets its {name}.fastmcp.app URL) and set the entrypoint to main.py:mcp. Optionally add environment variables.
4

Deploy

Create the server and watch the build logs. When the build succeeds, the server deploys to its URL.

Confirm it is live

Open the server’s Deployments page. Once the status reads Live, your server is serving at the URL shown there. FastMCP Gateway authentication is on by default, so callers must authenticate. To change that, see Authentication. Next, connect a client.