Figma文件访问服务

一个提供标准化接口访问Figma文件和设计资源的模型上下文协议(MCP)服务器。

  • by paulvandermeijs
  • Rust
  • 本地部署
  • 12 星标
  • 更新于
在 GitHub 查看 paulvandermeijs/figma-mcp

使用说明

Figma MCP服务器

一种模型上下文协议(MCP)服务器,提供对Figma文件和 通过标准化界面设计资产。

特性

  • 文件访问:使用深度控制检索Figma文件结构
  • 节点导航:访问文件中的特定组件
  • 图像导出:以PNG、JPG、SVG或PDF格式导出设计资源
  • URL解析:从Figma URL中提取文件密钥
  • 深度管理:控制响应大小以防止令牌限制
  • 资源支持:导出的图像可作为MCP资源使用 base64编码内容

安装

选项1:从crates.io安装(推荐)

cargo install figma-mcp

选项2:从源代码构建

git clone https://github.com/paulvandermeijs/figma-mcp.git
cd figma-mcp
cargo build --release

快速开始

  1. 从以下地址获取您的Figma令牌 开发人员设置

  2. 设置环境变量:

    export FIGMA_TOKEN="your_token_here"
    
  3. 运行服务器:

    # If installed via cargo install
    figma-mcp
    
    # If built from source
    cargo run --release
    

用法

工作流程

  1. 使用 parse_figma_url 从任何Figma URL中提取文件密钥
  2. 使用文件密钥和其他工具访问文件数据
  3. 使用深度参数控制响应大小

可用工具

  • parse_figma_url -从Figma URL中提取文件密钥
  • get_file -获取文件结构(带深度控制)
  • get_file_nodes -获取特定节点(具有深度控制)
  • export_images -从节点导出图像
  • get_me -测试身份验证
  • help -使用说明

资源

导出的图像会自动作为MCP资源可用:

  • 列出资源以查看所有导出的图像
  • 读取资源以获取base64编码的图像数据
  • 资源URI: figma://file/{file_key}/node/{node_id}.{format}

深度参数

  • 深度=1 (默认):仅页面(文件)或直接子节点(节点)
  • 深度=2:页面+顶级对象或子对象+子对象
  • 深度=3+:更深入的遍历(小心使用)

支持的URL

  • https://www.figma.com/file/FILE_ID/filename
  • https://www.figma.com/design/FILE_ID/filename
  • 带有节点ID的URL: ?node-id=1%3A2

发展

cargo test          # Run tests
RUST_LOG=info cargo run  # Run with logging

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。