🌸

ClaudeでMCP(Model Context Protocol)を動かしてみる

に公開

やること

最近AIエージェントの文脈でMCPが盛り上がっているようなので、どんなものか動かしてみる

MCPとは?

https://modelcontextprotocol.io/introduction

公式ページを直訳すると「MCPは、AIアプリケーション用の USB-Cポートのようなもの」だそうです。確かにそう捉えれば色んなことができそうです。

アーキテクチャも公式ページにのっています。

図を読み解くとMCPサーバーを介してAIシステムとデータベースや他のインターネットサービスと連携し、AIシステムの中で一挙に色んなサービスを使えるようにできる仕組みと考えて差し支えなさそうです。ここで、図にあるようにAIシステム(=ClaudeなどのLLMやWindsurfといったAIエディタなど)がMCPクライアントになるということでしょう。

MCPを使うと何がうれしいのか

 端的に言えば、MCPと連携したLLMにアクセスすればほしい情報が全部手に入ってラクになります。例えば旅行するときに天気、交通情報、観光スポット、ホテルなどそれぞれ調べるのは大変ですが、LLMシステムがこれらの情報を全部踏まえて提案してくれれば便利そうです。また、ニュースや天気予報などのリアルタイムな情報にも答えてくれるようになります。これは外部APIを使えばすでに実現している話ではありますが、APIと連携するために都度実装しなくても、MCPを使えばぽちっとするだけで連携できそうです。
 開発者の視点でいくと例えばLLMシステムを開発するときに、連携したいインターネットサービスがMCPサーバーを提供してくれていればそれと連携する仕組みを作ったり、あるいは自社サービスがあればそのMCPサーバーを作れば、他社に展開できるかもしれません。

既存のMCP

https://modelcontextprotocol.io/examples
https://modelcontextprotocol.io/clients

 PostgreSQLやSQLiteといったデータベース、Google Driveなどのクラウドストレージ、GitやGitHubなどの開発ツールはすでにMCPサーバーが提供されています。また、MCPクライアントとしてはClineやCursor、WindsurfといったAIエディターが対応しているようです。
 今回は初めてなので、公式ページにある天気予報サーバー(MCPサーバー)を立てて、Claude(MCPクライアント)と連携するサンプルコードを動かしてみます。

前提

・Claude for Desktopをインストール済みであること

MCPサーバーを立ててみる

基本的には公式ページに書いてあるとおり進めます。
https://modelcontextprotocol.io/quickstart/server

Claude for Desktopの設定は開発者モードにする必要があります。
上手く設定できると以下のようにチャット入力欄のところにMCPが表示されます。

トンカチ?マークをクリックするとサンプルコードに書いてある関数と連携できているようです。

試しにニューヨークの天気を訊くと、サーバーを参照してリアルタイムで取得できているのがわかります。

MCPクライアントを立ててみる

こちらも同様公式ページを辿っていきます。
https://modelcontextprotocol.io/quickstart/client

VSCodeからClaudeのAPIを叩いてニューヨークの天気を訊いてみると、ちゃんと返答してくれました。

コメントなど

今回は単独でサーバーとクライアントを立てただけですが、すごい進展性がありそうな技術だなーと感じました。MCPサーバーの組合せによって業務特化型のLLMシステムを作ったりできそうです。また、AIエージェントと連携してなんかできないかなという期待感が膨らみました。

ヘッドウォータース

Discussion