Prefect Horizon Deployment¶
Deploy the Distillery MCP server to Prefect Horizon, a managed MCP hosting platform purpose-built for FastMCP servers.
Prerequisites¶
- A Horizon account (sign in with GitHub)
- Horizon granted access to the
norrietaylor/distilleryrepository - Prefect CLI installed:
pip install prefect
Configuration Files¶
| File | Purpose |
|---|---|
deploy/prefect/prefect.yaml |
Horizon deployment manifest |
deploy/prefect/distillery.yaml |
Production config (MotherDuck storage, GitHub OAuth) |
Quick Start¶
1. Register a GitHub OAuth App¶
See Operator Deployment — Step 1 for detailed instructions.
2. Add Secrets in the Horizon Dashboard¶
| Secret | Purpose |
|---|---|
JINA_API_KEY |
Jina embedding API key |
GITHUB_CLIENT_ID |
GitHub OAuth app client ID |
GITHUB_CLIENT_SECRET |
GitHub OAuth app client secret |
MOTHERDUCK_TOKEN |
MotherDuck cloud DuckDB token |
DISTILLERY_BASE_URL |
Public server URL for OAuth callbacks |
DISTILLERY_CONFIG |
Path to config file (set to where Horizon places distillery.yaml) |
3. Deploy¶
From the repository root:
A live endpoint is available in ~60 seconds.
Architecture¶
| Aspect | Details |
|---|---|
| Transport | Streamable HTTP (FastMCP) |
| Storage | MotherDuck (cloud DuckDB) for shared multi-replica access |
| Auth | GitHub OAuth via FastMCP GitHubProvider + Horizon Gateway RBAC |
| Scaling | Stateless HTTP enables horizontal scaling across replicas |