Skip to content

feat: Add FigJam support with figjam_elements tool#3

Open
bucz-co wants to merge 1 commit intooO:mainfrom
bucz-co:feat/figjam-support
Open

feat: Add FigJam support with figjam_elements tool#3
bucz-co wants to merge 1 commit intooO:mainfrom
bucz-co:feat/figjam-support

Conversation

@bucz-co
Copy link
Copy Markdown

@bucz-co bucz-co commented Mar 23, 2026

Summary

Adds FigJam board support to the MCP server, extending it beyond Figma design files.

  • New tool: figjam_elements with 5 operations:
    • create_sticky — create sticky notes with color, positioning, font size, author visibility
    • create_connector — connect nodes with elbowed/straight/curve lines, magnet positions, stroke styling
    • create_shape_with_text — create FigJam shapes (12 types: square, ellipse, diamond, database, etc.)
    • update_sticky — update text, color, position of existing stickies
    • update_shape_with_text — update text, fill, position of existing shapes
  • Bulk operations — all create/update ops support array parameters for batch processing
  • Parent container support — place elements inside FigJam sections
  • Plugin manifest — added figjam to editorType array

Why

The server currently only supports Figma design files. FigJam boards are widely used for brainstorming, user flows, and architecture diagrams. This PR enables AI agents to programmatically create and manage FigJam content — sticky notes for ideation, connectors for flowcharts, and shapes for diagrams.

Implementation

Follows existing codebase patterns:

  • FigjamHandler (server-side) uses UnifiedHandler with UnifiedParamConfigs
  • MANAGE_FIGJAM (plugin-side) uses BaseOperation.executeOperation pattern
  • Bulk operations use normalizeToArray + createBulkSummary utilities
  • Smart positioning fallback when coordinates not specified

Test plan

  • Create single sticky note with color and position
  • Bulk create 5 stickies with different colors in a row
  • Create connector between two stickies with elbowed line
  • Create shapes (database, ellipse, diamond) with text and fills
  • Update existing sticky text and color
  • Create elements inside a FigJam section (parentId)
  • Verify plugin runs in FigJam editor type

🤖 Generated with Claude Code

- Add figjam_elements tool with 5 operations: create_sticky, create_connector,
  create_shape_with_text, update_sticky, update_shape_with_text
- Support bulk operations for sticky notes and shapes with array parameters
- Add connector support with magnet positions, line types, and stroke styling
- Enable FigJam editor type in plugin manifest
- Support parent containers (sections) for organized board layouts

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant