Fly.io

More setup than Railway or Render, but gives fine-grained control over region, scaling, and resources.

1

Install flyctl and log in

$brew install flyctl # macOS
$fly auth login
2

Initialize the app

From the repo root:

$fly launch --no-deploy

Accept the generated fly.toml. Pick a region close to you.

3

Set your secrets

$fly secrets set \
> MCP_TRANSPORT=streamable-http \
> MCP_PORT=8080 \
> PARADEX_ENVIRONMENT=prod
4

Configure and deploy

Confirm the [[services]] block in fly.toml listens on port 8080 with health check path /health:

1[[services]]
2 internal_port = 8080
3 protocol = "tcp"
4
5 [[services.tcp_checks]]
6 grace_period = "10s"
7 interval = "30s"
8 restart_limit = 0
9 timeout = "5s"
10
11 [[services.http_checks]]
12 interval = "10s"
13 grace_period = "5s"
14 method = "GET"
15 path = "/health"
16 protocol = "http"
17 timeout = "2s"

Then deploy:

$fly deploy

Your endpoint will be https://<app-name>.fly.dev/mcp.

5

Connect your AI client

Paste the URL into your AI client’s MCP settings. See the Remote MCP quickstart for client-specific instructions.


Fly.io keeps one VM running by default (no cold starts). Use fly scale count 0 to pause billing, fly scale count 1 to resume. fly logs streams live logs.