http-deploy

command
v1.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 22, 2026 License: MIT Imports: 8 Imported by: 0

README

HTTP deploy example (Smithery URL listing)

Host a streamable HTTP MCP server so users connect through Smitheryno Docker required on their machine (unlike the stdio MCPB bundle in smithery.yaml).

Path Purpose
/ Streamable HTTP MCP (POST JSON-RPC)
/health Platform health check
/.well-known/mcp/server-card.json Static metadata for Smithery scan / listing

Full Smithery guide: docs/SMITHERY.md.

Run locally

go run ./examples/http-deploy
# MCP: http://127.0.0.1:8080/

Optional public tunnel for Smithery testing:

ngrok http 8080
# Publish https://YOUR_SUBDOMAIN.ngrok-free.app (see below)

Deploy (no Docker for end users)

Build a single static binary (CGO_ENABLED=0 go build -o server . from this directory) or let a PaaS compile Go for you.

Render (native Go)
  1. New Web Service → connect this repo.
  2. Root directory: examples/http-deploy
  3. Build: go build -o server .
  4. Start: ./server
  5. Copy the https://….onrender.com URL.

Or use render.yaml if deploying via Render Blueprint.

Railway
cd examples/http-deploy
railway init
railway up

Railway sets PORT automatically; this example reads it.

Fly.io

From the repository root (Dockerfile needs tinymcp/ and go.mod):

fly launch --config fly.http.toml
fly deploy --config fly.http.toml

Live example: https://tiny-go-mcp-http.fly.dev → Smithery https://smithery.ai/servers/kioie/tiny-go-mcp-http

Publish on Smithery (URL)

  1. smithery auth login
  2. Ensure your deployment returns 200 on / for MCP initialize (and optionally serves the server card).
  3. Publish:
smithery mcp publish "https://YOUR_HOST" -n your-namespace/your-server

Use the exact public HTTPS origin Smithery should proxy (no trailing slash). MCP is served at /.

If scanning fails (WAF, auth wall), Smithery can use /.well-known/mcp/server-card.json — already included in this example.

Environment

Variable Default Description
PORT Set by most PaaS (e.g. Render, Railway)
TINY_GO_MCP_ADDR :8080 Listen address when PORT is unset
TINY_GO_MCP_VERBOSE Set to 1 for stderr startup logs

Documentation

Overview

Deployable streamable HTTP MCP for Smithery URL listing.

End users connect via Smithery — no Docker on their machine. You host this binary on any HTTPS platform (Render, Railway, Fly, etc.).

Run locally:

go run ./examples/http-deploy
ngrok http 8080   # optional: public URL for Smithery scan

Publish to Smithery (after HTTPS is live):

smithery auth login
smithery mcp publish "https://YOUR_HOST" -n your-namespace/your-server

See examples/http-deploy/README.md and docs/SMITHERY.md.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL