AIじゃないよ

MCP 徹底入門ガイド:LLMを無限に機能拡張!Claude, GPT, Geminiでファイル編集MCPを実装

当サイトはアフィリエイト広告を一部掲載しています。

Model Context Protocol(MCP)は、ClaudeやGPT-4o、Geminiなどの大規模言語モデル(LLM)と、外部のデータソースやツールを接続するための標準規格だ。

例えば、GoogleドライブとLLMを接続するMCPを使うと、ClaudeやGPT-4oとのチャットの中で、自分のGoogleドライブ上のファイルを探してもらったり、編集させたりすることができる。

MCPは、普段はテキストを生成するだけのChatGPTやClaudeを、様々なツールを使いこなしながら、ユーザーの代わりに行動するアシスタントへと進化させる、夢の技術なのだ。

本記事では、初心者にとっては仕組みを理解するのが難しいMCPを、できるだけ丁寧に解説していく。

また、MCPの使い方をマスターすべく、以下のような MCPサーバー/クライアントを実装する手順をステップバイステップで解説する。

  • ClaudeにPC上のファイルの読込・編集権限を与えて、人間の代わりにドキュメントを作成させる
  • 汎用チャットアプリ「LibreChat」を使って、Claude以外のGPT-4oやGeminiでもMCPを使えるようにする

いずれも、プログラミングの知識がなくても、初心者でも再現できるように丁寧に解説しているので、ぜひ真似してMCPの力を体験して欲しい。



MCPとは何か?できるだけ分かりやすく解説

Model Context Protocol(MCP)は、Claudeを開発するAnthropicによって、2024年11月にリリースされた規格だ。

オープンソースの汎用規格なので、現在ではClaudeだけでなく、様々なサードパーティーアプリがMCPに対応している。そのおかげで、OpenAIやGeminiなど、他社のLLMでもMCPを利用する手段がある。

LLMは、これまで主に文章生成で進化してきたが、ユーザーのローカルPC上にあるデータや、最新の株価情報などの外部データソースからは切り離されている。

したがって、外部のデータにアクセスしたい時は、ユーザーがチャットに情報をコピペするしかないし、ローカルPC内のファイルも当然編集してくれないので、最後はユーザー自身が動くしかない、という限界があった。

MCPは、そういった課題を解消するための仕組みだ。

MCPの魅力:MCPサーバー/MCPクライアントとは

MCPは、AIが実行できるアクションを追加していく強化パーツのようなものだ。

まず、AIにアクセスさせたい外部のデータソースや、AIが実行できるアクションを定義しておく(例:PC内のデスクトップフォルダにあるファイルの読み込み/書き出しを許可)。これをMCPの用語では「MCPサーバー」と呼ぶ。

そして、LLM側は、必要に応じてこれらの「MCPサーバー」を呼び出して、事前に定義されたアクションを実行する(例:チャット履歴を保存せよというユーザー指示を受け、デスクトップフォルダに.txtファイルを書き出す)。こうした実行側のLLMアプリのことを「MCPクライアント」という。

例えばClaude Desktopアプリは、MCPクライアントとしての機能を備えているので、自由自在に好きなMCPサーバーを追加して、チャット内で呼び出せる。

Web検索機能を備えたMCPサーバー、クラウドストレージ内のファイルを読み込むMCPサーバー、ローカル環境にファイルを書き出すMCPサーバーなど、必要なアクションをどんどん追加できるのだ。

MCPの「サーバー」は、ウェブサーバーとは異なる

「サーバー」という言葉から、インターネット上に公開されているウェブサーバーをイメージする人も多いだろう。しかしMCPにおける「サーバー」は、Claudeデスクトップアプリのような「MCPクライアント」と情報をやり取りするためだけに存在する窓口のようなイメージだ。

Desktopフォルダにあるファイルを見つけてこいと言われたClaude(MCPクライアント)が、ファイル受け渡し窓口(MCPサーバー)を訪れ、このファイルありますか?と尋ねてファイルを受け取る・・・みたいな感じだ。

MCPサーバーは、ファイル操作のようにユーザー自身のPC内でのみ動作する非公開プログラムであることもあれば、リアルタイムの株価情報を配信しているまさにWebサーバーのような公開プログラムであることもある。

従って、自分のPC上のファイルを操作するMCPサーバーを設定しても、外部には公開されないので、プライバシーが危険に晒されるなんてことはないので安心してほしい。

MCP で出来ることを理解するための2つのチュートリアル

現在MCPを活用する最も簡単な方法は、Anthropicの開発するLLMであるClaudeのアプリを通じてだ。

Anthropic自身がMCPを開発したため、すでにClaudeのデスクトップアプリに、MCP機能が組み込まれており、初期設定がとても簡単なのだ。

以下では、まず、Claudeのデスクトップアプリで、ローカル環境にあるファイルの読み書きを可能にするMCPの設定例を紹介する。

ただ、せっかくのオープンプロトコルを、Claudeだけで使うのは勿体無い。

そこで、OpenAIのo3やGPT-4.5、GoogleのGeminiなどと組み合わせてMCPを使えるように、汎用チャットアプリ「LibreChat」にMCPを組み込む方法も紹介する。

下準備:Node.jsのインストール

MCPサーバーを利用するには、システム上にNode.jsがインストールされている必要がある。

自分のPC上にNode.jsがインストールされているか確認するため、コマンドラインを開き(Macであればターミナルアプリ)、コマンドnode --versionと入力してバージョン情報が表示されることを確認する。

Node.jsがインストールされていない場合は、以下のリンクからインストーラーをダウンロードしてインストールする。

Node.jsの準備ができたら、次のステップに進んでほしい。

ClaudeデスクトップアプリにMCPを実装する方法

まだインストールしていない人は、Claudeデスクトップアプリをインストールする。Mac/Windows用にアプリが存在するので、どちらのOSでも利用できる。

アプリをインストールできたら、設定を開いて、「Developer」メニューに移動する。次に、「Edit Config」ボタンをクリックすると、自動的にMCP設定ファイルがjson形式で生成される。

claude_desktop_config.jsonという名前の設定ファイルが、MacとWindowsでそれぞれ以下のフォルダに生成されているはずだ。このファイルをテキストエディタで開いて、追加したいMCPサーバーの情報をテキストで記述するだけで、MCPサーバーを利用できるようになる。

【設定ファイルの場所】
• macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
• Windows: %APPDATA%\Claude\claude_desktop_config.json

今回は、Claudeがローカルファイルの読み書きが出来るようになるMCPサーバーとして、Anthropicによって開発された「Filesystem MCP Server」を利用する。

MCPサーバーは、(頑張れば)自分で開発することも可能だが、すでにAnthropicやコミュニティによって開発されているものを利用するのが一番早い。

Filesystem MCP Server」の解説(README.md)にある通り、以下のコードを先ほどの設定ファイルclaude_desktop_config.jsonに丸ごとコピペするだけで良い。

usernameの部分は、自分のPCのユーザー名に置き換える必要があるので注意してほしい。また、以下ではMacでいう「デスクトップ」フォルダと「ダウンロード」フォルダへのアクセス権限を付与している。必要に応じてフォルダのパスを変更・追加することで、他のフォルダへのアクセス権限も付与できる。

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/username/Desktop",
        "/Users/username/Downloads"
      ]
    }
  }
}

VS Codeで設定ファイルを開き、実際にペーストした例が以下である。プログラミングの経験が全くない人は、とりあえずVS Codeをインストールしておくと便利だ。

設定ファイルを上書きして保存したら、Claudeアプリを一度再起動する必要がある。

再起動後、MCPサーバーが正しく認識されていれば、「Filesystem MCP Server」で利用できる11個のツール群が、ハンマーマークのアイコン内に表示されているはずだ。

試しに、「デスクトップにメモフォルダを作って」と頼んでみると、MCPを利用してフォルダを作成しようとしてくれる。

アクセスを許可するかどうか確認するメッセージが表示されるので、「Allow for This Chat」を選択する。

何度か表示された確認メッセージを許可していくと、無事にデスクトップに「メモ」フォルダが作成された。

AIが自律的に自分のPC上のファイルやフォルダを操作してくれるのは実に衝撃的な体験だ。

これを応用していけば、普段から自分のノートを管理しているフォルダへのアクセスをClaudeに付与して、自分専用のライティングアシスタントとして行動してもらうこと等も可能だ。

MCPサーバーの追加も非常に簡単なので、ネット上で見つけた便利なMCPをどんどんインストールして、Claudeをもっと便利にカスタマイズしていくことができる。

汎用チャットアプリLibreChatにMCPを実装する方法

当サイトで度々お勧めしているアプリ「LibreChat」は、ChatGPT風のチャットインターフェースで、OpenAIやAnthropic、Googleなど各社のLLMを1箇所で使える汎用チャットアプリだ。

GPT-4.5やClaude 3.7 Sonnet、Gemini 2.0 Proなどの最新モデルも、各社のAPIキーを利用することで、格安の従量課金で利用することができ、月額サブスクリプション料を大幅に節約できる神アプリだ。

LibreChatそのもののインストール方法は、当サイトの過去の記事で詳しく解説しているので、まだ導入していない人は導入することを勧める。

LibreChatでMCPを利用するには、Claudeデスクトップよりは細かい設定が必要になる。以下のステップを一つずつ解説していく。

  1. librechat.yamlファイルを作成してMCPサーバーを定義する
  2. docker-compose.override.ymlで起動時に上記の.yamlファイルを用いるよう命令する
  3. ファイルの読み書きを行う場所としてLibreChat/dataフォルダを作成する

まず、LibreChatのインストールフォルダ直下にlibrechat.yamlファイルを作成し、先述のClaudeの設定ファイルと似たような内容を記述する必要がある。

デフォルトではlibrechat.yamlファイルは存在しないので、新規作成する。

先ほどと同じく、わかりやすい例として「Filesystem MCP Server」を設定する。LibreChatのドキュメントでも記述方法が解説されているが、要するに以下をlibrechat.yamlファイルにコピペすれば良い。

version: 1.2.1
cache: true
mcpServers:
  filesystem:
    type: stdio
    command: npx
    args:
      - -y
      - "@modelcontextprotocol/server-filesystem"
      - /app/data  # Dockerコンテナ内のパス

次に、同じくLibreChatのインストールフォルダ直下に、docker-compose.override.ymlというテキストファイルを作成し、以下のテキストを記入して保存する。

services:
  api:
    volumes:
    - type: bind
      source: ./librechat.yaml
      target: /app/librechat.yaml
    - type: bind
      source: ./data  # ホストマシン上のディレクトリ
      target: /app/data  # コンテナ内のマウントポイント

最後に、LibreChatのインストールフォルダ直下に、「data」という名前のフォルダを作成する。LibreChat上のLLMが、MCPサーバーを使って読み書きができるファイルは、この「data」フォルダ内にあるファイルに限定される。

※「data」フォルダを作成する作業が必要な理由:
ややこしい話なので、初心者は読み飛ばしても良い。
Filesystem MCPは、ローカルPC上のファイルの読み書きを可能とするMCPだが、LibreChat自体がDockerで構築した仮想サーバー上で動いているので、その仮想サーバー上のファイルしか認識してくれない。
上記は、「data」フォルダを、仮想サーバーと自分のPCの両方からアクセスできるフォルダとするための設定だ。

以上の設定が完了したら、LibreChatを再起動する。ターミナルに以下のコマンドを打ち込んで、ついでにLibreChatのバージョン更新を行いつつ再起動する。

docker compose down
git pull
docker compose pull
docker compose up

MCPサーバーを有効にするには、LibreChatの「Agent Builder」機能を利用する。

LibreChatにおけるAgentとは、通常のLLMモデルに、MCPサーバーのようなツール群を接続したものをテンプレートとして保存しておける機能だ。

今回はお試しとして、「gpt-4o」をモデルとして選択する。Agent Builder内にある「Tools + Actions」のメニューから、「Add Tools」ボタンをクリックすると、Agentに追加可能なMCPサーバーなどのツールが表示される。

今回の場合、先ほど追加したFilesystem MCPで利用できる11個のツールが表示されているはずなので、とりあえず全部「Add」ボタンを押して追加しておく。

このAgentを、「GPT-4o + Files」と名付けて保存して、試しに「dataフォルダの中に、メモフォルダを新規作成してください」という指示をしてみた。

すると見事、dataフォルダ内に、「メモ」というフォルダが生成された。

このように、LibreChatのようなMCPに対応したサードパーティーのアプリを使えば、Claudeだけでなく、GPT-4oやGeminiなど、この世にあるほぼ全ての大規模言語モデルを、MCPによって機能強化することができるのだ。

これこそが、標準規格として開発されているMCPの利点と言えよう。

無限に広がるMCPの可能性:コーディングからノート管理まで

MCPが発表されてからまだ半年も経っていないが、Anthropicやコミュニティによって、多数のMCPサーバーが開発され公開されている。

以上で紹介してきたように、Claudeデスクトップアプリでも、LibreChatでも、非常に簡単に新規のMCPを追加することが可能なので、便利そうなMCPを見つけたら、どんどん試してみるのがお勧めだ。

MCPの公式ドキュメントでは、すでに開発されている多数のMCPサーバーが紹介されている。どのようなものがあるのか、いくつか例を見てみよう。

  • Google Drive MCP: Googleドライブのファイルへのアクセスや検索機能を利用できる
  • GitHub MCP: リポジトリ管理、ファイル操作、GitHubのAPI連携ができる
  • Brave Search MCP: BraveのAPI経由でウェブ検索やローカル検索を実行できる
  • Puppeteer MCP: ブラウザの自動操作やウェブスクレイピングができる
  • Slack MCP: Slackのチャンネル管理やメッセージ送信ができる
  • Obsidian Markdown Notes MCP: ObsidianのVault内のMarkdownノートを読み取り・検索できる
  • Spotify MCP: Spotifyの再生コントロールやプレイリスト管理ができる

これらのMCPサーバーを組み合わせることで、LLMの能力を大幅に拡張することができる。

例えば、Web検索やWebスクレイピングで収集したリサーチ結果を、LLMで要約・整理して、直接それをObsidianのノートとして保存させる、といった複合的なタスクさえも実現できてしまう。

また、MCPサーバーを活用するMCPクライアント側も充実しつつある。

本記事で紹介したClaudeデスクトップやLibreChatはあくまでチャットアプリだが、例えばCursorやZedなどのコーディング・プログラミングツールも、MCPクライアントの機能を備えたものが登場している。

Git管理やGitHubレポジトリの操作も可能なMCPと、Cursorなどのコードエディタを組み合わせれば、より一層AIによって代行できる作業の範囲が広がる。

MCPを使いこなしてAIエージェントを一足先に体感

MCPは、非常に簡単な設定だけで、LLMに強力な機能・ツールを追加できるので、大きな可能性・将来性を感じる。

MCPは、LLMを単なるチャット相手・文章生成マシンから、リアル世界のデータやツールに直接働きかけ、人間に代わってタスクを完了していくエージェントへと進化させる可能性すら秘めている。

個人的には、あらゆるノートテイクやライティング作業にObsidianを使用しているので、Obsidian MCPの存在はかなり嬉しい。

Obsidianはローカル環境にMarkdown形式のテキストファイルを保管するのが特徴だ。こうしたデータが蓄積していくタイプのアプリでは、LLMがPC上に保管されているファイルに直接アクセスして、編集や整理、新規作成をサポートしてくれる利点が非常に大きい。

同様に、コードベースやGitHubにLLMが直接アクションできるようになることで、コーディングやプログラミングにも大きな利点があるだろう。

現状では、LibreChatやCursorなどのサードパーティーが開発するツールが、MCPに対応しつつある状況だ。

将来的に、ChatGPTやGeminiなどの他社のデスクトップアプリもMCPに対応してくれると、さらにエコシステムが発展していくだろうが、どこまでMCPの採用が進むかは未知数だ。

MCPの認知度が高まり、さらに多くのMCPサーバーやMCPクライアントが登場する未来に期待したい。



Make a comment

*
*
* (公開されません)

CAPTCHA