Skip to content

refactor(mcp)!: remove unauthenticated MCP access - #3371

Merged
datlechin merged 2 commits into
mainfrom
refactor/mcp-require-auth
Oct 12, 2026
Merged

datlechin merged 2 commits into
mainfrom
refactor/mcp-require-auth

Conversation

@datlechin

Copy link
Copy Markdown
Member

Why

With Require authentication off, any process or page that could reach 127.0.0.1 got the MCP server's read access with no token, and claude.ai and app.cursor.com are on the CORS allowlist. Turning the switch back on minted a Read & Write, all-connections, non-expiring "Default token" as a side effect.

Change

  • Removed the switch, its setting field, the anonymous loopback principal and the authenticator branch that admitted it. Every request needs a token, loopback included.
  • Removed the Default token mint and the session-only approval tier that existed only for the anonymous caller.
  • Breaking, no migration: a client that relied on no token gets 401 and needs a token or pairing. CHANGELOG has the entry.

Security: narrows access only. Nothing can reach the server that could not before.

Verified

MCPBearerTokenAuthenticatorTests asserts a loopback request with no token gets 401; the approval and ledger suites run on issued principals only.

Docs: TableProApp/docs#7

…auth

# Conflicts:
#	CHANGELOG.md
#	TablePro/Models/Settings/MCPSettings.swift
@datlechin
datlechin merged commit bde9119 into main Oct 12, 2026
7 of 10 checks passed
@datlechin
datlechin deleted the refactor/mcp-require-auth branch October 12, 2026 14:48
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