Slide 6
Slide 6 text
Cursor×MCPで実装する際の注意点
効率的な実装のためのポイント
Figma-MCPとCursorの連携設定
MCPサーバーを起動し、Figmaのアクセストークンを正しく設定する
Cursorでの.mcp.json設定ファイルで接続先を指定する
FigmaファイルのURLまたはファイルIDを正確に指定する
実装時の最大効率化ポイント
プロンプトは具体的に:
「〇〇コンポーネントをNext.jsで実装して」
対象のフレームやコンポーネントを明確に指定して混乱を避ける
コンポーネント単位でコード生成し、複雑すぎるページは分割する
よくある問題と対処法
"AIで開発が進む中でも、リンターを通らないコードは認められないという厳しいルールを適用していくべき。理想の状態を
定義し、そこに近づけ続けるループを回すことが重要です。"
— Takuma Kajikawa
コード品質が低い フレーム名に実装技術を明記する(例:
「Card-NextJS」
)
レスポンシブ対応不足 Auto Layoutを徹底し、Break Pointsを設定する
細部のズレが発生 実装後に具体的な修正指示を出す(
「padding-leftを16pxに調整して」
)
コーディング規約とAI開発のガードレール設計
タイプセーフな箇所はAIに任せ、人間はそれ以外のチェックに集中する分業が理想的
実装の自由度を減らし、関数型言語に近づけるようにルールを厳格化していく
クラスネームでのTailwind CSSの直接使用をほぼ禁止し、コンポーネント抽象化を促進
実装ワークフロー
1
MCPサーバー設定
MCPサーバーを起動し、Figmaとの接続を確立
$ npx figma-context-mcp --figma-api-key="figd_..."
2
Cursorの設定
プロジェクトルートに設定ファイルを作成
.mcp.jsonで接続先とFigma IDを指定
3
コンポーネント特定
実装したいコンポーネントを特定し、URLをコピー
Figmaの共有メニュー → リンクをコピー
4
コード生成
Cursorで明確な指示でコード生成
"このButton/Primaryコンポーネントを実装して"
Cursor MCPとNext.js実装の例 button.tsx
import React from 'react';
// Figmaから生成されたボタンコンポーネント
interface ButtonProps {
variant?: 'primary' | 'secondary';
size?: 'sm' | 'md' | 'lg';
label: string;
onClick?: () => void;
disabled?: boolean;
icon?: React.ReactNode;
}
export const Button: React.FC = ({
variant = 'primary',
size = 'md',
label,
onClick,
disabled = false,
icon
}) => {
const baseClasses = 'rounded-lg font-medium flex items-center justify-center';
const variantClasses = {
primary: 'bg-[#a259ff] text-white hover:bg-[#9046e8]',
secondary: 'bg-white border border-[#a259ff] text-[#a259ff]'
};
const sizeClasses = {
sm: 'text-sm py-2 px-4',
md: 'text-base py-3 px-6',
lg: 'text-lg py-4 px-8'
};
return (
{icon && {icon}span>}
{label}
button>
);
};
プロ技: 理想の開発状態への改善ループ
"正しい状態に近づけ続ける「離婚ループ」の考え方が重要です。常に理想の状態を定義し、そこに近づけるためのガードレー
ルを設けることで、AIとの共同開発でも一貫性を保てます。"
— Takuma Kajikawa
Cursorのコマンド機能(Cmd+K)から「FigmaのURLからコンポーネントを実装」と直接指示可能
複数コンポーネントを一気に生成せず、一つずつ対話しながら作成するとより精度が高まる
生成されたコードは必ずリンターチェックと型チェックを通して品質を担保する
FigmaのMCPを活用したNext.js with TypeScriptの爆速実装ガイド 5 / 8