MCPサーバを作って遊ぶ
AIエージェントの基礎技術になる? 「MCPサーバ」とは 文系記者が実際に作って解説
生成AIチャットbotは外部データの引用して厳密な情報を出力することが苦手です。生成AIチャットbotにツールを持たせられたら便利になりますよね。そこで便利なのが「MCP」という技術です。今回は筆者が「MCPサーバ」を使って遊んでみました。何ができるようになるのか見ていきましょう。
「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機能を搭載したエディタを使えばいい話ではあるのですが)。
ローカルに保存したxlsxファイルを探して読み込んでデータ分析してもらうこともできます。便利でした。
ただ、ファイルを削除できるなら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.
編集部コラム
この記事の著者
関連記事
こんなメディアも見られています
キーマンズネットに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
SpecialPR
アクセスランキング
-
1
M365 Copilotを配っても「使われない」 でもAI活用が進んだ福島県庁の"逆張り"戦略
-
2
Googleの自動化ツール「Workspace Studio」×Gemini、4つの業務効率化アイデア
-
3
議事録AIは無料で無制限の時代へ それでも“特定の会議”でしか使われない理由
-
4
「Copilot、Word文書まとめて」で社内全滅? 勝手に増殖するAIウイルスで大騒ぎ:895th Lap
-
5
「Gemini 3.8 Flash」の狙いは“賢さ”ではない? 発表から見えた3つのポイント
-
6
【SCS評価制度と国際標準を両立】サプライチェーンを強靭化する次世代TPRM戦略『UpGuard』実演デモ
-
7
SOAPはRESTに負けたのか? 「古いAPI」を残すか見直すか
-
8
「SOLIDWORKS」を6つの視点で徹底評価する
-
9
ソニー子会社、M365環境にあえて「Gemini」を導入 システムを競合させない工夫とは
-
10
「Gemini Notebook」で利用者10倍 シニア社員をAIヘビーユーザーにした首都高の考え
キーマンズネット SNS
インフォメーション
注目情報をチェック
キーマンズネットをフォロー