Skip to main content
Glama

Figma MCP Server

MIT License
106,929
10,969
  • Linux
  • Apple
integration.test.ts2 kB
import { createServer } from "../mcp/index.js"; import { config } from "dotenv"; import { InMemoryTransport } from "@modelcontextprotocol/sdk/inMemory.js"; import { Client } from "@modelcontextprotocol/sdk/client/index.js"; import { CallToolResultSchema } from "@modelcontextprotocol/sdk/types.js"; import yaml from "js-yaml"; import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; config(); describe("Figma MCP Server Tests", () => { let server: McpServer; let client: Client; let figmaApiKey: string; let figmaFileKey: string; beforeAll(async () => { figmaApiKey = process.env.FIGMA_API_KEY || ""; if (!figmaApiKey) { throw new Error("FIGMA_API_KEY is not set in environment variables"); } figmaFileKey = process.env.FIGMA_FILE_KEY || ""; if (!figmaFileKey) { throw new Error("FIGMA_FILE_KEY is not set in environment variables"); } server = createServer({ figmaApiKey, figmaOAuthToken: "", useOAuth: false, }); client = new Client( { name: "figma-test-client", version: "1.0.0", }, { capabilities: { tools: {}, }, }, ); const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair(); await Promise.all([client.connect(clientTransport), server.connect(serverTransport)]); }); afterAll(async () => { await client.close(); }); describe("Get Figma Data", () => { it("should be able to get Figma file data", async () => { const args: any = { fileKey: figmaFileKey, }; const result = await client.request( { method: "tools/call", params: { name: "get_figma_data", arguments: args, }, }, CallToolResultSchema, ); const content = result.content[0].text as string; const parsed = yaml.load(content); expect(parsed).toBeDefined(); }, 60000); }); });

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/GLips/Figma-Context-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server