diff --git a/packages/core/src/plugin/figma.ts b/packages/core/src/plugin/figma.ts index 28db26a7a9..0d8d966ee3 100644 --- a/packages/core/src/plugin/figma.ts +++ b/packages/core/src/plugin/figma.ts @@ -7,16 +7,16 @@ import { ConfigMCP } from "../config/mcp" import { MCP } from "../mcp/index" const CLIENT_ID = "3zVHNs9kINDDrk8loekLZV" +const CALLBACK_PORT = 19876 export function apply(server: typeof ConfigMCP.Server.Type) { if (server.type !== "remote" || server.oauth === false) return server if (!URL.canParse(server.url) || new URL(server.url).hostname !== "mcp.figma.com") return server - if (server.oauth?.client_id) return server if (server.oauth) { - Object.assign(server.oauth, { client_id: CLIENT_ID }) + Object.assign(server.oauth, { client_id: server.oauth.client_id ?? CLIENT_ID, callback_port: CALLBACK_PORT }) return server } - Object.assign(server, { oauth: { client_id: CLIENT_ID } }) + Object.assign(server, { oauth: { client_id: CLIENT_ID, callback_port: CALLBACK_PORT } }) return server } diff --git a/packages/core/test/plugin/figma.test.ts b/packages/core/test/plugin/figma.test.ts index 794a31e988..f150941985 100644 --- a/packages/core/test/plugin/figma.test.ts +++ b/packages/core/test/plugin/figma.test.ts @@ -12,19 +12,23 @@ describe("plugin.figma", () => { FigmaPlugin.apply(server) - expect(server.oauth).toEqual({ client_id: "3zVHNs9kINDDrk8loekLZV", scope: "mcp:connect" }) + expect(server.oauth).toEqual({ + client_id: "3zVHNs9kINDDrk8loekLZV", + callback_port: 19876, + scope: "mcp:connect", + }) }) test("preserves an existing client ID", () => { const server = new ConfigMCP.Remote({ type: "remote", url: "https://mcp.figma.com/mcp", - oauth: new ConfigMCP.OAuth({ client_id: "configured-client-id" }), + oauth: new ConfigMCP.OAuth({ client_id: "configured-client-id", callback_port: 4321 }), }) FigmaPlugin.apply(server) - expect(server.oauth).toEqual({ client_id: "configured-client-id" }) + expect(server.oauth).toEqual({ client_id: "configured-client-id", callback_port: 19876 }) }) test("does not enable OAuth or modify non-Figma servers", () => {