はじめに

Cursorは強力なAIコーディング機能を備えていますが、Model Context Protocol(MCP)を使用することで、外部サービスやツールとの連携が可能になります。GitHubのイシュー管理、Figmaのデザイン取得、Slackでの通知送信など、開発ワークフロー全体をCursorから操作できるようになります。

本記事では、MCPの基本概念を理解し、主要なMCPサーバーをCursorに導入する方法を解説します。この記事を読むことで、以下のことができるようになります。

  • MCPの仕組みと役割を理解できる
  • GitHub、Figma、Linear、Slack、NotionなどのMCPサーバーを導入できる
  • mcp.jsonファイルを作成し、MCPサーバーを設定できる
  • OAuth認証を使用するMCPサーバーを構成できる

実行環境と前提条件

本記事の内容を実践するための環境要件は以下のとおりです。

項目 要件
オペレーティングシステム Windows 10以上、macOS 10.15以上、Ubuntu 20.04以上/Debian 10以上
Cursor バージョン 2.3以降
Node.js 18以上(npxコマンド実行に必要)
Python 3.10以上(Python製MCPサーバー使用時)
インターネット接続 必須(MCPサーバーとの通信に必要)

前提条件

  • Cursorがインストールされ、アカウントでログイン済みであること
  • 連携する外部サービス(GitHub、Figmaなど)のアカウントを持っていること
  • 基本的なJSON構文を理解していること

期待される結果

本記事の手順を完了すると、以下の状態になります。

  • MCPを通じてCursorから外部サービスを操作できる
  • 開発ワークフローがCursor内で完結し、コンテキストスイッチが減少する
  • AIが外部サービスの情報を参照しながらコード生成や提案を行える

Model Context Protocol(MCP)とは

MCPは、AIアプリケーションを外部システムに接続するためのオープンスタンダードなプロトコルです。USB-Cポートが様々な電子機器を標準化された方法で接続するように、MCPはAIアプリケーションと外部システムを標準化された方法で接続します。

MCPの構成要素

MCPは以下の3つの主要コンポーネントで構成されています。

flowchart LR
    A[MCPホスト<br/>Cursor] --> B[MCPクライアント]
    B --> C[MCPサーバー]
    C --> D[外部サービス<br/>GitHub/Figma等]
コンポーネント 役割
MCPホスト AIアプリケーション(Cursor)。MCPクライアントを管理し、外部システムとの連携を調整する
MCPクライアント MCPサーバーとの接続を維持し、コンテキストを取得するコンポーネント
MCPサーバー 外部システムへのアクセスを提供するプログラム。ツール、リソース、プロンプトを公開する

MCPが提供する機能

MCPサーバーは以下の3種類の機能(プリミティブ)を提供できます。

プリミティブ 説明
Tools AIが実行できる関数 GitHubイシューの作成、Slack通知の送信
Resources 参照可能なデータソース ファイル内容、データベースレコード
Prompts インタラクションのテンプレート コードレビュー用プロンプト

Cursorが対応するMCP機能

Cursorは以下のMCPプロトコル機能をサポートしています。

機能 対応状況 説明
Tools 対応 AIモデルが実行できる関数
Prompts 対応 ユーザー向けのテンプレートメッセージおよびワークフロー
Resources 対応 読み取り・参照可能な構造化データソース
Roots 対応 URIやファイルシステム境界に対するサーバー起点の問い合わせ
Elicitation 対応 ユーザーに追加情報を求めるサーバー起点の要求

MCPサーバーのトランスポート方式

CursorはMCPサーバーとの通信に3種類のトランスポート方式をサポートしています。

方式 実行場所 ライフサイクル ユーザー数 接続方法 認証
stdio ローカル Cursorが管理 単一 シェルコマンド 手動
SSE ローカル/リモート サーバーとしてデプロイ 複数 SSEエンドポイントへのURL OAuth
Streamable HTTP ローカル/リモート サーバーとしてデプロイ 複数 HTTPエンドポイントへのURL OAuth

stdio(標準入出力)

ローカルで実行されるMCPサーバーに使用します。Cursorがプロセスを起動・管理し、標準入出力を通じて通信します。

メリット:

  • セットアップが簡単
  • ネットワーク設定不要
  • ローカル環境で完結

デメリット:

  • 複数ユーザーでの共有が困難
  • Cursorを閉じるとサーバーも終了

SSE/Streamable HTTP

リモートで実行されるMCPサーバーに使用します。HTTPベースの通信により、複数ユーザーでのサーバー共有が可能です。

メリット:

  • チームでの共有が可能
  • 常時稼働のサーバーとして運用可能
  • OAuth認証との親和性が高い

デメリット:

  • サーバーのデプロイ・運用が必要
  • ネットワーク設定が必要

mcp.jsonの基本設定

MCPサーバーの設定は mcp.json ファイルで行います。設定ファイルの配置場所によって適用範囲が異なります。

設定ファイルの配置場所

配置場所 適用範囲 用途
.cursor/mcp.json プロジェクト固有 プロジェクト専用のツール
~/.cursor/mcp.json グローバル すべてのプロジェクトで使用するツール

stdioサーバーの設定構文

Node.js製のMCPサーバーを設定する例です。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{
  "mcpServers": {
    "server-name": {
      "command": "npx",
      "args": ["-y", "mcp-server-package"],
      "env": {
        "API_KEY": "your-api-key"
      }
    }
  }
}

Python製のMCPサーバーを設定する場合は以下のようになります。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{
  "mcpServers": {
    "server-name": {
      "command": "python",
      "args": ["mcp-server.py"],
      "env": {
        "API_KEY": "your-api-key"
      }
    }
  }
}

stdioサーバーの設定フィールド

フィールド 必須 説明
type いいえ サーバー接続方式 "stdio"
command はい サーバーを起動するコマンド "npx", "node", "python"
args いいえ コマンドに渡す引数の配列 ["server.py", "--port", "3000"]
env いいえ サーバー用の環境変数 {"API_KEY": "value"}
envFile いいえ 環境変数を読み込むファイルパス ".env"

リモートサーバーの設定構文

HTTPまたはSSEを使用するリモートMCPサーバーの設定例です。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
{
  "mcpServers": {
    "remote-server": {
      "url": "https://api.example.com/mcp",
      "headers": {
        "Authorization": "Bearer your-token"
      }
    }
  }
}

主要MCPサーバーの導入

ここでは、開発ワークフローで頻繁に使用される主要なMCPサーバーの導入方法を解説します。

GitHub MCP Server

GitHubのイシュー、プルリクエスト、リポジトリを操作するためのMCPサーバーです。

Personal Access Tokenの取得

  1. GitHubにログインし、Settings → Developer settings → Personal access tokens → Tokens (classic) に移動
  2. 「Generate new token」をクリック
  3. 必要なスコープを選択(repo、read:org など)
  4. トークンを生成してコピー

設定例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${env:GITHUB_TOKEN}"
      }
    }
  }
}

環境変数 GITHUB_TOKEN に取得したPersonal Access Tokenを設定します。

提供されるツール

  • create_issue: イシューの作成
  • list_issues: イシュー一覧の取得
  • create_pull_request: プルリクエストの作成
  • search_repositories: リポジトリの検索
  • get_file_contents: ファイル内容の取得

Figma MCP Server

Figmaのデザインデータを取得し、AIにコンテキストとして提供するMCPサーバーです。

Figma Access Tokenの取得

  1. Figmaにログインし、Settings → Account → Personal access tokens に移動
  2. 「Generate new token」をクリック
  3. トークン名を入力し、適切なスコープを選択
  4. トークンを生成してコピー

設定例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{
  "mcpServers": {
    "figma": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-server-figma"],
      "env": {
        "FIGMA_ACCESS_TOKEN": "${env:FIGMA_TOKEN}"
      }
    }
  }
}

提供されるツール

  • get_file: Figmaファイルの情報取得
  • get_images: デザインの画像エクスポート
  • get_comments: コメントの取得

Linear MCP Server

Linear(プロジェクト管理ツール)のイシューやプロジェクトを操作するMCPサーバーです。

設定例(OAuth認証)

LinearはOAuth認証をサポートしています。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{
  "mcpServers": {
    "linear": {
      "url": "https://mcp.linear.app/sse",
      "auth": {
        "CLIENT_ID": "${env:LINEAR_CLIENT_ID}",
        "CLIENT_SECRET": "${env:LINEAR_CLIENT_SECRET}"
      }
    }
  }
}

提供されるツール

  • create_issue: イシューの作成
  • update_issue: イシューの更新
  • list_projects: プロジェクト一覧の取得

Slack MCP Server

Slackのメッセージ送信やチャンネル操作を行うMCPサーバーです。

Slack Appの作成

  1. Slack API にアクセス
  2. 「Create New App」→「From scratch」を選択
  3. アプリ名とワークスペースを設定
  4. OAuth & Permissions で必要なスコープを追加
  5. Bot User OAuth Token を取得

設定例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-server-slack"],
      "env": {
        "SLACK_BOT_TOKEN": "${env:SLACK_BOT_TOKEN}"
      }
    }
  }
}

提供されるツール

  • send_message: メッセージの送信
  • list_channels: チャンネル一覧の取得
  • get_channel_history: チャンネル履歴の取得

Notion MCP Server

Notionのページやデータベースを操作するMCPサーバーです。

Notion Integrationの作成

  1. Notion Developers にアクセス
  2. 「New integration」をクリック
  3. 名前と関連ワークスペースを設定
  4. Internal Integration Secret をコピー
  5. 連携したいページでIntegrationを招待

設定例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{
  "mcpServers": {
    "notion": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-server-notion"],
      "env": {
        "NOTION_API_KEY": "${env:NOTION_API_KEY}"
      }
    }
  }
}

提供されるツール

  • search: ページの検索
  • get_page: ページ内容の取得
  • create_page: ページの作成
  • query_database: データベースのクエリ

OAuth認証の構成

リモートMCPサーバーでOAuth認証を使用する場合の設定方法を解説します。

CursorのOAuthリダイレクトURL

すべてのMCPサーバーで共通のリダイレクトURLを使用します。

cursor://anysphere.cursor-mcp/oauth/callback

MCPプロバイダーのOAuthアプリを設定する際、このURLを許可されたリダイレクトURIとして登録してください。

静的OAuth資格情報の設定

OAuthを使用するMCPサーバーの設定例です。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
{
  "mcpServers": {
    "oauth-server": {
      "url": "https://api.example.com/mcp",
      "auth": {
        "CLIENT_ID": "your-oauth-client-id",
        "CLIENT_SECRET": "your-client-secret",
        "scopes": ["read", "write"]
      }
    }
  }
}

OAuth設定フィールド

フィールド 必須 説明
CLIENT_ID はい MCPプロバイダーが発行したOAuth 2.0クライアントID
CLIENT_SECRET いいえ OAuth 2.0クライアントシークレット(confidential clientの場合)
scopes いいえ リクエストするOAuthスコープの配列

環境変数による資格情報の管理

OAuth資格情報はハードコードせず、環境変数を使用することを推奨します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{
  "mcpServers": {
    "oauth-server": {
      "url": "https://api.example.com/mcp",
      "auth": {
        "CLIENT_ID": "${env:MCP_CLIENT_ID}",
        "CLIENT_SECRET": "${env:MCP_CLIENT_SECRET}"
      }
    }
  }
}

Cursor UIからのMCPサーバー追加

Cursorは、MCPサーバーを簡単に追加できるUIを提供しています。

MCPサーバーディレクトリからの追加

  1. Cursor Settingsを開く(Ctrl + Shift + J / Cmd + Shift + J
  2. 「MCP」セクションに移動
  3. 利用可能なMCPサーバー一覧から選択
  4. 「Add to Cursor」ボタンをクリック
  5. 認証が必要な場合はOAuthフローが開始される

MCPツールの有効化と無効化

チャットインターフェースからMCPツールを個別に有効・無効にできます。

  1. Agentパネルの「Available Tools」セクションを確認
  2. ツール名をクリックして有効/無効を切り替え
  3. 無効化されたツールはコンテキストに読み込まれない

MCPサーバーの動作確認

設定したMCPサーバーが正しく動作しているか確認する方法を解説します。

接続状態の確認

  1. Cursor Settingsを開く
  2. 「MCP」セクションでサーバーの状態を確認
  3. 緑色のインジケーターが表示されていれば接続成功

ツールの動作テスト

Agentに対して、MCPツールを使用するよう指示します。

GitHubリポジトリ「owner/repo」の最新イシュー5件を取得してください

デバッグ方法

MCPサーバーに問題がある場合は以下を確認してください。

  1. Cursor Settings → MCP でエラーメッセージを確認
  2. 環境変数が正しく設定されているか確認
  3. APIキーやトークンの有効期限を確認
  4. ネットワーク接続を確認

セキュリティに関する注意事項

MCPサーバーを使用する際は、以下のセキュリティ対策を考慮してください。

対策 説明
提供元の確認 信頼できる開発者やリポジトリからのMCPサーバーのみをインストール
権限の確認 サーバーがどのデータやAPIにアクセスするかを事前に確認
APIキーの制限 必要最小限の権限だけを持つ制限付きAPIキーを使用
コードの監査 重要な連携についてはサーバーのソースコードをレビュー

MCPサーバーは外部サービスにアクセスし、ユーザーに代わってコードを実行できる可能性があります。インストール前に、そのサーバーが何を行うのかを必ず把握してください。

まとめ

本記事では、CursorとMCPの連携について解説しました。

  • MCPはAIアプリケーションを外部システムに接続するためのオープンスタンダードなプロトコル
  • CursorはTools、Resources、Prompts、Roots、Elicitationの各MCP機能をサポート
  • mcp.jsonファイルでMCPサーバーを設定し、stdio/SSE/Streamable HTTPの3種類のトランスポートを選択可能
  • GitHub、Figma、Linear、Slack、NotionなどのMCPサーバーを導入することで、開発ワークフローを大幅に拡張できる
  • OAuth認証を使用するリモートサーバーでは、環境変数で資格情報を管理することを推奨

MCPを活用することで、Cursorから離れることなく外部サービスを操作でき、AI駆動開発の効率が大幅に向上します。

参考リンク