Skip to content

fix(mcp): stop counting requests without credentials toward the lockout - #3320

Merged
datlechin merged 1 commit into
mainfrom
fix/mcp-lockout-missing-header
Oct 10, 2026
Merged

datlechin merged 1 commit into
mainfrom
fix/mcp-lockout-missing-header

Conversation

@datlechin

Copy link
Copy Markdown
Member

Why

Five requests without an Authorization header inside 60 seconds locked every MCP client on the Mac out for 5 minutes. Every local client shares the loopback address key, so any local process could trigger it, and a client's normal probe, 401 challenge, retry-with-token flow (RFC 7235 §2.1) counted as a failed login.

Change

  • A request with no Authorization header gets the 401 challenge and is no longer counted toward the auth lockout. It never reaches token validation, so it cannot be used to guess a token.
  • A malformed header, a non-Bearer scheme, and an unknown, expired or revoked token still count. An active lockout still answers 429 to requests without a header.
  • Anonymous loopback with Require authentication off is unchanged.
  • Docs: the rate limits section now says what counts and that local clients share one lockout.

Verified

MCPBearerTokenAuthenticatorTests and MCPCompositeAuthenticatorTests: requests without a header never lock out and fail on main; bad credentials still lock out.

@mintlify

mintlify Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
TablePro 🟢 Ready View Preview Oct 10, 2026, 10:48 AM

💡 Tip: Enable Automations to automatically generate PRs for you.

@datlechin
datlechin merged commit 7ec8a10 into main Oct 10, 2026
11 checks passed
@datlechin
datlechin deleted the fix/mcp-lockout-missing-header branch October 10, 2026 10:54

This branch was successfully deployed

1 active deployment
staging - docs — 2c1db7a7 Deployed Oct 10, 2026 by mintlify[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant