メディア

AIエージェントの基礎技術になる? 「MCPサーバ」とは 文系記者が実際に作って解説MCPサーバを作って遊ぶ

生成AIチャットbotは外部データの引用して厳密な情報を出力することが苦手です。生成AIチャットbotにツールを持たせられたら便利になりますよね。そこで便利なのが「MCP」という技術です。今回は筆者が「MCPサーバ」を使って遊んでみました。何ができるようになるのか見ていきましょう。

» 2025年04月11日 10時00分 公開
[谷井将人キーマンズネット]

 「ChatGPT」をはじめとする生成AIチャットbotサービスって便利ですよね。文章作成はもちろんプログラミングも画像認識もできます。ただ、そんな生成AIチャットbotにも明確に苦手なことがあります。それが外部データの引用して厳密な情報を出力することです。

 サービスにもよるのですが、以下のような質問には答えられない場合が多いです。

  • 「今の時刻は?」
  • 「現在地の明日の天気は?」
  • 「今週の注目ニュースは?」

 人間もそうなのですが、自身の素の能力では正確な時刻や現在地、天気予報、ニュースを知ることはできないですよね。そういった情報は時計や地図アプリ、テレビ番組などのツールを見てやっと分かるはずです。

 とすると、生成AIチャットbotにツールを持たせられたら便利になりますよね。そこで便利なのが「MCP」という技術です。今回は筆者が「MCPサーバ」を使って遊んでみました。何ができるようになるのか見ていきましょう。

ざっくり知る「MCP」とそのメリット

 MCP(Model Context Protocol)は生成AIと外部ツールを接続するための規格です。生成AIチャットbotサービス「Claude」を提供するAnthropicが2024年11月に発表したもので、同社はMCPを「生成AI向けのUSB Type-C(規格)のようなもの」としています。

 これがあれば、生成AIに比較的簡単にツールを持たせられて便利ですよね。冒頭の例に合わせるなら「MCP準拠の時計」「MCP準拠の地図アプリ」「MCP準拠のWebブラウザ」のようなものを用意すれば、生成AIチャットbotで時刻や天気やニュースの話ができるわけです。MCP準拠で生成AIに何かしらの機能を提供(Serve)するプログラムを「MCPサーバ」と呼びます。

 今話題のAIエージェントは生成AIがさまざまなツールを使って作業するわけですから、これを支えるインフラになる可能性もありますね。

 では具体的にどんなことができるのでしょうか? 実際に触ってみました。

MCPサーバ作ってみた。

 ひとまず、簡単なMCPサーバを作ってみました。現在時刻を取得するだけのMCPサーバ「GetTime」です。

 Claudeで機能を試してみましょう。まずは標準の挙動を確認します。Claudeに普通に「今の時刻は?」と聞くと以下のような返事がありました。

 「現在の時刻は2025年4月7日(月曜日)です。ただし、これは私のシステム上の日付であり、お使いの地域の実際の時間は異なる可能性があります。正確な現地時間については、お使いのデバイスの時計をご確認ください」

 なぜか日付は取得できます。ではClaudeにGetTimeを接続してもう一度聞いてみましょう。

 「現在の時刻は2025年4月7日 17:07:47です」

 完璧です。現在時刻を秒まで正確に出力できました。これだけだと面白くないので、他のMCPサーバも使ってみましょう。

「Filesystem」という便利で危険なMCPサーバ

 次に使ってみたのは「Filesystem」というMCPサーバです。これはMCPプロジェクトが公開しているMCPサーバで、生成AIにローカルファイルを操作する機能を与えるものです。ファイルの読み書きや検索、ディレクトリの操作などができます。

 これは愚痴なのですが、Claudeにプログラムを書いてもらうときに個人的に一つ大きな困りごとがあります。それが文字数制限です。一度に生成できる文字列の長さには制限があるので、長いプログラムを一発で出力できません。それ自体は「途中でプログラムが切れてしまったので続きを生成してください」と指示すれば書いてくれるのでいいですが、続きを書けばいいのに冒頭から生成しなおすことが多く、同じところで文字数制限に引っ掛かったり、プログラムを更新するときに記述場所を間違えてプログラムが壊れたりします。

 そもそもClaudeが出力するプログラムをいちいちエディタにコピー&ペーストなんてやってられないですよね。

 Filesystemがあれば「こんなWebページを作って」と指示すれば作業フォルダを作ってHTMLファイルとCSSファイルとJavaScrtiptファイルをその中に生成してくれます。プログラムを更新するときは「EditFile」機能で書き直してくれます。便利ですね(生成AI機能を搭載したエディタを使えばいい話ではあるのですが)。

photo 「create_drectory」「write_file」「edit_file」でWebページを作る
photo 完成したWebページ。内容はClaudeが想像したもの

 ローカルに保存したxlsxファイルを探して読み込んでデータ分析してもらうこともできます。便利でした。

photo 文部科学省の「令和5年度学校における教育の情報化の実態等に関する調査」を分析してもらったもの。内容は確認と精査が必要であることに留意してください

 ただ、ファイルを削除できるならPCの既存機能に問題を発生させられるかもしれないのでちょっと怖いですよね。Filesystemにはプログラムを実行するコマンドはないですが、うっかりウイルスを作れてローカルに保存できたら大変です。セキュリティの知識がないなら下手に触らないほうがいいかもしれません。

いろんなMCPサーバ

 MCPプロジェクトはさまざまなMCPサーバを配布しているので、幾つか見てみましょう。

  • Fetch MCP Server: 指定したWebページのデータを取得できる
  • Google Drive server: 「Google Drive」内のファイルを検索できる
  • GitHub MCP Server: 「GitHub」を操作できる
  • Slack MCP Server: 「Slack」のメッセージを読み書きできる

 企業や団体が公式に公開しているものもあります。

  • Cloudflare MCP Server: 「Cloudflare」アカウントを操作できる
  • Stripe Agent Toolkit: 請求書作成や残高の取得などAPIを使った操作ができる

 もし興味があるなら、公式ドキュメント(たいていGitHubにあります)を読み込んでみてもいいでしょう。

Copyright © ITmedia, Inc. All Rights Reserved.

会員登録(無料)

製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。