1. 项目概述:当代码编辑器与设计工具开始“对话”

如果你是一名全栈开发者,或者是一位需要频繁在代码和设计稿之间切换的产品工程师,那么你一定对这样的场景不陌生:设计师在Figma里更新了一个按钮的圆角,从 8px 改成了 12px ,然后发来一条消息:“嘿,按钮样式更新了,代码记得同步一下哦。”于是你不得不停下手中的编码工作,切换到Figma,找到对应的组件,手动测量、记录新的样式数值,再切回代码编辑器,找到对应的CSS或样式文件,进行修改。这个过程不仅打断了你的“心流”状态,还容易因为手动操作而产生误差。 grab/cursor-talk-to-figma-mcp 这个项目,就是为了彻底解决这个“最后一公里”的痛点而诞生的。

简单来说,这是一个为Cursor编辑器设计的Model Context Protocol(MCP)服务器。它的核心使命,是让你能够直接在Cursor这个智能代码编辑器里,通过自然语言与你的Figma设计文件进行“对话”。你不再需要离开编辑器,不再需要手动复制粘贴。你可以直接问:“当前登录页面的主按钮是什么颜色?”或者直接下指令:“把首页Banner组件的所有文字颜色更新为设计稿里的最新值。” MCP服务器就像一位精通Figma API和设计系统的翻译官,在Cursor和Figma之间架起了一座实时、准确的数据桥梁。

这个项目的价值远不止于“偷懒”。它代表着开发工作流向“设计即代码,代码即设计”的终极协同迈进了一步。通过将设计系统的“单一可信源”——Figma——直接接入开发环境,它确保了UI实现的高度保真度,几乎消除了因沟通不畅或手动操作导致的视觉偏差。对于追求交付质量与效率的团队,尤其是践行DesignOps(设计运维)的团队,这不仅仅是一个工具,更是一种工作范式的升级。接下来,我将为你深度拆解这个项目的实现逻辑、实操细节以及如何让它成为你日常开发中不可或缺的“副驾驶”。

2. 核心架构与MCP协议深度解析

2.1 什么是MCP?为什么是Cursor的“能力扩展坞”?

要理解这个项目,首先得弄明白MCP是什么。Model Context Protocol,你可以把它想象成智能助手(比如Cursor内置的AI)的“外设接口标准”。在没有MCP之前,AI助手的能力被禁锢在它出厂时自带的模型知识库和有限的插件里。它知道如何写代码,但不知道你公司内部API的细节;它懂编程语法,但无法直接读取你Jira上的任务列表或Figma里的设计稿。

MCP协议就是为了打破这个壁垒而生的。它定义了一套标准化的通信方式,让第三方服务器(称为MCP Server)能够以一种AI模型能理解的结构化方式,向AI助手(MCP Client,如Cursor)提供额外的“工具”(Tools)和“数据”(Resources)。你可以把Cursor看作一台电脑的主机,而MCP Server就是你可以即插即用的外置显卡、声卡或采集卡,专门用于处理某一类特定任务。

为什么这个项目选择为Cursor开发MCP Server? Cursor以其深度集成AI辅助编程的能力迅速获得了开发者社区的青睐。它的“智能感知”不仅仅停留在代码补全,更延伸到了理解代码意图、重构、甚至根据注释生成代码片段。然而,它的原生能力依然局限于代码仓库本身。 grab/cursor-talk-to-figma-mcp 项目敏锐地捕捉到了这个生态位的空缺——将最流行的设计协同平台Figma的能力,以MCP的形式注入Cursor,从而创造出一个覆盖“从设计到代码”全链路的智能开发环境。这比开发一个独立的Figma插件或CLI工具更具沉浸感和流程颠覆性。

2.2 项目核心组件与数据流剖析

这个MCP Server的实现,本质上是一个Node.js应用,它扮演着双向代理和翻译器的角色。其核心架构围绕以下几个关键组件运转:

  1. Figma API客户端模块 :这是与Figma云服务通信的基石。项目会利用Figma官方提供的REST API,通过个人访问令牌(Personal Access Token)或OAuth进行认证。该模块封装了诸如 getFile (获取文件数据)、 getImage (导出资源图片)、 getComments (获取评论)等核心接口的调用。这里的一个关键优化点是处理Figma API的响应数据,因为其返回的JSON结构非常深层和详细,包含了完整的节点树、样式描述等信息,需要被精心解析和过滤。

  2. MCP协议适配层 :这是项目的“大脑”。它需要严格按照MCP协议的规范,将Figma的能力“翻译”成MCP定义的 Tool Resource

    • Tools(工具) :定义AI可以调用的具体操作。例如:
      • list_figma_files : 列出用户有权限访问的所有Figma文件。
      • get_figma_file_nodes : 获取特定文件中指定节点(或整个页面)的详细设计数据,包括尺寸、位置、颜色、字体、边框等样式属性。
      • export_figma_node_as_image : 将某个设计节点导出为PNG、SVG等格式的图片,并返回可访问的URL。
      • sync_styles_to_code : (这是一个高级且核心的想象工具)接收一段代码(如CSS、React组件)和设计节点ID,分析差异并建议或直接应用样式更新。
    • Resources(资源) :定义AI可以“读取”的静态或动态数据源。例如,可以将一个特定的Figma文件节点定义为一个Resource,其内容就是该节点的实时样式JSON。当AI需要参考设计稿时,它可以直接“读取”这个Resource,而无需显式调用Tool。
  3. Cursor(MCP Client)集成端 :项目需要提供清晰的配置说明,指导用户如何在Cursor的设置中配置这个MCP Server。通常,这需要在Cursor的配置文件(如 cursor.json 或设置UI)中指定MCP Server的启动命令(例如 npx -g figma-mcp-server )或本地运行脚本的路径,并传入必要的环境变量(如 FIGMA_ACCESS_TOKEN )。

完整的数据流 可以这样描述:

  • 开发者 在Cursor的聊天框中输入:“将 LoginButton 组件的样式更新为Figma里 Page 1 中的最新设计。”
  • Cursor AI 理解意图后,发现需要调用一个名为 sync_component_styles 的MCP Tool。它通过Stdio(标准输入输出)向本地运行的 figma-mcp-server 发送一个结构化的JSON-RPC请求。
  • MCP Server 收到请求,解析参数。它首先调用Figma API的 getFile 获取 Page 1 的数据,在节点树中定位到名为 LoginButton 的组件节点,提取其样式属性(颜色、间距、字体等)。
  • MCP Server 接着在用户的代码仓库中(通过请求中附带的文件路径或AI提供的上下文)找到对应的 LoginButton 组件代码(可能是React的 .tsx 文件或CSS文件)。
  • MCP Server 执行一个简单的差异对比(Diff),生成一组具体的代码变更建议,例如: border-radius: 8px -> 12px , background-color: #007AFF -> #0056CC
  • MCP Server 将这份变更建议或直接修改后的代码片段,通过JSON-RPC响应返回给Cursor AI。
  • Cursor AI 将结果呈现给开发者,并可能提供“一键应用”的选项。

注意 :上述 sync_styles_to_code 工具的实现复杂度很高,涉及设计Token到代码Token的映射、样式解析算法等。在初期版本中,更常见的实现是提供 get_design_specs 工具,返回结构化的样式数据,由开发者或AI手动处理。但这无疑是项目最具潜力的发展方向。

2.3 关键技术选型与依赖分析

这个项目通常基于Node.js生态构建,其技术选型体现了对稳定性、开发效率和协议兼容性的考量:

  • 运行时 :Node.js (>= 18.x)。选择Node.js是因为Figma官方API客户端库和大量的NPM工具包支持,能快速构建HTTP服务器和处理JSON数据。
  • 核心依赖
    • @modelcontextprotocol/sdk :这是构建MCP Server的官方SDK,提供了处理JSON-RPC通信、定义Tools和Resources的框架,是项目的基石。
    • axios node-fetch :用于向Figma API发起HTTP请求。相比原生 http 模块,它们提供了更友好、更强大的Promise-based接口和拦截器等功能。
    • figma-api (或直接使用REST API):虽然可以直接调用Figma REST API,但使用社区或官方维护的客户端库(如果存在)可以简化文件节点遍历、样式计算等操作。
  • 辅助工具库
    • dotenv :管理环境变量,安全地加载 FIGMA_ACCESS_TOKEN
    • zod joi :用于对MCP Tool的输入参数和Figma API的响应数据进行严格的模式验证和类型推断,确保数据格式正确,避免运行时错误。
    • prettier / eslint :保证代码风格统一和代码质量。

为什么选择JSON-RPC over STDIO? MCP协议规定了Server和Client通过Stdio进行通信。这是一种轻量、跨平台、无需网络端口的进程间通信方式,非常适合作为本地开发工具的扩展协议。数据以换行符分隔的JSON字符串形式传递,每个JSON对象都是一个遵循JSON-RPC 2.0规范的请求或响应。这种方式隔离性好,配置简单,只需在Cursor中配置启动命令即可。

3. 从零开始:环境配置与服务器部署实操

3.1 前期准备:获取Figma访问令牌

一切始于Figma的访问权限。你需要一个Personal Access Token来代表你的账户调用API。

  1. 登录你的Figma账号,进入右上角个人设置(Settings)。
  2. 在左侧菜单中找到“Account”下的“Personal access tokens”。
  3. 点击“Create new token”,为其取一个描述性的名字,例如“Cursor MCP Local Dev”。
  4. 在权限(Scopes)选择时,为了这个MCP Server能正常工作,至少需要勾选:
    • file_read :读取文件内容和节点信息。
    • file_write :(可选,如果你希望实现评论或更新某些元数据功能)写入评论等。
    • webhook :(可选,用于未来实现实时同步)管理webhook。
  5. 生成令牌后, 立即将其复制并妥善保存 。它只会显示这一次。请像保护密码一样保护它,不要提交到任何公开的代码仓库。

3.2 项目初始化与核心代码结构

假设你已经将 grab/cursor-talk-to-figma-mcp 项目克隆到本地,或者准备从一个空白目录开始搭建。让我们看看一个最简化的核心实现。

首先,初始化项目并安装依赖:

mkdir figma-mcp-server && cd figma-mcp-server
npm init -y
npm install @modelcontextprotocol/sdk axios dotenv zod

接下来,创建项目的基本结构:

figma-mcp-server/
├── .env                    # 存储环境变量(FIGMA_ACCESS_TOKEN)
├── .gitignore             # 忽略node_modules和.env
├── package.json
├── src/
│   ├── index.js           # 服务器主入口
│   ├── figma-client.js    # Figma API客户端封装
│   └── tools/             # 各个MCP Tool的实现
│       ├── listFiles.js
│       └── getFileNodes.js
└── README.md

核心入口文件 ( src/index.js ) 解析:

import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
import dotenv from 'dotenv';
import { listFilesTool } from './tools/listFiles.js';
import { getFileNodesTool } from './tools/getFileNodes.js';

// 1. 加载环境变量
dotenv.config();
const FIGMA_TOKEN = process.env.FIGMA_ACCESS_TOKEN;
if (!FIGMA_TOKEN) {
  console.error('错误:未找到 FIGMA_ACCESS_TOKEN 环境变量。请检查 .env 文件。');
  process.exit(1);
}

// 2. 创建MCP服务器实例
const server = new Server(
  {
    name: 'figma-mcp-server',
    version: '0.1.0',
  },
  {
    capabilities: {
      tools: {}, // 声明我们将提供Tools
    },
  }
);

// 3. 注册我们定义的Tools
server.setRequestHandler('tools/list', async () => ({
  tools: [listFilesTool.definition, getFileNodesTool.definition],
}));

// 处理具体的Tool调用
server.setRequestHandler('tools/call', async (request) => {
  const { name, arguments: args } = request.params;
  
  if (name === listFilesTool.definition.name) {
    return await listFilesTool.handler(args, FIGMA_TOKEN);
  }
  
  if (name === getFileNodesTool.definition.name) {
    return await getFileNodesTool.handler(args, FIGMA_TOKEN);
  }
  
  throw new Error(`未知的工具: ${name}`);
});

// 4. 启动服务器,使用Stdio传输
async function main() {
  const transport = new StdioServerTransport();
  await server.connect(transport);
  console.error('Figma MCP Server 已启动并运行在 stdio 上...');
}

main().catch((error) => {
  console.error('服务器启动失败:', error);
  process.exit(1);
});

这个入口文件完成了四件事:加载配置、创建服务器、注册工具、启动监听。它是一切通信的枢纽。

3.3 核心工具实现示例: listFiles getFileNodes

让我们深入一个具体工具的代码,看看如何将Figma API包装成MCP Tool。以 src/tools/listFiles.js 为例:

import axios from 'axios';

// 1. 定义Tool的元数据(名称、描述、参数模式)
export const definition = {
  name: 'list_figma_files',
  description: '获取用户有权限访问的所有Figma团队和项目中的文件列表。',
  inputSchema: {
    type: 'object',
    properties: {
      team_id: {
        type: 'string',
        description: '(可选)特定团队的ID。如果未提供,则返回所有团队的文件。',
      },
    },
  },
};

// 2. 实现Tool的处理函数
export const handler = async (args, figmaToken) => {
  const { team_id } = args || {};
  let url = 'https://api.figma.com/v1/files';
  // Figma API的/files端点实际上返回的是最近访问的文件。
  // 要获取团队文件,通常需要先调用 /v1/teams/{team_id}/projects 和 /v1/projects/{project_id}/files
  // 这里以获取“最近文件”为例,因为它最通用。
  
  try {
    const response = await axios.get('https://api.figma.com/v1/files', {
      headers: {
        'X-Figma-Token': figmaToken,
      },
      params: {
        page_size: 100, // 限制每页数量
      },
    });

    const files = response.data.files || [];
    
    // 构造MCP规范的响应
    return {
      content: [
        {
          type: 'text',
          text: `找到 ${files.length} 个最近访问的文件:\n` +
            files.map(file => `• [${file.name}](${file.url}) (Key: ${file.key})`).join('\n'),
        },
      ],
    };
  } catch (error) {
    console.error('调用Figma API失败:', error.response?.data || error.message);
    return {
      content: [
        {
          type: 'text',
          text: `获取文件列表失败: ${error.message}`,
        },
      ],
      isError: true,
    };
  }
};

getFileNodes 工具的实现会更复杂一些,因为它需要解析Figma返回的庞大节点树,并提取出对开发者有用的样式信息。它可能会接收 file_key node_ids 参数,调用Figma的 /v1/files/:key/nodes?ids=... 接口,然后对返回的数据进行“瘦身”和“转译”,例如将Figma的 { r: 0, g: 114, b: 255 } 颜色对象转换为CSS的 rgb(0, 114, 255) #0072FF

3.4 在Cursor中配置MCP Server

这是让一切生效的最后一步。Cursor的MCP配置通常在其设置文件(如 ~/.cursor/mcp.json 或通过UI设置)中完成。

  1. 确保你的MCP Server可执行 。你可以在 package.json 中添加一个启动脚本:

    "bin": {
      "figma-mcp": "./src/index.js"
    }
    

    然后通过 npm link 在全局创建一个软链接。或者,直接使用Node命令。

  2. 配置Cursor 。打开Cursor的设置,找到MCP(或Advanced)配置部分。添加一个新的服务器配置:

    {
      "mcpServers": {
        "figma": {
          "command": "node",
          "args": [
            "/ABSOLUTE/PATH/TO/YOUR/figma-mcp-server/src/index.js"
          ],
          "env": {
            "FIGMA_ACCESS_TOKEN": "YOUR_ACTUAL_TOKEN_HERE"
          }
        }
      }
    }
    

    重要安全提示 :将 YOUR_ACTUAL_TOKEN_HERE 替换为你的真实令牌。更好的做法是,在启动脚本中读取环境变量,而在配置中不写死令牌。例如, command 可以是一个shell脚本,该脚本负责导出环境变量后再启动Node程序。

  3. 重启Cursor 。配置完成后,完全重启Cursor编辑器,使其加载新的MCP Server。

  4. 验证连接 。在Cursor的AI聊天框中,尝试输入一些指令,比如“列出我的Figma文件”。如果配置成功,Cursor AI应该能理解并调用你注册的 list_figma_files 工具,返回文件列表。如果失败,请检查Cursor的错误日志(通常可以在开发者工具Console中查看),排查路径、权限或令牌问题。

4. 高级应用场景与定制化开发指南

4.1 场景一:自动化设计走查与代码审查

这是最直接的应用。在代码评审(Code Review)阶段,评审者可以要求AI“对比当前PR中 Button.tsx 组件与Figma设计稿 v2.0 Primary Button 的样式差异”。MCP Server接收到这个请求后,会执行以下操作:

  1. 从代码变更中提取 Button.tsx 的样式定义(可能是CSS-in-JS对象或CSS类)。
  2. 从Figma获取 Primary Button 组件节点的完整样式规范。
  3. 进行逐属性对比(颜色、字体、间距、边框等)。
  4. 生成一份差异报告,高亮显示不一致之处,例如:“代码中 padding 12px 24px ,而设计稿为 14px 28px ”。

实现这个功能的关键 在于建立一个可靠的“样式提取与映射层”。你需要解析不同前端技术栈的样式写法(CSS、Tailwind类、Styled-components、Inline styles等),并将其归一化为一个中间表示(Intermediate Representation),才能与Figma的样式数据进行公平比较。这可能需要集成像 postcss css-tree 这样的解析库。

4.2 场景二:设计Token与代码变量的双向同步

在成熟的设计系统中,Figma会使用样式库(Styles)和变量(Variables)来定义设计Token,如颜色、字体、间距等。对应的,代码库中也会有 tokens.css theme.ts 等文件。这个MCP Server可以升级为“设计Token同步器”。

  • Figma → 代码 :当设计师在Figma中更新了主色板,MCP Server可以监听文件变化(通过Webhook或定时轮询),自动生成对应的CSS变量、SCSS变量或JavaScript主题对象,并创建Git提交或PR。
  • 代码 → Figma :(更具挑战性)当开发者在代码中修改了一个设计Token的值,理论上也可以通过Figma API(如果支持)或插件来更新Figma中的变量。但这通常需要更复杂的权限和API支持。

实现此场景需要深入理解Figma Variables API和团队的设计-代码映射约定。一个可行的方案是维护一个 mapping.json 配置文件,明确记录 Figma变量ID 代码变量名 的对应关系。

4.3 场景三:基于设计稿的组件代码片段生成

这可能是AI辅助开发最令人兴奋的场景。开发者可以选中Figma画板中的一个卡片组件,然后在Cursor中说:“根据这个设计,生成一个React函数组件,使用TypeScript和Tailwind CSS。”

MCP Server需要:

  1. 获取选中节点的详细结构(图层树、文本内容、图片填充等)和样式。
  2. 将这些视觉信息“翻译”成合理的HTML结构和CSS类。这里需要大量的启发式规则:
    • Frame 节点翻译为 <div> <section>
    • 将带有文本的 Text 节点翻译为 <p> <h1> - <h6> <span>
    • Auto Layout 属性翻译为Flexbox或Grid的CSS。
    • 将颜色、字体等样式映射到Tailwind的类名(如 bg-blue-600 , text-lg )。
  3. 组装成一个完整的、可运行的组件代码片段。

这个功能的准确性高度依赖于设计稿的规范程度。使用Figma组件库、变量和自动布局(Auto Layout)的设计,其生成代码的质量和可维护性会远高于随意绘制的设计。

4.4 如何扩展与定制你自己的MCP Tool

项目的开源结构使得定制化变得容易。假设你想添加一个 create_figma_comment 工具,用于在代码评审时自动在相关设计节点上留下评论。

  1. src/tools/ 目录下创建新文件 ,例如 createComment.js 。参照现有工具的模式,定义 definition handler
  2. 定义参数模式 :需要 file_key node_id comment_message
    inputSchema: {
      type: 'object',
      required: ['file_key', 'node_id', 'message'],
      properties: {
        file_key: { type: 'string', description: 'Figma文件Key' },
        node_id: { type: 'string', description: '要评论的节点ID' },
        message: { type: 'string', description: '评论内容' },
      },
    }
    
  3. 实现handler :调用Figma API的 POST /v1/files/:key/comments 端点。
  4. 在主文件( index.js )中注册新工具 :导入它,并在 tools/list tools/call 处理器中添加对应的分支。
  5. 更新Cursor配置 (如果需要重启服务器)。

通过这种方式,你可以根据团队的具体工作流,无限扩展这个MCP Server的能力,例如集成Jira状态更新、触发部署、查询数据库Schema等。

5. 实战避坑与性能优化经验谈

在实际部署和使用过程中,你会遇到一些预料之外的问题。以下是我在搭建和测试类似集成时积累的一些关键经验。

5.1 认证与权限的坑

  • 令牌过期与刷新 :Figma的个人访问令牌(PAT)默认永不过期,但出于安全考虑,一些企业策略可能强制定期轮换。目前MCP协议本身不支持动态刷新令牌。一个务实的解决方案是,将令牌的获取逻辑外部化。例如,MCP Server启动时,调用一个本地的脚本或密钥管理服务(如系统的密钥链)来获取最新的令牌,而不是硬编码在配置中。
  • 权限不足 :确保你的Figma令牌拥有所有必要的 scopes 。如果你无法访问某个团队的文件,调用API会返回403错误。在错误处理中,需要清晰提示用户检查文件权限和令牌的团队范围。
  • 多用户环境 :如果你开发的MCP Server是给团队使用的,使用个人令牌就不合适了。需要引导每个团队成员生成自己的令牌并配置在本地。或者,探索使用Figma的OAuth 2.0流程,但这会极大增加MCP Server的复杂度,因为它需要实现一个Web回调端点。

5.2 性能与API限制

  • Figma API速率限制 :Figma API有严格的速率限制(通常每分钟数十到上百次请求,具体取决于套餐)。频繁地、无缓存地查询大文件会导致快速达到限流。 解决方案 是实现一个简单的内存缓存(如使用 node-cache )。对于 getFile 这类不常变化的数据,可以缓存5-10分钟。对于 getImage 导出的图片URL,其本身有一定有效期,也可以缓存。
  • 处理大型文件 :复杂的Figma文件节点树可能非常庞大(几MB甚至更大)。一次性获取整个文件并返回给Cursor AI,可能会导致响应缓慢或数据传输问题。 最佳实践 是:
    1. getFileNodes 工具中,强制要求提供 node_ids 参数,只获取特定节点的数据。
    2. 如果必须获取整个页面,在服务器端对返回的JSON进行“瘦身”,只提取前端开发关心的属性(如 absoluteBoundingBox , fills , strokes , characters , style ),过滤掉 vectorPaths , imageHash 等无关数据。
    3. 实现分页或增量加载,但这需要与Cursor AI的交互模式配合设计。
  • MCP Server启动速度 :如果Server启动慢,会影响Cursor的启动速度。确保你的入口文件没有繁重的同步初始化操作(如读取大配置文件、初始化数据库连接)。延迟初始化(Lazy Initialization)是个好策略。

5.3 错误处理与用户体验

  • 友好的错误信息 :不要将原始的Figma API错误或Node.js堆栈直接抛给用户。在 handler 函数中做好 try-catch ,将技术性错误转换为对用户友好的提示,例如:“无法访问该文件。请确认文件Key是否正确,以及您的访问令牌是否有权限。”
  • 输入验证与提示 :利用 zod 等库对Tool的输入参数进行严格验证。当用户未提供必需的 file_key 时,返回一个清晰的错误,并提示用户“请提供Figma文件的Key,你可以在文件URL中找到它( https://www.figma.com/file/<FILE_KEY>/... )”。
  • 超时处理 :为Figma API调用设置合理的超时(如10秒),并使用 axios timeout 配置或 Promise.race 。避免因为网络问题或Figma服务缓慢导致MCP Server无响应,进而拖死Cursor。

5.4 安全考量

  • 令牌安全 :这是重中之重。绝对不要在代码仓库、聊天记录或公开配置中暴露你的 FIGMA_ACCESS_TOKEN 。使用 .env 文件(并加入 .gitignore ),或系统的环境变量管理。在团队共享配置时,使用配置模板(如 mcp.json.example )让成员自行填写。
  • 本地运行 :MCP over Stdio是一个本地进程间通信协议,数据不经过网络,这本身是相对安全的。但要警惕,如果MCP Server本身有漏洞(例如未经验证执行任意命令),可能会被恶意构造的AI请求利用。确保你的Tool实现是纯净的,只做它该做的事。
  • 审计日志 :考虑在开发或调试阶段,为MCP Server添加简单的请求日志功能,记录哪些工具被调用、参数是什么、结果如何。这有助于调试复杂的工作流,但要注意日志中不要记录敏感信息(如令牌)。

6. 未来展望与生态融合的可能性

grab/cursor-talk-to-figma-mcp 项目打开了一扇门,它展示了一个高度集成的、以AI为中介的开发环境雏形。它的未来不仅限于Figma和Cursor。

多编辑器支持 :MCP协议是开放的。理论上,任何支持MCP Client的编辑器(如未来可能支持的VS Code、JetBrains IDE等)都可以接入这个Server,享受同样的Figma集成能力。

多数据源聚合 :一个MCP Server可以同时连接多个“上下文源”。想象一个“团队上下文服务器”,它同时连接了Figma(设计)、Jira(任务)、GitHub(代码)、Notion(文档)和内部API文档。开发者可以在编辑器里问:“关于Jira任务 PROJ-123 ,最新的设计稿是什么?相关的API接口文档在哪里?谁负责这个后端?” AI通过这一个MCP Server,就能聚合所有信息,给出综合答案。

从“查询”到“执行” :目前的工具多以“查询”和“获取”为主。未来的方向是“执行”。例如,AI不仅可以告诉你设计稿和代码的差异,还可以在获得确认后,自动创建一个包含所有必要样式修改的Git分支,并提交一个Pull Request。这需要MCP Server集成Git操作和更多的业务逻辑。

标准化与社区 :随着MCP协议的成熟,可能会出现一个像VS Code Extension Marketplace一样的MCP Server市场。开发者可以轻松搜索和安装“Figma集成”、“数据库Schema查看器”、“云资源管理器”等服务器,像安装插件一样丰富自己AI助手的能力。

这个项目的真正魅力在于,它不是一个封闭的解决方案,而是一个可扩展的框架和一种思维模式。它鼓励开发者将日常工作中繁琐的、需要上下文切换的任务,封装成一个个标准的、AI可理解的“工具”,从而将自己从重复劳动中解放出来,专注于更具创造性和战略性的工作。开始构建你自己的MCP Server,或许就是迈向这个未来的第一步。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐