Model Context Protocol — Go MCP server + Laravel MCP package
sleep() now computes exponential backoff as baseDelay * 2^N, caps at maxBackoffDelay (30s), then sleeps a randomized delay in [0, cap) using crypto/rand. Closes the thundering-herd vector where multiple concurrent clients on the same upstream all retry at exactly the same moments. Retry-After still goes through sleepFor() unmodified — server- specified delays are not jittered (the server told us when to come back; respect that). Cerberus #1055 from workspace-wide sniff. Tests: distinct jittered delays across two clients (assert different), Retry-After:2 sleeps exactly 2s, attempt=20 capped at maxBackoffDelay, 100ms+attempt=3 stays in [0, 800ms]. Co-authored-by: Codex <noreply@openai.com> Closes tasks.lthn.sh/view.php?id=1055 |
||
|---|---|---|
| .core | ||
| .github/workflows | ||
| cmd | ||
| docs | ||
| pkg/mcp | ||
| src/php | ||
| tests/cli/mcp | ||
| .gitattributes | ||
| .gitignore | ||
| CLAUDE.md | ||
| composer.json | ||
| EXCEPTIONS.md | ||
| go.mod | ||
| go.sum | ||
| README.md | ||
mcp
Model Context Protocol — Go MCP server + Laravel MCP package