デザインについての学習メモブログ

MCPとは?初心者のための環境構築から使い方までの入門

記事内に広告が含まれています。

MCPとは?初心者のための環境構築から使い方までの入門

「AIが外部のツールやサービスと安全につながる仕組みがあったら便利なのに…」そう思ったことはありませんか?

MCP(Model Context Protocol)は、まさにその役割を担う新しいプロトコルです。

例えば、Claudeに「このCSVを集計して」と頼むと、自動でファイルを読み込んで処理してくれる。

あるいは「GitHubのリポジトリを確認して」と伝えると、AIが直接アクセスして情報を取得してくれる――。

そんな未来を実現するのがMCPです。

本記事では、MCPの基本概念から、初心者でも試せる環境構築手順、さらに「Claude Desktop」を使った具体的な使用例までをわかりやすく解説します。

MCP入門:MCPって何?まずは基本から理解しよう

MCP(Model Context Protocol)とは、AnthropicのClaude(クロード)などのAIモデルが、外部のツールやシステムと安全にやり取りするための「共通言語」のようなものです。

言葉を分解すると、その意味が少し見えてきます。

  • Model(モデル):ここでは、ChatGPTやClaudeのような生成AIモデルを指します。
  • Context(コンテクスト):追加で参照できる周辺情報
  • Protocol(プロトコル):「手順」や「規約」という意味の言葉です。

「context」とは

contextの語源は「文脈」や「状況」という意味です。

MCPでは「モデルが利用できる外部の情報やリソース」を context と呼びます。

つまり、AIモデルがユーザーの入力(プロンプト)だけではなく、必要に応じて追加で参照できる周辺情報を「コンテキスト」として扱う仕組みです。

具体的には:

  • ユーザー環境の情報 例:ファイルシステム、ブラウザタブ、IDEのコードベースなど
  • 外部サービスやAPIからのデータ 例:データベース、検索エンジン、クラウドストレージ
  • 会話の履歴や状態 例:過去のメッセージや操作の流れ

MCPはAIのための「USB-C」のようなものにたとえられます。

USB-Cケーブル一本で、様々なデバイス(PC、スマホ、モニター)を繋げられるように、MCPという共通のルールを通して、AIと様々なツールやデータを安全に連携させることができるのです。

公式サイト:https://modelcontextprotocol.io

GitHub:https://github.com/modelcontextprotocol

身近な例で考えてみよう

普段スマートフォンでアプリを使うとき、「写真アプリ」が他のアプリである「電話帳」にアクセスしたり、「地図アプリ」が位置情報を使ったりしますよね。

これと同じように、MCPはAIが様々なツール(ファイル操作、データベース、ウェブ検索など)を使えるようにする仕組みなのです。

MCPの全体像

MCPのアーキテクチャは以下の図のようになります。

MCPの全体像

1. 3つの主要コンポーネント

  • MCP Client(青): Claude Desktopなど、ツールを使いたいAIアプリ
  • MCP Protocol(赤): JSON-RPC 2.0による通信プロトコル
  • MCP Server(緑): 実際の機能を提供するツール群

2. 双方向通信

  • リクエスト/レスポンスの流れを矢印で表現
  • プロトコルが中間層として両者を繋ぐ役割

3. 具体的な動作フロー

  • 5段階のステップで実際の処理の流れを表示
  • ユーザー要求から結果表示までの全プロセス

なぜMCPが注目されているの?

MCPが解決できる事

  • 統一された方法でAIがツールを使える
  • 安全性が確保されている
  • 開発が簡単になる

例えばこれまでの問題点

  • AIは賢いけれど、外部のデータにアクセスできない
  • 毎回新しいツールを作るのは大変
  • セキュリティが心配

MCPでできることの具体例

  1. ファイル操作
    • テキストファイルの読み書き
    • フォルダの作成や整理
  2. データベース連携
    • SQLiteデータベースの操作
    • データの検索や更新
  3. ウェブ連携
    • ウェブサイトの情報取得
    • APIとの連携
  4. 業務システム連携
    • Slack、GitHub、Googleサービスとの連携

「Claude Desktop」を使ったMCPの統合アーキテクチャ

Claude Desktopでは、MCP Hostが複数のサーバー(FileSystem、Database、GitHub、Slack等)を同時に管理し、Clientからの要求を適切なサーバーにルーティングします。

MCP Hostは単なる通信の中継点ではなく、セキュリティ、管理、制御の中核を担う重要なコンポーネントです。

今回は、初心者でも扱いやすいClaude Desktopでの環境構築を解説します。

「Claude Desktop」での環境構築の流れ

必要なもの

  • パソコン(Windows、Mac、Linux対応)
  • インターネット接続
  • 基本的なプログラミング知識(あると良い)

ステップ1: Node.jsのインストール

MCPの多くのツールはNode.jsで作られています。
動作させるにはNode.jsをインストールしておく必要があります。

Windowsの場合:

  1. Node.js公式サイトにアクセス
  2. LTS版をダウンロード
  3. インストーラーを実行

Macの場合:

Bash
# Homebrewを使用(推奨)
brew install node

# または公式サイトからダウンロード

確認方法:

Bash
node --version
npm --version

ステップ2: Claude Desktopのインストール

  1. Claude公式サイトからClaude Desktopをダウンロード
  2. インストーラーを実行
  3. アカウントでログイン

ステップ3: 最初のMCPサーバーを試してみよう

自分のパソコンのファイルをAIに操作させるファイルシステムサーバーの例:

Bash
# MCPサンプルプロジェクトをクローン
git clone https://github.com/modelcontextprotocol/servers.git
cd servers/src/filesystem

# 依存関係をインストール
npm install

# サーバーを起動
npm start

ステップ4: Claude Desktopとの連携設定

JSON
//Claude Desktopの設定ファイル(claude_desktop_config.json)を編集:
{
  "mcpServers": {
    "filesystem": {
      "command": "node",
      "args": ["/path/to/servers/src/filesystem/index.js"],
      "env": {
        "NODE_ENV": "development"
      }
    }
  }
}

実際に使ってみよう:基本操作

ファイル操作の例

Claude Desktopを開いて、以下のように話しかけてみましょう:

Bash
"デスクトップに新しいフォルダ'my_project'を作成してください"
Bash
"そのフォルダにreadme.txtファイルを作成して、プロジェクトの概要を書いてください"
MCPファイルシステムサーバー

データ処理の例

Bash
"CSVファイルを読み込んで、売上データの集計をしてください"

別のクライアントツール「Cursor」と「Claude Desktop」の違い:完全分離型

MCPをサポートするクライアントアプリケーションは急速に増えています。

開発者向けツール系でよくネットに情報があるCursorもその一つです。

Curosrはソフトウェアのプログラミングに使われるエディタですが、機能が拡張されてMCPのクライアントツールとして使えます。

今回紹介した「Claude Desktop」と「Cursor」の違いを確認してみましょう。

Claude DesktopとCursorの違い

Cursor側の特徴:

  • Client のみ: CursorエディタはMCP Clientとしてのみ動作
  • Host機能なし: サーバー管理は行わない
  • 外部依存: MCPサーバーは完全に独立したプロセスとして動作

設定方法の違い

CursorではMCP設定を ~/.cursor/mcp.json(グローバル)または .cursor/mcp.json(プロジェクト単位)で管理 Cursor – Model Context Protocol (MCP)し、各サーバーは独立してユーザーが起動・管理する必要があります。

実際の動作の違い

Claude Desktop:

Bash
User  Claude Desktop  内部MCPサーバー  結果
       (Client+Host)    (内部プロセス)

Cursor:

Bash
User  Cursor Editor  外部MCPサーバー  結果
       (Client のみ)   (独立プロセス)

それぞれの利点・欠点:

Claude Desktop(統合型):

  • ✅ 簡単セットアップ
  • ✅ 統一管理
  • ❌ 柔軟性制限

Cursor(分離型):

  • ✅ 高い柔軟性
  • ✅ プロジェクト単位設定
  • ✅ 他のツール(VS Code、Claude Code等)との共有可能
  • ❌ 複雑な設定・管理

Cursorでは「MCPサーバーが外部コンテキストをCursorに持ち込むブリッジとして機能し、Google DriveやNotionなどのサービスへの接続を可能にする」 Cursor – Model Context Protocol (MCP)という設計思想です。

つまり、Cursorは開発者により多くの制御権と柔軟性を与える代わりに、設定の複雑さを受け入れるというアプローチを取っているのです。

よくある質問とトラブルシューティング

Q: MCPサーバーが起動しない

A: 以下を確認してください:

  • Node.jsが正しくインストールされているか
  • パスが正しく設定されているか
  • 必要な権限があるか

Q: セキュリティは大丈夫?

A: MCPは以下の安全機能があります:

  • サンドボックス環境での実行
  • 権限ベースのアクセス制御
  • 透明性のあるログ記録

Q: プログラミング知識がなくても使える?

A: 基本的な使い方なら可能ですが、カスタマイズには多少の知識が必要です。

もっと活用するために

おすすめのMCPサーバー

ファイル操作全般

@modelcontextprotocol/server-filesystem

データベース操作

@modelcontextprotocol/server-sqlite

GitHub連携

@modelcontextprotocol/server-github

その他、MCP Marketなどでさまざまなサーバーが公開されています。

自分でオリジナルのMCPサーバーを作るには

以下のようなオリジナルサーバーを作ったとしてます。

JavaScript
// 簡単なMCPサーバーの例
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';

const server = new Server({
  name: 'my-custom-server',
  version: '1.0.0'
});

// ツールの定義
server.setRequestHandler(ListToolsRequestSchema, async () => {
  return {
    tools: [{
      name: 'hello',
      description: 'Say hello',
      inputSchema: {
        type: 'object',
        properties: {
          name: { type: 'string' }
        }
      }
    }]
  };
});

// サーバー起動
async function main() {
  const transport = new StdioServerTransport();
  await server.connect(transport);
}

main();

MCPサーバーを利用するための設定方法を説明します。

Claude Desktop での設定

Claude DesktopでMCPサーバーを使用するには、設定ファイルを編集します。

設定ファイルの場所

macOS:

~/Library/Application Support/Claude/claude_desktop_config.json

Windows:

%APPDATA%\Claude\claude_desktop_config.json

claude_desktop_config.jsonの設定ファイルの基本内容

JSON
{
  "mcpServers": {
    "my-custom-server": {
      "command": "node",
      "args": ["/path/to/your/server.js"]
    }
  }
}
他のサーバーと組み合わせた具体的な設定例
JSON
{
  "mcpServers": {
    "my-custom-server": {
      "command": "node",
      "args": ["/Users/username/projects/mcp-server/index.js"]
    },
    "another-server": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-example"]
    }
  }
}

設定のポイント

  1. command: 実行するコマンド(node, npx, pythonなど)
  2. args: コマンドに渡す引数の配列
  3. パスは絶対パスを使用することを推奨
  4. 複数のMCPサーバーを同時に設定可能

設定後の手順

  1. 設定ファイルを保存
  2. Claude Desktopを完全に再起動
  3. 新しい会話を開始すると、MCPサーバーのツールが利用可能になります

確認方法

Claude Desktopの画面下部、メッセージ入力欄の近くに🔌アイコンMCPサーバー接続状態が表示されます。(これ手によりサーバーが接続されている事を確認)

設定したhelloツールを使うには、普通に質問するだけです:

ユーザー:

Bash
「太郎」という名前でhelloツールを使って挨拶して

Claudeの動作:
Claudeが自動的にhelloツールを呼び出し、結果を返します:

Bash
こんにちは、太郎さん!

まとめ

MCPは、AIと外部ツールを安全につなぐ画期的な技術です。

最初は難しく感じるかもしれませんが、基本的な設定さえできれば、AIの可能性が大きく広がります。

今すぐ始められること:

  1. Claude Desktopをインストール
  2. 簡単なファイル操作から試してみる
  3. 少しずつ他のツールも使ってみる

技術は日々進歩していますが、MCPの基本概念を理解しておけば、新しい機能が追加されてもすぐに活用できるようになります。

ぜひ実際に手を動かして、AIとツールが連携する面白さを体験してみてください!