Skip to main content
Retrieves annotation data from Figma’s native annotation system. Annotations can be filtered to a specific node and optionally include category information.

Parameters

nodeId
string
required
Node ID to get annotations for a specific node and its children
includeCategories
boolean
default:true
Whether to include category information in the response. Categories define the type of annotation (e.g., “Design”, “Development”, “Content”).

Response

Returns a JSON object containing:
  • annotations: Array of annotation objects with:
    • id: Unique annotation identifier
    • nodeId: ID of the annotated node
    • labelMarkdown: Annotation text in markdown format (supports bold, italic, links, etc.)
    • categoryId: Optional category identifier
    • properties: Array of additional annotation properties
  • categories (when includeCategories: true): Array of available annotation categories with:
    • id: Category identifier
    • name: Category display name
    • color: Category color

Usage

const result = await get_annotations({
  nodeId: "123:456",
  includeCategories: true
});

Use Cases

Audit existing annotations

Before adding new annotations, scan to see what’s already annotated:
const existingAnnotations = await get_annotations({
  nodeId: selectedFrameId,
  includeCategories: true
});

console.log(`Found ${existingAnnotations.annotations.length} annotations`);
console.log(`Available categories:`, existingAnnotations.categories);

Find annotation targets

Use with scan_nodes_by_types to identify which elements need annotations:
// Get current annotations
const { annotations, categories } = await get_annotations({
  nodeId: frameId,
  includeCategories: true
});

// Find all potential annotation targets
const targets = await scan_nodes_by_types({
  nodeId: frameId,
  types: ["COMPONENT", "INSTANCE", "FRAME"]
});

// Find unannotated elements
const annotatedNodeIds = new Set(annotations.map(a => a.nodeId));
const unannotated = targets.matchingNodes.filter(
  node => !annotatedNodeIds.has(node.id)
);

Markdown Support

Annotation labels support markdown formatting:
  • Bold text: **bold**
  • Italic text: *italic*
  • Links: [link text](https://example.com)
  • Code: `code`
  • Lists and more
This allows rich, formatted annotation content directly in Figma.

set_annotation

Create or update a single annotation

set_multiple_annotations

Batch create/update multiple annotations

scan_nodes_by_types

Find nodes that need annotations

Build docs developers (and LLMs) love