Vercel AI SDK MCP Server Project について
このMCPサーバーは、Vercel AI SDK Coreの一部機能をCursorなどのAI開発環境向けに提供します。複数サーバーのワークフローを組み立てる開発者向けで、公開するツールを分類して管理できます。Figmaとmagic-mcpのコネクターはプレースホルダーです。
主な機能
- 01Vercel AI SDKの関数をツール化
- 02構造化オブジェクトとUIコンポーネントを生成
- 03有効なツールを分類
- 04Figmaとmagic-mcpのプレースホルダー接続を用意
- 05Cursorの設定に対応
活用シーン
- 01Cursorで構造化データを生成
- 02Vercel AI SDKでUIコンポーネントを作成
- 03Cursorで有効にするツール数を管理
MCP 対応
Vercel AI SDK Coreの関数を、Cursorなどのクライアント向けにMCPツールとして公開します。想定ワークフローでは他のMCPサーバーとの呼び出しを連携しますが、Figmaとmagic-mcpのコネクターはプレースホルダーです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Vercel AI SDK MCP サーバープロジェクト
このリポジトリには、Cursor などの AI 開発環境に Vercel AI SDK Core の機能を公開するために設計された Model Context Protocol(MCP)サーバーが含まれています。generateObject、generateText、streamText、UI 生成などの機能を、ほかの MCP サーバー(Smithery 経由の mcp-figma や magic-mcp など)と併用できます。
主な機能
- Vercel AI SDK との統合: Vercel AI SDK のコア関数(
generate_object、generate_ui_componentなど)をラップする MCP ツールを提供します。 - ツールのカテゴリ分け:
set_tool_categoryメタツールを備えたToolManagerを実装しており、Cursor に公開するアクティブなツールの数を管理し、適切な範囲内に抑えます。 - Figma/Magic MCP のプレースホルダー:
mcp-figmaとmagic-mcp用のプレースホルダーコネクターとツール登録を含みます。Cursor AI によるオーケストレーション(パスウェイ 2)を想定しています。 - Smithery へのデプロイに対応: Smithery.ai に簡単にデプロイできるよう、
Dockerfileとsmithery.yamlを設定済みです。 - Cursor との統合:
.cursor/mcp.jsonの設定を使用して Cursor 内で利用するよう設計されています。
アーキテクチャのアプローチ(パスウェイ 2 のオーケストレーション)
このサーバーは主に、Cursor 内の AI がオーケストレーションする複数の MCP を使ったワークフロー(パスウェイ 2)の構成要素の 1 つとして設計されています。
想定されるワークフローは次のとおりです。
- プロンプトと Cursor ルール(
.cursor/rules/)を使用して AI をガイドします。 - 異なる MCP サーバーを順番に呼び出します。
- デザインの抽出には
mcp-figma(Smithery 経由)を使用します。 - アイデアの参考やコンポーネントの構築には
magic-mcp(Smithery 経由)を使用します。 - Vercel AI SDK 固有のタスク(構造化生成など)には、この
vercel-ai-sdk-mcpサーバーを使用します。
- デザインの抽出には
- AI が各ステップのコンテキストを組み合わせて、最終的な目標を達成します。
サーバー間の直接通信を示す複合ツール(generate_enhanced_component_from_figma)もコード(src/integrations/crossIntegration.ts)にありますが、コネクター内に機能する MCP クライアントを実装する必要があるため、このセットアップで主に想定されている使用パターンではありません。
前提条件
- Node.js(v20 以降を推奨)
- npm
- Git
- Cursor
- Smithery アカウント(デプロイ用)
- API キー:
- OpenAI API キー(必須)
- Figma API キー(Figma 統合を実装する場合に必要)
- 21st Dev API キー(Magic MCP 統合を実装する場合に必要)
ローカル環境のセットアップ
- リポジトリをクローンします:
git clone https://github.com/chiziuwaga/vercel-ai-sdk-mcp-project.git cd vercel-ai-sdk-mcp-project - 依存関係をインストールします:
npm install .envファイルを作成します:.env.exampleを.envにコピーし、API キーを入力します。OPENAI_API_KEY=sk-your-openai-key ANTHROPIC_API_KEY=sk-ant-your-anthropic-key # Optional FIGMA_API_KEY=your-figma-key # For future implementation TWENTY_FIRST_API_KEY=your-21st-key # For future implementation TRANSPORT_TYPE=stdio # Keep as stdio for local PORT=3000 # Only used if TRANSPORT_TYPE=sse- コードをビルドします:
npm run build - ローカルで実行します:
サーバーは stdio を使用して起動し、接続を待ち受けます。npm run start
Cursor との統合(ローカル)
Cursor でローカルサーバーを使用するには、次の手順を実行します。
-
mcp-figmaとmagic-mcpがローカルでnpx経由で実行できることを確認します。 -
ワークスペースの
.cursor/mcp.jsonを変更し、Node でこのサーバーを直接実行します。{ "mcpServers": { "magic-mcp": { ... }, // 既存の Smithery 設定を保持します "mcp-figma": { ... }, // 既存の Smithery 設定を保持します "vercel-ai-sdk-mcp": { "command": "node", "args": ["dist/index.js"], // ワークスペースのルートからの相対パス "env": { // ローカル実行用にキーを直接渡します "OPENAI_API_KEY": "${OPENAI_API_KEY}", "ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}", "FIGMA_API_KEY": "${FIGMA_API_KEY}", "TWENTY_FIRST_API_KEY": "${TWENTY_FIRST_API_KEY}", "TRANSPORT_TYPE": "stdio" } } } } -
Cursor が読み取れる環境で
${API_KEY}変数を利用できることを確認します。
使用例(Pathway 2)
-
MCP サーバーが実行中であることを確認します(ローカルで実行するか、
.cursor/mcp.jsonで Smithery 経由の設定を行います)。 -
Cursor Rules を作成します:
.cursor/rules/にルールファイルを追加して AI をガイドします(下のセクションを参照)。 -
Cursor AI にプロンプトを入力します: 前述のユーザーストーリーのような複数ステップのプロンプトを入力し、
mcp-figma、magic-mcp、vercel-ai-sdk-mcpを順番に呼び出すよう AI に指示します。記述例:
"まず、mcp-figma の extract_figma_design を使用します... 次に、magic-mcp の inspiration ツールを使用します... 最後に、統合したコンテキストを使用して vercel-ai-sdk-mcp の generate_ui_component を実行します..."
Cursor Rules(.cursor/rules/)
Pathway 2 のオーケストレーションを効果的に利用するには、Cursor AI 向けのガイダンスルールを作成する必要があります。プロジェクトのルートに .cursor/rules/ ディレクトリを必ず作成し、ルールファイル(例:figma.cursorule、magic.cursorule、vercel.cursorule)を追加してください。
- これらのファイルには、次の内容について自然言語で指示を記述します。
- 特定のタスクで各 MCP サーバーのどのツールを使用するか。
- それらのツール向けのプロンプトをどのように構成するか。
- 順次実行するツール呼び出しの間でコンテキスト(データ)をどのように渡すか。
- 標準的なワークフロー(例:Figma -> Magic -> Vercel)。
構文と例については、Cursor Rules のドキュメントを参照してください。
デプロイ(Smithery)
- GitHub にプッシュします:
Dockerfileとsmithery.yamlを含む最新のコードが、GitHub のmainブランチにプッシュされていることを確認します。 - Smithery.ai にアクセスします: ログインし、
chiziuwaga/vercel-ai-sdk-mcp-projectサーバーを見つけるか、追加します。 - デプロイします: 「Deployments」タブに移動し、「Create Deployment」をクリックします。
- 設定します: Smithery の指示に従い、必須の API キー(
openaiApiKeyなど)を入力します。これらは安全に保存されます。 - 起動します: デプロイプロセスを開始します。Smithery が Docker イメージをビルドし、コンテナーを実行します。
Cursor との統合(デプロイ済み)
Smithery でデプロイした後、次の手順を実行します。
-
.cursor/mcp.jsonを更新し、サーバーに Smithery CLI ランナーを使用します(現在の内容と一致している必要があります)。{ "mcpServers": { "magic-mcp": { ... }, // 既存の Smithery 設定を保持します "mcp-figma": { ... }, // 既存の Smithery 設定を保持します "vercel-ai-sdk-mcp": { "command": "npx", "args": [ "-y", "@smithery/cli@latest", "run", "chiziuwaga/vercel-ai-sdk-mcp-project", "--config", // これらの環境変数を Cursor で利用できるようにします "{"openaiApiKey":"${OPENAI_API_KEY}", "anthropicApiKey":"${ANTHROPIC_API_KEY}", "figmaApiKey":"${FIGMA_API_KEY}", "twentyFirstApiKey":"${TWENTY_FIRST_API_KEY}", "transportType":"stdio"}" ] } } } -
--configJSON 文字列で参照されている${API_KEY}変数を、環境から Cursor が利用できることを確認します。
設定
すべての機能を利用するには、API キーが必要です。
OPENAI_API_KEY:Vercel AI SDK のツールで必須です。Smithery のデプロイ設定で指定するか、ローカル実行時に.envに設定してください。ANTHROPIC_API_KEY:Anthropic のモデルを使用する場合は任意です。FIGMA_API_KEY:FigmaConnectorを実装する場合にのみ必須です。TWENTY_FIRST_API_KEY:MagicMcpConnectorを実装する場合にのみ必須です。
プレースホルダーと今後の作業
- コネクターを実装する:
src/integrations/figma/connector.tsとsrc/integrations/magicMcp/connector.tsにはプレースホルダーが含まれています。統合ツールを有効にするには、実際の API 呼び出し(Figma の場合)と MCP クライアントのロジック(インターフェースによっては Magic MCP の場合)を実装する必要があります。 - ツールを追加する: 仕様に記載されている残りの Vercel AI SDK ツール(テキスト生成、ストリーミング、チャット、コード生成など)を実装します。
- エラー処理: 特に API キーが不足している場合のエラー処理を強化します。
- テスト: 自動テストを追加します。
ライセンス
package.json に記載されているとおり、ISC License です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。