MCP Hub
Back to servers

F_MCP

glama
Updated
Jan 29, 2026

F_MCP - Claude Code x Figma MCP

Claude Code에서 Figma를 직접 제어할 수 있는 MCP(Model Context Protocol) 브릿지입니다.

원본 프로젝트: grab/cursor-talk-to-figma-mcp (MIT License) 이 저장소는 원본을 Claude Code 환경에 맞게 수정한 fork입니다.

구조

Claude Code ←MCP→ 서버 (server.ts) ←WebSocket→ Figma 플러그인 (code.js)
구성요소파일역할
MCP 서버src/talk_to_figma_mcp/server.tsClaude Code와 Figma 사이 중계
WebSocket 서버src/socket.tsMCP 서버 ↔ Figma 플러그인 통신
Figma 플러그인src/cursor_mcp_plugin/Figma 내부에서 API 실행

설치 방법

1. 사전 준비

Windows:

powershell -c "irm bun.sh/install.ps1|iex"

Mac/Linux:

curl -fsSL https://bun.sh/install | bash

2. 저장소 클론 및 의존성 설치

git clone https://github.com/yerininin/F_MCP.git
cd F_MCP
bun install

3. WebSocket 서버 실행

bun socket

WebSocket 서버가 localhost:3055에서 실행됩니다. 이 터미널은 열어둔 채로 유지하세요.

4. Figma 플러그인 등록 (로컬 개발 모드)

  1. Figma 데스크탑 앱 실행
  2. 아무 파일 열기
  3. 좌측 상단 메뉴 > Plugins > Development > Import plugin from manifest...
  4. 클론한 폴더의 src/cursor_mcp_plugin/manifest.json 선택
  5. 등록 완료

5. Figma 플러그인 실행 및 연결

  1. Figma에서 Plugins > Development > Claude Code Figma MCP Plugin 실행
  2. Connect 버튼 클릭
  3. 연결 성공 시 채널명이 표시됨 (예: abc12345)
  4. 이 채널명을 복사

6. Claude Code에 MCP 등록

claude mcp add TalkToFigma -- bun /클론한경로/src/talk_to_figma_mcp/server.ts

예시 (Windows):

claude mcp add TalkToFigma -- bun D:\F_MCP\src\talk_to_figma_mcp\server.ts

예시 (Mac/Linux):

claude mcp add TalkToFigma -- bun ~/F_MCP/src/talk_to_figma_mcp/server.ts

7. Claude Code에서 사용

Claude Code를 실행하고 다음과 같이 말하세요:

Figma MCP 채널 abc12345 연결해줘

연결 후 자연어로 Figma를 제어할 수 있습니다:

1200x1200 프레임 만들어줘
텍스트 추가해줘 "Hello World"
배경색 검정으로 바꿔줘

Windows 사용 시 참고

WSL 환경에서 사용하는 경우 src/socket.ts에서 hostname을 수정하세요:

// 이 줄의 주석을 해제
hostname: "0.0.0.0",

사용 가능한 MCP 도구

문서 & 선택

도구설명
get_document_info현재 Figma 문서 정보 조회
get_selection현재 선택된 요소 정보 조회
read_my_design선택된 요소의 상세 노드 정보 조회
get_node_info특정 노드 상세 정보 조회
get_nodes_info여러 노드 상세 정보 일괄 조회
set_focus특정 노드로 포커스 이동
set_selections여러 노드 선택

요소 생성

도구설명
create_rectangle사각형 생성
create_frame프레임 생성
create_text텍스트 생성

스타일링

도구설명
set_fill_color채우기 색상 설정 (RGBA)
set_stroke_color테두리 색상/두께 설정
set_corner_radius모서리 둥글기 설정
set_image_fill이미지 URL로 채우기 설정 (커스텀 추가)

레이아웃

도구설명
move_node노드 위치 이동
resize_node노드 크기 변경
delete_node노드 삭제
delete_multiple_nodes여러 노드 일괄 삭제
clone_node노드 복제

Auto Layout

도구설명
set_layout_mode레이아웃 모드 설정 (NONE, HORIZONTAL, VERTICAL)
set_padding패딩 설정
set_axis_align축 정렬 설정
set_layout_sizing사이징 모드 설정 (FIXED, HUG, FILL)
set_item_spacing요소 간 간격 설정

텍스트

도구설명
scan_text_nodes텍스트 노드 스캔
set_text_content텍스트 내용 변경
set_multiple_text_contents여러 텍스트 일괄 변경

컴포넌트 & 스타일

도구설명
get_styles로컬 스타일 조회
get_local_components로컬 컴포넌트 조회
create_component_instance컴포넌트 인스턴스 생성
get_instance_overrides인스턴스 오버라이드 추출
set_instance_overrides인스턴스 오버라이드 적용

어노테이션

도구설명
get_annotations어노테이션 조회
set_annotation어노테이션 생성/수정
set_multiple_annotations여러 어노테이션 일괄 생성
scan_nodes_by_types특정 타입 노드 스캔

프로토타이핑

도구설명
get_reactions프로토타입 리액션 조회
set_default_connector기본 커넥터 설정
create_connections커넥터 라인 생성

내보내기 & 연결

도구설명
export_node_as_image노드를 이미지로 내보내기 (PNG, JPG, SVG, PDF)
join_channel채널 연결

커스텀 기능 추가하기

이 저장소는 로컬 소스에서 실행되므로 자유롭게 기능을 추가할 수 있습니다.

새 도구 추가 방법

1. MCP 서버에 도구 등록 (src/talk_to_figma_mcp/server.ts)

server.tool(
  "my_new_tool",           // 도구 이름
  "도구 설명",              // 설명
  {
    nodeId: z.string(),    // 파라미터 정의 (zod 스키마)
  },
  async ({ nodeId }) => {  // 핸들러
    const result = await sendCommandToFigma("my_new_tool", { nodeId });
    return { content: [{ type: "text", text: JSON.stringify(result) }] };
  }
);

2. Figma 플러그인에 핸들러 추가 (src/cursor_mcp_plugin/code.js)

switch문에 case 추가:

case "my_new_tool":
  return await myNewTool(params);

함수 구현:

async function myNewTool(params) {
  const { nodeId } = params;
  const node = await figma.getNodeByIdAsync(nodeId);
  // Figma API로 원하는 작업 수행
  return { id: node.id, name: node.name };
}

3. Claude Code 재시작 — MCP 서버가 새 도구를 로드하도록 재시작

문제 해결

문제해결
WebSocket 연결 안 됨bun socket이 실행 중인지 확인
플러그인이 안 보임Figma > Plugins > Development에서 manifest 다시 로드
MCP 도구가 안 보임Claude Code 재시작 필요
타임아웃 에러Figma 플러그인이 Connect 상태인지, 채널명이 맞는지 확인
Windows에서 연결 안 됨socket.ts의 hostname을 0.0.0.0으로 변경

라이선스

MIT License

원본 프로젝트: Copyright (c) 2025 sonnylazuardi

Reviews

No reviews yet

Sign in to write a review