Skip to main content
Glama

post_comment

Add comments to specific nodes in Figma files by specifying the file key, node ID, message, and pin coordinates, enabling precise design feedback integration.

Instructions

Post a comment on a node in a Figma file

Input Schema

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

Implementation Reference

  • The primary handler function for the 'post_comment' tool. It invokes the helper function to post the comment via Figma API and returns the result as tool content.
    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), }, ], }; }
  • Defines the Tool object for 'post_comment' including name, description, and detailed inputSchema for validation.
    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)
    Registers 'post_comment' (as POST_COMMENT) in the list of tools provided to the ListToolsRequest handler.
    server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: [ADD_FIGMA_FILE, VIEW_NODE, READ_COMMENTS, POST_COMMENT, REPLY_TO_COMMENT], }));
  • index.ts:280-289 (registration)
    Dispatch logic in the CallToolRequest handler that routes 'post_comment' calls 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); }
  • Helper function that performs the actual HTTP POST to Figma's comments API endpoint to create a comment.
    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; }

Other Tools

Related Tools

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