MCPサーバーの作り方最小構成で動かす手順
MCPサーバーは、AIから呼び出せるツールやデータを提供する小さなプログラムです。リソース・ツール・プロンプトの3つの機能、公式SDKの言語、STDIOとHTTPの違い、標準出力に書かない注意、動作確認の手順を整理します。
公的機関・公式資料などの一次情報と照合して作成しています。このサイトについて
MCPサーバーの作り方とは
MCP(Model Context Protocol)は、AIと外部のツール・データをつなぐためのオープンな標準です。MCPサーバーは、AIが呼び出せる機能(ツールなど)を提供するプログラムです。公式のチュートリアルでは、簡単な天気サーバーを作り、Claude for Desktopに接続する流れが紹介されています(MCP(Model Context Protocol)とは・MCPサーバーの仕組み参照)。
MCPサーバーが提供できるもの
| 種類 | 内容 |
|---|---|
| リソース(Resources) | ファイルのように読み取れるデータ(APIの応答・ファイルの内容) |
| ツール(Tools) | AIが呼び出せる関数(ユーザーの承認のもとで実行) |
| プロンプト(Prompts) | 定型作業を助けるあらかじめ用意したテンプレート |
最初はツールに絞って作るのが分かりやすいです(公式のチュートリアルもツールが中心)。
使える言語(公式SDK)
公式のSDKページには、Python・TypeScript・Java・Kotlin・C#・Ruby・Rust・Goなどの言語が挙げられています。慣れた言語を選べます。SDKの使い方・最新の仕様は公式で確認してください。
最小構成の手順
| 順番 | 内容 |
|---|---|
| 1 | 目的を決める(何をAIにできるようにするか) |
| 2 | 言語・SDKを選ぶ |
| 3 | ツールを定義する(名前・説明・引数) |
| 4 | ツールの処理を実装する |
| 5 | 接続方式(STDIOかHTTP)を選ぶ |
| 6 | ホスト(Claude for Desktop・Claude Codeなど)に接続して動作確認 |
| 7 | ログ・エラーを確認して改善 |
ツールの説明文はAIが使うかを判断する材料です。何をするものかを明確に書きます。
STDIOとHTTPの違い
| 方式 | 内容 | 注意点 |
|---|---|---|
| STDIO | ローカルでプログラムを起動し、標準入出力で通信 | 標準出力にログを書かない |
| HTTP | ネットワーク経由で通信(リモートサーバー) | 認証・公開範囲に注意 |
公式のチュートリアルは、STDIOベースのサーバーでは標準出力(stdout)に書いてはいけないと明記しています。標準出力に書くとJSON-RPCのメッセージが壊れ、サーバーが動かなくなります。ログは標準エラー出力などに出力します。HTTPベースでは標準出力へのログは問題ありません。
動作確認
| 方法 | 内容 |
|---|---|
| Claude for Desktop | 設定にサーバーを追加して確認(公式のチュートリアル) |
| Claude Code | claude mcp add でサーバーを追加(Claude CodeでMCPを使う参照) |
| ログの確認 | 起動エラー・ツール呼び出しのログ |
設計の注意点
| 注意点 | 内容 |
|---|---|
| 権限の最小化 | 必要な機能だけを提供 |
| 入力の検証 | 引数をチェック |
| 機密情報 | 鍵・パスワードをツールの出力に含めない |
| プロンプトインジェクション | 外部の文章をそのまま信用しない(MCPのセキュリティ参照) |
| 確認の仕組み | 重要な操作は人が承認 |
MCPサーバーを接続する前は、信頼できるものかを確認します(Claude Codeの公式ドキュメントも、信頼を確認するよう案内しています)。
MCPサーバーの作り方でよくあるミス
- STDIOサーバーで
printなどを使い、動かなくなる。 - ツールの説明が曖昧でAIが使わない。
- 権限が広すぎる。
MCPサーバーの作り方のチェックリスト
- 標準出力にログを出していないか。
- ツールの説明は明確か。
- 権限は最小限か。
MCPサーバーの作り方のFAQ(よくある質問)
Q. 作るのは難しいですか?
A. 簡単なツールなら短いコードで作れます。公式チュートリアルが参考になります。
Q. 自作せずに、既存のサーバーを使えますか?
A. 公開されているものもありますが、信頼できるか確認します(MCPサーバーの導入参照)。
Q. AIに作ってもらえますか?
A. 雛形をAIに作らせる方法もあります。生成されたコードは自分で確認します。
筆者の見解(MCPサーバーの作り方)
MCPサーバーは、「AIに新しい手足を付ける」作業だと考えます。最初は小さなツール1つから始め、安全に動くことを確かめてから広げることを、おすすめします。
MCPサーバーの作り方の関連項目
- MCP(Model Context Protocol)とは
- MCPサーバーの仕組み
- Claude CodeでMCPを使う
- MCPのセキュリティ
- ツール利用(Function Calling)
出典(一次情報)
本記事は一般的な情報の提供を目的としています。AIのサービス・機能・料金・仕様は頻繁に更新されるため、最新の内容は各社の公式ドキュメントでご確認ください。「筆者の見解」は一つの考え方です。