figma-console-mcp-with-slides
v1.0.2
Published
MCP server for Figma — console logs, design tools, and Figma Slides support
Maintainers
Readme
Figma Console MCP — with Slides Support
Your design system as an API — now with Figma Slides. Model Context Protocol server that bridges design and development, giving AI assistants complete access to Figma for extraction, creation, debugging, and presentations.
This is a fork of southleft/figma-console-mcp that adds full support for Figma Slides — Figma's presentation product.
What's New: Figma Slides Support
This fork adds 15 new MCP tools for working with Figma Slides presentations:
| Tool | Description |
|------|-------------|
| figma_list_slides | List all slides with IDs, names, positions, skip status |
| figma_get_slide_content | Get full node tree of a slide |
| figma_create_slide | Create a new blank slide |
| figma_delete_slide | Delete a slide |
| figma_duplicate_slide | Clone a slide |
| figma_get_slide_grid | Get 2D grid layout |
| figma_reorder_slides | Reorder via new grid |
| figma_set_slide_transition | Set transition effect (dissolve, push, slide, smart animate, etc.) |
| figma_get_slide_transition | Read transition settings |
| figma_set_slides_view_mode | Toggle grid/single-slide view |
| figma_get_focused_slide | Get currently focused slide |
| figma_focus_slide | Navigate to a specific slide |
| figma_skip_slide | Toggle skip in presentation mode |
| figma_add_text_to_slide | Add text element to a slide |
| figma_add_shape_to_slide | Add rectangle/ellipse to a slide |
Plus all 56+ existing tools from the original project for design files — variables, components, styles, console debugging, screenshots, and more.
Quick Start
Prerequisites
- Node.js 18+ — Check with
node --version(Download) - Figma Desktop installed (not the web app)
- An MCP client — Claude Code, Claude Desktop, Cursor, Windsurf, etc.
Step 1: Get Your Figma Token
- Go to figma.com/developers/api#access-tokens
- Click "Get personal access token"
- Copy the token (starts with
figd_)
Step 2: Configure Your MCP Client
Claude Code (CLI):
claude mcp add figma-console -s user -e FIGMA_ACCESS_TOKEN=figd_YOUR_TOKEN -e ENABLE_MCP_APPS=true -- npx -y figma-console-mcp-with-slidesClaude Desktop / Cursor / Windsurf:
Add to your MCP config file:
{
"mcpServers": {
"figma-console": {
"command": "npx",
"args": ["-y", "figma-console-mcp-with-slides"],
"env": {
"FIGMA_ACCESS_TOKEN": "figd_YOUR_TOKEN_HERE",
"ENABLE_MCP_APPS": "true"
}
}
}
}Where to Find Your Config File
| App | macOS | Windows |
|-----|-------|---------|
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json | %APPDATA%\Claude\claude_desktop_config.json |
| Claude Code | ~/.claude.json | %USERPROFILE%\.claude.json |
| Cursor | ~/.cursor/mcp.json | %USERPROFILE%\.cursor\mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | %USERPROFILE%\.codeium\windsurf\mcp_config.json |
Step 3: Connect the Desktop Bridge Plugin
- Open Figma Desktop
- Go to Plugins → Development → Import plugin from manifest...
- Navigate to the
figma-desktop-bridge/manifest.jsoninside the package directory - Run the plugin in your Figma file — it auto-connects via WebSocket
For Slides: Open a Figma Slides file and run the plugin there. The bridge now supports both Design and Slides editor types.
Finding the plugin manifest with npx:
# Find where npm installed the package
npm root -g
# Then look for: figma-console-mcp-with-slides/figma-desktop-bridge/manifest.jsonStep 4: Restart Your MCP Client
Restart Claude Desktop (or your MCP client) to load the new configuration.
Step 5: Test It
Test connection:
Check Figma statusTest Slides (in a Slides file):
List all slides in my presentationTest Design (in a Design file):
Create a simple frame with a blue backgroundExample Prompts for Slides
List all slides in my presentationCreate a new slide and add a title "Q3 Revenue" at the top center with font size 48Set a dissolve transition on all slides with 0.5 second durationAdd a blue rectangle background to the first slideDuplicate slide 3 and move it to the endSkip slides 2 and 4 from the presentationShow me the slide grid layoutAll Available Tools
Slides (New)
figma_list_slides— List all slidesfigma_get_slide_content— Get slide node treefigma_create_slide— Create new slidefigma_delete_slide— Delete a slidefigma_duplicate_slide— Clone a slidefigma_get_slide_grid— Get grid layoutfigma_reorder_slides— Reorder slidesfigma_set_slide_transition— Set transitionfigma_get_slide_transition— Get transitionfigma_set_slides_view_mode— Toggle view modefigma_get_focused_slide— Get focused slidefigma_focus_slide— Focus a slidefigma_skip_slide— Toggle skipfigma_add_text_to_slide— Add textfigma_add_shape_to_slide— Add shape
Navigation & Status
figma_navigate— Open Figma URLsfigma_get_status— Check connection status
Console Debugging
figma_get_console_logs— Retrieve console logsfigma_watch_console— Real-time log streamingfigma_clear_console— Clear log bufferfigma_reload_plugin— Reload current page
Visual Debugging
figma_take_screenshot— Capture screenshots
Design System Extraction
figma_get_variables— Extract design tokens/variablesfigma_get_component— Get component datafigma_get_component_for_development— Component + image for code genfigma_get_component_image— Render component as imagefigma_get_styles— Color, text, effect stylesfigma_get_file_data— Full file structurefigma_get_file_for_plugin— Optimized file data for plugins
Design Creation
figma_execute— Run any Figma Plugin API codefigma_arrange_component_set— Organize variantsfigma_set_description— Document components
Design-Code Parity
figma_check_design_parity— Compare Figma vs codefigma_generate_component_doc— Generate component docs
Variable Management
figma_create_variable_collection— Create collectionsfigma_create_variable— Create variablesfigma_update_variable— Update valuesfigma_rename_variable— Rename variablesfigma_delete_variable— Delete variablesfigma_delete_variable_collection— Delete collectionsfigma_add_mode— Add modesfigma_rename_mode— Rename modesfigma_batch_create_variables— Batch create (up to 100)figma_batch_update_variables— Batch update (up to 100)figma_setup_design_tokens— Create complete token system
Node Manipulation
figma_resize_node— Resize nodesfigma_move_node— Move nodesfigma_set_fills— Set fill colorsfigma_set_strokes— Set strokesfigma_clone_node— Duplicate nodesfigma_delete_node— Delete nodesfigma_rename_node— Rename nodesfigma_set_text— Set text contentfigma_create_child— Create child nodes
Comments
figma_get_comments— Get file commentsfigma_post_comment— Post commentsfigma_delete_comment— Delete comments
Desktop Bridge Plugin
The Desktop Bridge plugin connects Figma Desktop to the MCP server via WebSocket. It supports:
- Figma Design files — full access to components, variables, styles
- Figma Slides files — full access to slides, transitions, content
- Figma Dev Mode — inspect mode support
The plugin auto-connects by scanning ports 9223–9232, supporting multiple simultaneous MCP server instances.
Differences from the Original
This package (figma-console-mcp-with-slides) is a fork of figma-console-mcp with the following additions:
- 15 Figma Slides tools — Full CRUD for slides, transitions, content, and navigation
- Updated Desktop Bridge plugin —
editorTypeincludes"slides"so the plugin loads in Slides files - Editor-type guards — Plugin startup gracefully handles the absence of Variables and Components APIs in Slides context
All other features from the original package are preserved and work identically.
Development
git clone https://github.com/Tonihaydamous/figma-console-mcp-with-slides.git
cd figma-console-mcp-with-slides
npm install
npm run build:localConfigure your MCP client to point at the local build:
{
"mcpServers": {
"figma-console": {
"command": "node",
"args": ["/absolute/path/to/figma-console-mcp-with-slides/dist/local.js"],
"env": {
"FIGMA_ACCESS_TOKEN": "figd_YOUR_TOKEN_HERE",
"ENABLE_MCP_APPS": "true"
}
}
}
}License
MIT — See LICENSE file for details.
