MCP とは?

Model Context Protocol (MCP) は、Cursor が外部のツールやデータソースに接続できるようにする。

なんで MCP を使うの?

MCP は Cursor を外部システムやデータに接続する。プロジェクト構成を毎回説明する代わりに、ツールと直接連携しよう。 stdout に出力できるか、HTTP エンドポイントを提供できる言語なら何でも MCP サーバーを書ける — Python、JavaScript、Go など。

仕組み

MCP サーバーはプロトコルを通じて機能を公開し、Cursor を外部ツールやデータソースに接続する。 Cursor は 3 つのトランスポート方式をサポート:
TransportExecution environmentDeploymentUsersInputAuth
stdioLocalCursor managesSingle userShell commandManual
SSELocal/RemoteDeploy as serverMultiple usersURL to an SSE endpointOAuth
Streamable HTTPLocal/RemoteDeploy as serverMultiple usersURL to an HTTP endpointOAuth

プロトコル対応

Cursor は次の MCP プロトコル機能に対応:
FeatureSupportDescription
ToolsSupportedAI モデルが実行する関数
PromptsSupportedユーザー向けのテンプレート化メッセージとワークフロー
RootsSupported操作対象となる URI やファイルシステム境界に対するサーバー起点の照会
ElicitationSupportedユーザーに追加情報を求めるサーバー起点のリクエスト

MCP サーバーのインストール

ワンクリックインストール

コレクションから MCP サーバーをインストールして、OAuth で認可しよう。

mcp.json を使う

JSON ファイルでカスタム MCP サーバーを設定する:
{
  "mcpServers": {
    "server-name": {
      "command": "npx",
      "args": ["-y", "mcp-server"],
      "env": {
        "API_KEY": "value"
      }
    }
  }
}

Extension API を使う

コードから MCP サーバーを登録できるように、Cursor は mcp.json を変更せず動的に構成できる拡張 API を提供してる。これは特にエンタープライズ環境や自動セットアップのワークフローで便利。

MCP Extension API Reference

vscode.cursor.mcp.registerServer() を使ってプログラムから MCP サーバーを登録する方法をチェック

設定場所

Project Configuration

プロジェクト専用のツール用に、プロジェクト内に .cursor/mcp.json を作成。

Global Configuration

どこでも使えるツール用に、ホームディレクトリに ~/.cursor/mcp.json を作成。

認証

MCP サーバーは認証に環境変数を使う。API キーやトークンは設定から渡そう。 Cursor は、必要なサーバーに対する OAuth もサポートしてる。

チャットでの MCP の使い方

Composer Agent は、関連する場合に Available Tools に表示されている MCP ツールを自動的に使うよ。特定のツール名を指定するか、やりたいことを説明してね。設定からツールを有効化・無効化できる。

ツールの切り替え

チャットインターフェースから直接 MCP ツールを有効化・無効化できる。ツール一覧でツール名をクリックして切り替えてね。無効化したツールはコンテキストに読み込まれず、Agent でも使えない。

ツール承認

デフォルトでは、Agent は MCP ツールを使う前に承認を求めるよ。ツール名の横にある矢印をクリックすると引数が見られる。

自動実行

承認なしで Agent が MCP ツールを使えるように自動実行を有効にしてね。ターミナルコマンドのように動く。Yolo モードの詳細はここを読んで。

ツールのレスポンス

Cursor はチャット内にレスポンスを表示し、引数とレスポンスを展開表示できるようにするよ:

画像をコンテキストとして使う

MCP サーバーはスクリーンショットやダイアグラムなどの画像を返せる。画像は base64 エンコードした文字列として返してね:
const RED_CIRCLE_BASE64 = "/9j/4AAQSkZJRgABAgEASABIAAD/2w...";
// ^ 可読性のために base64 全体を省略

server.tool("generate_image", async (params) => {
  return {
    content: [
      {
        type: "image",
        data: RED_CIRCLE_BASE64,
        mimeType: "image/jpeg",
      },
    ],
  };
});
実装の詳細はこのサーバーの例を見てね。Cursor は返された画像をチャットに添付する。モデルが画像をサポートしていれば、それを解析する。

セキュリティに関する考慮事項

MCP サーバーをインストールするときは、次のセキュリティ対策を意識してね:
  • 提供元の確認: 信頼できる開発者やリポジトリの MCP サーバーだけをインストールする
  • 権限の見直し: サーバーがアクセスするデータや API をチェックする
  • API キーの最小化: 必要最小限の権限だけを付与した制限付き API キーを使う
  • コードの監査: クリティカルな連携では、サーバーのソースコードをレビューする
MCP サーバーは外部サービスにアクセスしたり、きみの代わりにコードを実行したりできることを忘れないで。インストール前に、そのサーバーが何をするのか必ず把握しておこう。

実例

MCPが実際にどう動くかは、Web Development guideをチェックしてね。Linear、Figma、ブラウザツールを開発ワークフローに統合する方法を紹介してるよ。

よくある質問