Skip to main content
Glama

Figma MCP Server

by TimHolden
import { ResourceContents } from '@modelcontextprotocol/sdk/types'; import { Tool } from '@modelcontextprotocol/sdk/types'; export interface ToolHandler { listTools(): Promise<Tool[]>; callTool(name: string, args: any): Promise<{ content: Array<{ type: string; text: string; }>; }>; } export interface ResourceHandler { list(): Promise<any[]>; read(uri: string): Promise<ResourceContents[]>; watch(uri: string): Promise<void>; } export interface FigmaResource { uri: string; type: string; name: string; metadata?: { lastModified?: string; thumbnailUrl?: string; version?: string; [key: string]: any; }; } export interface FigmaFile { document: any; components: Record<string, any>; schemaVersion: number; styles: Record<string, any>; name: string; lastModified: string; thumbnailUrl: string; version: string; role: string; } export interface FigmaComponent { key: string; name: string; description: string; componentSetId?: string; documentationLinks?: string[]; } export interface FigmaVariable { id: string; name: string; key: string; variableCollectionId: string; resolvedType: string; description?: string; hiddenFromPublishing?: boolean; scopes: string[]; } export interface RequestOptions { method?: string; headers?: Record<string, string>; body?: string; } export interface ServerOptions { port?: number; host?: string; sessionTimeout?: number; rateLimitRequests?: number; rateLimitWindow?: number; } export type ServerState = 'starting' | 'running' | 'stopping' | 'stopped' | 'error'; export interface ServerStats { status: ServerState; connections: number; uptime: number; memory: NodeJS.MemoryUsage; sessions: number; }

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/TimHolden/figma-mcp-server'

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