Support per-project OAuth sessions for MCP plugins (e.g. Figma)
Feature Request
Problem
Currently, MCP plugins that use OAuth authentication (like Figma) store a single global OAuth session. This means it's impossible to use different accounts in different projects.
Use Case
As a developer working on multiple projects for different organizations, I need to connect to different Figma accounts (different teams/orgs) depending on the project I'm working in. For example:
- Project A uses Figma account
user@company-a.com - Project B uses Figma account
user@company-b.com
Currently, I have to manually log out and log back in every time I switch projects, which breaks the workflow.
Proposed Solution
Allow OAuth sessions for MCP plugins to be scoped per project, similar to how mcpServers in .mcp.json or ~/.claude.json are already scoped per project path. This could be implemented as:
- Storing OAuth tokens per project path (e.g., keyed by project directory in
~/.claude.json) - Or allowing an optional
accountorprofilefield in the plugin config that maps to different stored sessions
Affected Plugins
Any HTTP MCP plugin using OAuth, including:
- Figma (
figma@claude-plugins-official) - Potentially Atlassian, Slack, and other OAuth-based MCP servers
Current Workaround
Manual logout/login via /mcp → select plugin → re-authenticate. This is not practical for frequent project switching.
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗