page:recipes:mcp server:gin:response streaming

Host mcp server with Gin: streamed responses

Summary

Deploy a mcp server built with Gin on Ample using the streaming response service pattern. Compute runs the app in an isolated microVM behind a public HTTPS URL, a managed PostgreSQL 16 database is auto-provisioned and injected as DATABASE_URL. Verified on Gin: a Server-Sent Events endpoint read incrementally through the public HTTPS gateway: five one-second chunks arrived spread over time with the first within seconds (not buffered), a 70-second stream of 36 chunks completed past common 60-second idle timeouts, and a client that disconnected after two chunks was observed and recorded by the server (disconnected=true). Not separately tested: your event schema, reconnection strategy and any per-request duration ceiling beyond the 70 seconds measured; treat the mcp server-specific behavior as your application code.

Framework

Gin

Workload

MCP server

Release Status

published

Support Status

verified

Execution Status

ready

Prerequisites

Tested Configuration

Resource Requirements

Infrastructure Requirements

Workflow Steps

  1. Build and start: CGO_ENABLED=0 go build -o app ./... then ./app on the ubuntu-24.04 template (go.sum committed for a reproducible build). The server must bind 0.0.0.0 on PORT.
  2. Implement the pattern on PostgreSQL: The fixture's module implements streaming response service: a Server-Sent Events endpoint read incrementally through the public HTTPS gateway...
  3. Deploy: Run the synchronous deploy once and read the result (exit 0 live, 1 failed, 2 blocked). Re-running with no change is a no-op.
    • Command: ample deploy . --name --public
  4. Verify: Fetch the live URL and the pattern self-test route(s) from the example; then run your own checks.
    • Command: ample logs --kind build

Examples

Success Checks

Limitations

Cost Estimate

Evidence Summary

Unknowns

Next Actions