fix(mcp): scope auth status to server URL (#33924)

This commit is contained in:
Aiden Cline 2026-06-25 16:26:00 -05:00 committed by GitHub
commit 3fbc005f26
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 49 additions and 21 deletions

View file

@ -227,6 +227,38 @@ mcpTest.instance("state() returns existing state when one is saved", () =>
}),
)
mcpTest.instance(
"auth status only reports credentials stored for the configured server URL",
() =>
Effect.gen(function* () {
const mcp = yield* MCP.Service
expect(transportCalls).toHaveLength(0)
yield* McpAuth.use.updateTokens(
"test-status-url",
{ accessToken: "old-token" },
"https://old.example.com/mcp",
)
expect(yield* mcp.getAuthStatus("test-status-url")).toBe("not_authenticated")
yield* McpAuth.use.updateTokens(
"test-status-url",
{ accessToken: "current-token" },
"https://example.com/mcp",
)
expect(yield* mcp.getAuthStatus("test-status-url")).toBe("authenticated")
yield* McpAuth.use.updateTokens(
"test-status-url",
{ accessToken: "expired-token", expiresAt: 1 },
"https://example.com/mcp",
)
expect(yield* mcp.getAuthStatus("test-status-url")).toBe("expired")
expect(transportCalls).toHaveLength(0)
}),
{ config: config("test-status-url") },
)
mcpTest.instance(
"authenticate() stores a connected client when auth completes without redirect",
() =>