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
「パスキーはワナだ、使うな」にネット騒然 プロが“待った”をかけるワケ:902nd Lap
-
2
今、IT資格を取るならどれ? ランキングに見る「急浮上の資格」と「不動の資格」
-
3
大田区、年1000時間の問い合わせを「AI電話」で削減できるか? 実証実験で見えた課題
-
4
なぜ、突如「PHPパニック」は起こったのか? 緊急メンテ続出の理由とその後
-
5
PHP脆弱性、自社のリスクは? 今すぐできる点検の手順とPHP以外の注意点 無料点検も登場
-
6
「Gemini Notebook」で始める「AI×自動化」実践ガイド
-
7
48年も愛された名作CPU「Z80」を、引退に追い込んだ“抗えない事情”
-
8
磐田市、財務会計業務への生成AI導入実証 年間590時間、約177万円の削減効果を確認
-
9
止まらない不正アクセス、広がる情報漏えい 大手企業・公的機関を襲った10事案
-
10
Microsoftの“あのキャラ”がまさかの復活? 公式「X」乗っ取り事件の珍騒動:901st Lap
キーマンズネット SNS
インフォメーション
注目情報をチェック
キーマンズネットをフォロー