You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[FEATURE]: Add OpenCode as a supported client for the Figma remote MCP server #54805
I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request
Request: allow OpenCode to connect to the Figma remote MCP server (https://mcp.figma.com/mcp) so users can sign in with their Figma account and use Figma design context (variables, components, layout, screenshots) in OpenCode sessions. This would mean adding OpenCode to the Figma MCP Catalog, which Figma currently requires for remote client access.
Current behavior (observed with OpenCode 2.0.27 on macOS):
opencode mcp list reports figma needs authentication.
Sign-in fails before the browser login step: the server returns 401 on the unauthenticated request (expected), then the OAuth Dynamic Client Registration request to https://api.figma.com is rejected with HTTP 403 Forbidden. Figma's docs say only catalog clients can connect to the remote server.
Why this matters: Figma's MCP server is the most complete source of design context for code generation, and OpenCode users currently have no supported way to use it with the remote server. The desktop server (http://127.0.0.1:3845/mcp) is a workaround for local use, but it needs the Figma desktop app running and has a separate tool set.
Possible implementation options on the OpenCode side (if Figma approves the client):
Document the remote setup (opencode mcp add with --url https://mcp.figma.com/mcp) once access is granted.
Show a clearer message when Dynamic Client Registration is rejected, pointing to the MCP client access requirement, instead of the generic "requires a login before it can register a client" error.
Thanks for the detailed write-up, @mkrishnan-codes! To restate the request: you'd like OpenCode to work with Figma's remote MCP server (https://mcp.figma.com/mcp), which means getting OpenCode into the Figma MCP Catalog. You'd also like a clearer error when a server rejects Dynamic Client Registration, instead of the generic "requires a login before it can register a client" message.
The 403 comes from Figma, which only allows registration from catalog clients, so most of this depends on Figma approving OpenCode. Maintainers will consider both parts.
In the meantime, OpenCode 2.x lets you set oauth.client_id (and optionally oauth.client_secret) on a remote MCP server in your config. When that's set, OpenCode skips Dynamic Client Registration and uses the configured client instead.
Figma works in OpenCode V2 now through our officially supported MCP client. It uses a published, Figma-approved app, and we’ll announce it more publicly soon.
We’ll also have a plugin registry and npm installation soon. For now, install the plugin from Git:
Appreciate this, @rekram1-node! I tried authenticating after adding the plugin, but hit this error message: OAuth app with client id <xxxx> doesn't exist
Any idea what might be causing it?
Reacted by Matthieu Debrit, Janusz Wozniak, David, Bernhard Berger, Sergio Ramagnoli and Zaur Bairamau
There’s no oauth.client_id or client_secret configured for it. The native OAuth flow returns a Figma authorization URL with PKCE (S256), but opening it gives:
OAuth app with client id doesn’t exist
That ID isn’t in my config or saved credentials, and it doesn’t match the legacy client. No token has been saved for the official connection.
The callback is http://127.0.0.1:19877/callback, but the failure happens on Figma’s authorization page before reaching it.
Could this be reopened or tracked as a separate bug? The official connection still isn’t usable here. Is the app-scoped registration endpoint issuing an ID that the authorization endpoint doesn’t recognise?
Tested again with a fresh OpenCode 2.0.28 instance, only the official plugin, and no saved credentials or manual MCP configuration. The plugin created figma itself. Native sign-in still fails with “OAuth app with client id doesn't exist”.
Okay now it should be fixed worked w/ figma should all be simple and easy now, if u update the plugin. You can update using /plugins -> select figma plugin -> ctrl+r to check for updates -> ctrl+u to update
If it still doesnt work plz let me know and I will discuss with them further
Even just this in ur mcp config should work now too (the plugin bundles official figma skills as per their request, and matches how codex and cc figma plugins work)
Activity
opencode-agent commentedon Oct 12, 2026
Thanks for the detailed write-up, @mkrishnan-codes! To restate the request: you'd like OpenCode to work with Figma's remote MCP server (
https://mcp.figma.com/mcp), which means getting OpenCode into the Figma MCP Catalog. You'd also like a clearer error when a server rejects Dynamic Client Registration, instead of the generic "requires a login before it can register a client" message.The 403 comes from Figma, which only allows registration from catalog clients, so most of this depends on Figma approving OpenCode. Maintainers will consider both parts.
Related history:
In the meantime, OpenCode 2.x lets you set
oauth.client_id(and optionallyoauth.client_secret) on a remote MCP server in your config. When that's set, OpenCode skips Dynamic Client Registration and uses the configured client instead.rekram1-node commentedon Oct 13, 2026
Figma works in OpenCode V2 now through our officially supported MCP client. It uses a published, Figma-approved app, and we’ll announce it more publicly soon.
We’ll also have a plugin registry and npm installation soon. For now, install the plugin from Git:
opencode plugin add 'git+https://github.com/anomalyco/opencode.git#path:packages/plugins/figma'The plugin sets up the approved Figma endpoint and official skills. Then open
/mcps, selectfigma, and sign in with your Figma account.If you previously configured Figma manually, remove the old
mcp.servers.figmaentry first so the plugin can use the approved endpoint.V2 setup: https://opencode.ai/v2/docs/
mkrishnan-codes commentedon Oct 13, 2026
Appreciate this, @rekram1-node! I tried authenticating after adding the plugin, but hit this error message:
OAuth app with client id <xxxx> doesn't existAny idea what might be causing it?
bernhardberger commentedon Oct 13, 2026
I’m hitting this too on OpenCode 2.0.28 on Linux, using the official Figma plugin from the
v2.0.28source.I kept my working legacy login and added a separate
figma-officialconnection pointing to the approved endpoint:https://mcp.figma.com/mcp/8CKW0Mgge6TtIHM5ko0YxQThere’s no
oauth.client_idorclient_secretconfigured for it. The native OAuth flow returns a Figma authorization URL with PKCE (S256), but opening it gives:That ID isn’t in my config or saved credentials, and it doesn’t match the legacy client. No token has been saved for the official connection.
The callback is
http://127.0.0.1:19877/callback, but the failure happens on Figma’s authorization page before reaching it.Could this be reopened or tracked as a separate bug? The official connection still isn’t usable here. Is the app-scoped registration endpoint issuing an ID that the authorization endpoint doesn’t recognise?
Tested again with a fresh OpenCode 2.0.28 instance, only the official plugin, and no saved credentials or manual MCP configuration. The plugin created
figmaitself. Native sign-in still fails with “OAuth app with client id doesn't exist”.rekram1-node commentedon Oct 13, 2026
Hmm will investigate...
rekram1-node commentedon Oct 13, 2026
Hmm talking to figma, something isnt right... dangit
rekram1-node commentedon Oct 14, 2026
Okay now it should be fixed worked w/ figma should all be simple and easy now, if u update the plugin. You can update using /plugins -> select figma plugin -> ctrl+r to check for updates -> ctrl+u to update
If it still doesnt work plz let me know and I will discuss with them further
rekram1-node commentedon Oct 14, 2026
Even just this in ur mcp config should work now too (the plugin bundles official figma skills as per their request, and matches how codex and cc figma plugins work)