MCP サーバーとエージェント用ツールの設定方法

AGIに仕事を奪われたい
この記事は約6分で読めます。

3,493 文字

How to setup MCP servers and tool use for agents
Join My Newsletter for Regular AI Updates 👇🏼 Links 🔗👉🏻 Subscribe: 👉🏻 Twitter: https:/...

簡単な MCP サーバーをツールと共に設定し、Claude デスクトップで実行する方法をお見せします。MCP サーバーについてご存じない方は、AIアシスタントやエージェントにツールや一連のツールを公開するようなものだと考えてください。
私は、与えられた単語に含まれる「R」の数を数えるツールを作成しました。ここでClaude デスクトップで「ストロベリーの中のRをカウントするツールを使ってください」と言うと、「ストロベリーという単語に含まれるRの文字をカウントするために「count R」ツールを使います」と表示されます。そして「ストロベリーという単語には3つのR文字が含まれています」と結果が出ます。
非常にシンプルですが、これがあなたが構築したいどんなツールの基礎にもなるはずです。どのように作ったか見ていきましょう。
まず最初に、好みのIDEを開きます。今日は私はWindsurfを使います。次に、ターミナルを開きます。最初にすることは、新しいフォルダを作成することです。任意の場所に作成でき、「mkdir」と入力してからフォルダ名を指定します。例えば「count_r_server」と入力してエンターを押します。
私はすでにそのフォルダを作成しているので、そこに移動します。「cd count_r_server」と入力します。次に新しい環境を立ち上げます。そのためには「python -m venv venv」と入力してエンターを押します。
次に環境をアクティブにします。Windowsの場合はこのようにします:「venv\Scripts\activate」と入力してエンターを押すと、アクティブ化されたことが表示されます。Macの場合は「source venv/bin/activate」と入力します。
これで環境が準備でき、正しいフォルダにいることが確認できました。次に、MCPライブラリをインストールします。「pip install mcp」と入力してエンターを押すと、必要なものがすべてインストールされます。
これで実際のサーバーを書く準備ができました。「server.py」という新しいファイルを作成します。これは当然Pythonファイルです。
これは絶対に必要なものよりも少し複雑なバージョンのMCPサーバーです。エラー処理といくつかの堅牢性を追加しています。どのようなものか説明していきます。
まず最初にインポートします:
Copyfrom mcp.server.fastmcp import FastMCP
import time
import signal
import sys
MCPサーバーを起動して実行するために必要な行数は最小限で、おそらく12行未満ですが、ここではより堅牢にしました。シグナルハンドラがあり、Ctrl+Cをきれいに処理してくれます。
ここからMCPサーバーが始まります:
Copymcp = FastMCP(
name=”count_r”,
host=”127.0.0.1″,
port=5000,
timeout=30
)
ツールを呼び出す際に参照するため、名前を「count_r」としています。これにより、プロンプトで明示的に「count_rツールを使って〜」と言えるようになります。次にホストURLを指定しますが、すべてローカルで実行しているので、ローカルホストアドレス127.0.0.1を使い、ポート5000を指定します。また30秒のタイムアウトも設定しています。
次に実際のツールを定義します:
Copy@mcp.tool()
def count_r(word: str) -> int:
“””Count the number of ‘r’ letters in a given word.”””
try:
if not isinstance(word, str):
return 0
return word.lower().count(‘r’)
except Exception as e:
return e
「count_r」という関数を定義し、単語(文字列)を渡し、整数を出力します。簡単な定義の後、単語が渡されなかった場合のエラー処理を行い、単語内の「r」の数をカウントして整数として返します。
これはどんなツールにもなりえます。天気サーバーを使って天気を確認したり、基本的にはMCPが提供するこの便利なテンプレートに任意のAPIをラップしたりできます。あなたが構築したい単一のツールがあれば、これが方法です。
既にMCPツールでいっぱいのサーバーが存在することもお忘れなく。「awesome-mcp-servers」という素晴らしいGitHubリポジトリを見つけました。appSipherによるもので、説明欄にリンクを置いておきます。これは文字通り素晴らしいMCPサーバーのリストで、何ができるか、ドキュメント、使い方、接続方法など全てが載っています。
コードに戻りましょう。例外がある場合はそれを返し、最後に:
Copyif name == “main“:
print(“Starting MCP server…”)
mcp.run()
これでサーバーが起動します。
すべて書き終えたら、サーバーを起動できます。「python server.py」と入力すると、「Starting MCP server count_r on 127.0.0.1:5000」と表示されます。
しかしこれだけではありません。Claude デスクトップにMCPサーバーの場所を教える必要があります。Claude デスクトップがない場合は、これらのMCPサーバーを使用するために必要です。Cloud Webでは使用できないようです。
小さなハンバーガーメニューから「File」→「Settings」→「Developer」を選択し、「Edit config」ボタンをクリックします。これで直接編集が必要なファイルにリンクされます。
最初は空白のJSONファイルで、以下を追加する必要があります:
Copy{
“mcpServers”: [
{
“name”: “count_r”,
“command”: “python”,
“arguments”: [
“/absolute/path/to/server.py”
],
“host”: “127.0.0.1”,
“port”: 5000,
“timeout”: 30
}
]
}
まずツールを定義し、「count_r」という名前を付け、実行するコマンドを「python」とし、引数の一つとして重要なのはサーバーを見つけるための絶対パスで、これが私の場所です。次にホスト、ポート、タイムアウトを指定します。
サーバーが起動したら、Claude デスクトップを開きます。奇妙なことに、MCPサーバーを起動するたびにClaude デスクトップは認識しません。Claude デスクトップをアンインストールして再インストールすると認識されますが、これは非常に面倒です。
Claude デスクトップを再インストールしたら、「File」→「Settings」→「Developer」に戻ると、「count_r」サーバーが表示されるはずです。コマンド「python」と引数が表示され、実行中であることが分かります。
小さなハンマーアイコンをクリックすると、「1つのツールが利用可能:count_r – 指定された単語のR文字の数をカウントする」と表示されます。
試してみましょう:「count_rツールを使って、ストロベリーという単語のRの数をカウントしてください」とエンターを押すと、ダイアログが表示され、ツールの使用を許可するか尋ねられます。「このチャットで許可」、「一度だけ許可」、「拒否」から選べます。詳細も表示されます。「このチャットで許可」を選びます。
これで使用できるようになりました!入力された単語「ストロベリー」に対して、結果「3」が得られ、「ストロベリーという単語には3つのR文字が含まれています」と表示されます。
これでサーバーが起動し、ツールが定義され、Claude デスクトップに接続されました。これがMCPの使い方です。Claude デスクトップにMCPサーバーを認識させるためには、アンインストールして再インストールする必要がありましたので、それをお忘れなく。
リンクはすべて説明欄に置いておきます。この動画が気に入ったら、ぜひいいねとチャンネル登録をお願いします。次回の動画でお会いしましょう。

コメント

タイトルとURLをコピーしました