We run a Model Context Protocol server on Cloud Run, built with fastmcp, sitting behind a custom domain on an HTTPS load balancer. It hadn't been redeployed in three months. When we finally shipped a routine release, every single request started failing with 421 Misdirected Request. No code changes. No infra changes we were aware of. Just a version bump.

This is the story of tracking that down, and why an unbounded fastmcp>=3.4.2 in pyproject.toml was the real culprit.

The symptom

After redeploying, every request through the custom domain returned:

HTTP/1.1 421 Misdirected Request