Skip to main content
Glama

post_comment

Add comments to specific elements in Figma files to provide feedback, ask questions, or mark design areas for review.

Instructions

Post a comment on a node in a Figma file

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
file_keyYesThe key of the Figma file
node_idNoThe ID of the node to comment on. Node ids have the format `<number>:<number>`
messageYesThe comment message
xYesThe x coordinate of the comment pin
yYesThe y coordinate of the comment pin

Implementation Reference

  • Primary handler function for the post_comment tool. It calls the Figma API helper and formats the response as MCP CallToolResult.
    async function doPostComment( fileKey: string, message: string, x: number, y: number, nodeId?: string ): Promise<CallToolResult> { const data = await postComment(fileKey, message, x, y, nodeId); return { content: [ { type: "text", text: JSON.stringify(data, null, 2), }, ], }; }
  • Tool definition for post_comment, including name, description, and detailed input schema.
    const POST_COMMENT: Tool = { name: "post_comment", description: "Post a comment on a node in a Figma file", inputSchema: { type: "object", properties: { file_key: { type: "string", description: "The key of the Figma file", }, node_id: { type: "string", description: "The ID of the node to comment on. Node ids have the format `<number>:<number>`", }, message: { type: "string", description: "The comment message", }, x: { type: "number", description: "The x coordinate of the comment pin", }, y: { type: "number", description: "The y coordinate of the comment pin", }, }, required: ["file_key", "message", "x", "y"], }, };
  • index.ts:138-140 (registration)
    Registration of the POST_COMMENT tool in the listTools request handler.
    server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: [ADD_FIGMA_FILE, VIEW_NODE, READ_COMMENTS, POST_COMMENT, REPLY_TO_COMMENT], }));
  • Dispatch handler in CallToolRequestSchema that routes post_comment requests to the doPostComment function.
    if (request.params.name === "post_comment") { const input = request.params.arguments as { file_key: string; node_id?: string; message: string; x: number; y: number; }; return doPostComment(input.file_key, input.message, input.x, input.y, input.node_id); }
  • Core helper function that performs the actual HTTP POST request to the Figma Comments API.
    export async function postComment( fileKey: string, message: string, x: number, y: number, nodeId?: string ) { const response = await axios.post( `https://api.figma.com/v1/files/${fileKey}/comments`, { message, client_meta: { node_offset: { x, y }, node_id: nodeId }, }, { headers: { "X-FIGMA-TOKEN": getFigmaApiKey(), "Content-Type": "application/json", }, } ); return response.data; }

Latest Blog Posts

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

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