【PR】この記事には楽天アフィリエイト・Amazonアソシエイトの広告リンクが含まれます。商品やサービスは公式の仕様・条件と販売情報を確認して選んでおり、実機テストによる評価ではありません。 Amazonのアソシエイトとして、PROBEFOLIOは適格販売により収入を得ています。
MCPサーバーは、AIに「呼んでよい道具」を渡すための小さなプログラムです。公式のPython SDKを使うと、関数に目印を1行付けるだけで、ClaudeなどのAIから呼べる道具になります。
PROBEFOLIO 編集部では、2026年9月24日にWindows 11のPCで、文字数を数えるだけの最小のサーバーを作り、ツール一覧と呼び出しの結果を確かめました。
この記事では、その手順と、2つ目の道具を足した例(9月25日に確認)、公式ドキュメントで確認した登録方法・つまずきやすい点を説明します。
この記事の目次
結論:uvで作り、関数に目印を付けて、Claudeに登録する
MCPサーバーづくりは、次の3段階です。
- 作る:uvでプロジェクトを作り、公式SDK(mcp)を入れて、道具にしたい関数を書く。
- 確かめる:ツールの一覧に出るか、呼んだときに正しい結果が返るかを試す。
- 登録する:Claude Desktop の設定ファイル、または Claude Code のコマンドで登録する。
最初の1本は、何も書き換えない「読み取るだけ」の道具にします。うまく動かなくても、PCの中のデータが壊れる心配がありません。
MCPサーバーとは:AIが呼べる「道具の窓口」
MCP(Model Context Protocol)は、AIのアプリと外の道具をつなぐ共通の決まりです。MCPサーバーは、その決まりに合わせて道具を差し出すプログラムです。
公式の説明では、サーバーが差し出せるものは「ツール(AIが呼ぶ関数)」「リソース(読めるデータ)」「プロンプト(決まった依頼文)」の3種類です。この記事ではツールだけを作ります。
APIとの違いはMCPとAPIの違いで説明しています。
ツールのほかの2つ:リソースとプロンプト
公式の説明では、MCPサーバーが差し出せるものは3種類です。この記事で作るツールのほかに、リソースとプロンプトがあります。
- ツール:AIが呼ぶ関数。公式の説明では、使う人の承認を得て呼ばれる。
- リソース:ファイルの中身やAPIの応答のように、アプリが読めるデータ。
- プロンプト:決まった作業を進めるための、用意された依頼文のひな形。
最初はツールだけで十分です。AIに何かをしてもらう道具はツール、読ませたい資料はリソースと覚えておくと、使い分けに迷いません。
作る:uvで準備し、20行のサーバーを書く
公式の条件は、Python 3.10 以上と、MCP の Python SDK 2.0.0 以上です。準備は次の順に進めます。
- uv を入れる:公式の手順(Windows は PowerShell の1行)で入れ、ターミナルを開き直す。
- プロジェクトを作る:「uv init memo-tools」を実行し、できたフォルダーに移る。
- SDK を入れる:「uv add "mcp[cli]"」を実行する。
- server.py を書く:例「文字数を数えるサーバー」をそのまま貼る。
関数の説明文(三重引用符の部分)は、AIが「いつこの道具を使うか」を判断する手がかりになります。何をする道具かを1行目にはっきり書いてください。
確かめる:ツール一覧に出て、結果が返るか
編集部の確認では、Python の MCP クライアントからこのサーバーに接続すると、ツール一覧に「count_chars」が出ました。「こんにちは」と「MCP」の2行を渡すと、「文字数: 9、行数: 2」が返りました(改行も1文字に数えます)。
画面で確かめたいときは、公式の MCP Inspector が使えます。ツールの一覧を見たり、入力を渡して結果を見たりできます。
| 項目 | 内容 |
|---|---|
| 環境 | Windows 11、uv 0.11.17、Python 3.12.13、mcp 2.2.0 |
| ツール一覧 | count_chars(説明「文章の文字数と行数を数えます。」) |
| 呼び出し結果 | 「こんにちは」「MCP」の2行 → 文字数: 9、行数: 2 |
2つ目の道具を足す:決まったフォルダーのメモを一覧にする
慣れてきたら、同じサーバーに道具を足します。ここでは、サーバーと同じ場所の「notes」フォルダーにあるメモのファイル名と大きさを返す、読み取るだけの道具を足しました。
見るフォルダーをコードの中で固定しているため、AIがほかのフォルダーを読みに行くことはありません。読める範囲を先に決めておくのが、安全に道具を増やすコツです。
動かした結果:2つの道具が一覧に出た
2026年9月25日に、編集部のWindows 11のPC(uv 0.11.17、Python 3.12.13、mcp 2.2.0)で、Pythonのクライアントから接続して確かめました。
ツールの一覧には「count_chars」と「list_notes」の2つが出ました。どちらも、関数の説明文の1行目がそのまま道具の説明として表示されました。
notesフォルダーに2つのメモを置いて「list_notes」を呼ぶと、「meeting.txt(53バイト)」「shopping.txt(19バイト)」が返りました。日本語は1文字が3バイトになるため、文字数より大きな数字になります。
最初に作ると便利な道具の例
最初の数本は、読み取るだけで、間違って動いても困らない道具がおすすめです。表「最初に作ると便利な道具」から、自分の作業に近いものを選びます。
書き換えや送信をする道具は、読み取りの道具で慣れてから作ります。作るときは、実行の前に内容を確かめる手順を必ず入れます。
| 道具 | 読み取りだけか | 気をつけること |
|---|---|---|
| 文字数を数える | 読み取りだけ | 特になし |
| 決まったフォルダーのメモの一覧 | 読み取りだけ | 読めるフォルダーをコードで固定する |
| 表計算のファイルの合計を出す | 読み取りだけ | 大きなファイルは読み込みに時間がかかる |
| 今日の予定を表示する | 読み取りだけ | 予定を読むための鍵を、コードに直接書かない |
| メモを新しく保存する | 書き込みあり | 保存する場所を固定し、上書きしない |
登録する:Claude Desktop と Claude Code
Claude Desktop では、設定ファイル「claude_desktop_config.json」の「mcpServers」に登録します。
Windows では、エクスプローラーのアドレス欄に「%AppData%\Claude」と入れると、ファイルのある場所を開けます。
書く内容は例「Claude Desktop に登録する設定」のとおりです。保存したら Claude Desktop を再起動します。
Claude Code に登録する:claude mcp add
Claude Code では、ターミナルで例「Claude Code に登録するコマンド」を実行します。「--」の後ろが、サーバーを起動するコマンドです。
登録できたかは、Claude Code の中で「/mcp」を開くか、「claude mcp list」で確かめます。チームで共有したいときは「--scope project」を付けると、設定がプロジェクトの .mcp.json に保存されます。
つまずきやすい3つの点(Windows で特に多い)
つながらないときは、次の3つを順に確かめます。
- print() を使っている:stdio のサーバーでは、標準出力に書くと通信が壊れる。記録は logging を使う。
- パスの書き方:設定ファイルでは「\」を「\\」と2つ重ねるか、「/」で書く。フォルダーは絶対パスで指定する。
- uv が見つからない:公式の注意のとおり、「where uv」で出た場所を command にそのまま書く。
- サーバーの中で print() を使っていない
- 設定ファイルのパスを絶対パスで、正しい書き方にした
- 設定を変えたら Claude Desktop を再起動した
つながらないときの公式の確認手順
Claude Desktopにサーバーが出てこないとき、公式の手順では次の3つを確かめるよう案内しています。
- 設定ファイルの書き方:claude_desktop_config.json の括弧や引用符の抜けがないか。
- パスが絶対パスか:プロジェクトのフォルダーを、絶対パスで書いているか。
- 完全に終了して再起動したか:Windowsでは、タスクバーの通知領域のClaudeのアイコンを右クリックして終了する。ウィンドウを閉じただけでは、設定が読み込まれない。
それでも動かないときは、ログを確かめます。公式の説明では、「mcp.log」に接続の記録が、「mcp-server-サーバー名.log」にサーバーのエラーの出力が書かれます。
安全に使うために:読み取りから始め、秘密は渡さない
ツールは、AIの判断で呼ばれます。削除・送信・購入のように取り消せない操作を最初から入れると、思わぬ場面で動くおそれがあります。
パスワードやAPIキーは、コードに直接書かず環境変数で渡します。他の人が作ったMCPサーバーを入れるときは、何ができる道具なのかを読んでから登録してください。
他人が作ったMCPサーバーを入れる前の確認
インターネットで公開されているMCPサーバーを入れる前に、次の確認リストを見ます。MCPサーバーは、PCの中のファイルやサービスに触れる道具です。
1つでも分からない項目があれば、入れる前に作った人の説明を読み、必要なら使うのを見送ります。
- どんな道具(ツール)を差し出すのかを読んだ
- ファイルの書き換えや送信をする道具があるかを確かめた
- パスワードやAPIキーを渡す必要があるかを確かめた
- 作った人や組織が分かり、更新が続いている
- まず試用の環境で動かしてから、ふだんの環境に入れる
SDKの版は、動いた組み合わせを記録しておく
MCPのSDKは、新しい版が出ると書き方が変わることがあります。動いたときのSDKの版を、pyproject.toml や記録に残しておきます。
更新した後に動かなくなったら、記録した版に戻して確かめます。どの版で動いたかが分かれば、原因を探す時間が短くなります。
よくある疑問を、ここで。
使い始める前に、気になるところから。
MCPサーバーはPython以外でも作れますか?
作れます。公式の手順には TypeScript などの例もあります。この記事では、手順が短く試しやすい Python の SDK を使いました。
print() でデバッグしてはいけないのはなぜですか?
stdio のサーバーは、標準出力を通信に使います。print() で文字を書くと通信の中身が壊れ、つながらなくなります。記録は標準エラー出力に書く logging を使ってください。
作ったMCPサーバーは安全ですか?
道具の内容しだいです。最初は読み取るだけの道具にし、削除・送信など取り消せない操作や、パスワードを扱う操作は、動きを理解してから足してください。
作ったMCPサーバーは、Claude以外のアプリでも使えますか?
MCPに対応したアプリなら使えます。MCPは、AIのアプリと外の道具をつなぐ共通の決まりのためです。アプリごとに登録の方法が違うので、使うアプリの説明で、MCPサーバーの設定の仕方を確かめてください。
Claude Desktopにつながらないとき、どこを見ればいいですか?
公式の手順では、設定ファイルの書き方、パスが絶対パスか、Claude Desktopを完全に終了して再起動したかを先に確かめます。それでも動かないときは、接続の記録が書かれる mcp.log と、サーバーごとのログを確かめます。
この記事を共有する
商品情報の提供:Supported by Rakuten Developers
出典と、この記事について
公式資料や、記事で参照した発表・報道をまとめています。仕様や料金は、利用する前に最新の案内をご確認ください。
- Model Context Protocol:Build an MCP server(新しいタブで開きます)
- Claude Code Docs:Connect Claude Code to tools via MCP(新しいタブで開きます)
確認した内容と条件は本文に記載しています。結果や使い勝手は、資料や環境によって異なります。編集方針を読む



ぜひコメントください