どうも、ケニー(tsujikenzo)です。このシリーズでは、「ノンプログラマーのためのMCP入門」をお届けします。今日は第5回目です。
おさらい
前回は、「MCPサーバーを接続してみよう!」をお届けしました。パターンA:uvx方式を使って、かんたんにMCPサーバーに接続できましたね。
今日は、「自作MCPサーバーの準備をしよう!【前編】」をお届けします。自分のPCにあるMCPサーバーをAIにつなぐ方法、パターンB:uv方式をマスターしましょう。
1. なぜuv方式なのか?
前回使ったuvx方式は、インターネット上に公開されている完成品を、サクッと使うばあいに便利でした。
これから、MCPサーバーを自作するにあたって、
- まず、自分のPC上に、MCPサーバー(ファイル)を作成する
- 追加したい機能などを上書き、保存する
- AIホスト(Claude desktop)を再起動して、AIの能力をアップデートしていく
- (必要であれば)インターネット上に公開する
というサイクルで、開発していきます。
2. ローカルMCPサーバーの開発
今回は、インターネットには絶対に存在しない、あなたのPCの中にしかないテキストファイルを、AIに読み取らせる体験をしてみましょう。
まず、下準備として、階層構造の【3】と【4】をセットアップします。

ステップ⓪:uvのインストール(Windowsのばあい)
この作業は1度だけでOKです。
ターミナル(PowerShell)を開き、以下のコマンドを実行します。
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"インストールが完了したら、ターミナルを再起動しましょう。
uvのバージョンを確認してみます。
uv --versionバージョンが返ってくれば、インストールは成功しています。もしうまくいかないばあいは、PCを再起動してみましょう。

ステップ①:空のプロジェクト(フォルダ)を作成
この作業は、MCPサーバーを作成するごとに行います。
- デスクトップに mcp-test-memo というフォルダを作成します。
- ターミナル(PowerShell)を立ち上げます。
- カレントディレクトリを、先ほど作成したmcp-test-memoフォルダに移動します。
PS C:\Users\Kenzo> cd C:\Users\Kenzo\Desktop\mcp-test-memo
PS C:\Users\Kenzo\Desktop\mcp-test-memo>- プロジェクトの初期化として、このフォルダを定義します。※実行すると、フォルダの中に pyproject.toml という設計図ファイルや、main.pyというサンプルプログラム(雛形)が作成されます。
uv init- 開発キット(FastMCP)をインストールします。※実行すると、ネット上から FastMCP というライブラリがダウンロードされ、フォルダの中には uv.lock というファイルや .venv という隠しフォルダが作成されます。
uv add fastmcp以上です。
これで、第3回で学んだ「実行・インフラ層(階層構造の第3層)」のセットアップが完了しました!

ステップ②:ダミーデータの作成
mcp-test-memoフォルダの中に、my_secretという名前でテキストファイルを作成します。※拡張子は自動で.txtになります。
本文に「私がいま一番食べたいのは、〇〇ラーメンです」 と書いて保存します。
このダミーデータに、AI(Claude desktop)がアクセスできるのか、試してみましょう。
ステップ③:AIに「MCPサーバー」を書かせる
それでは、MCPサーバーの中身を実装します。

中身のプログラムは、生成AIに書かせます。GeminiでもChatGPTでも、なんでも構わないです。
AIへの発注プロンプト例:「PythonのFastMCPを使って、MCPサーバーを作りたいです。同じフォルダにある my_secret.txt というファイルを読み込んで、その中身をテキストで返すだけのシンプルな『ツール(Tool)』を1つ作ってください。ファイル名は app.py とします。コードだけ出力してください。」
テキストファイルを作成しましょう。生成AIが書いてくれたコードをコピーして、フォルダの中に app.py として保存します。
from fastmcp import FastMCP
from pathlib import Path
mcp = FastMCP("secret-reader")
@mcp.tool()
def read_secret() -> str:
"""my_secret.txt の中身を返す"""
path = Path(__file__).parent / "my_secret.txt"
return path.read_text(encoding="utf-8")
if __name__ == "__main__":
mcp.run()保存するときに、必ずPythonファイルになっていることを確認してください!

ステップ③:構成ファイル(JSON)を「uv方式」で書く
最後に構成ファイルです。claude_desktop_config.json を開き、commandプロパティに、パターンB:uv(ディレクトリ指定)として追加します。
args(引数)には、プロジェクトフォルダの場所や、app.pyをrunするように、指示します。※フォルダの場所は、ご自身の環境に合わせた絶対パスで指定してください。
{
"mcpServers": {
"my-secret-tool":{
"command": "uv",
"args": [
"--directory",
"C:/Users/Kenzo/Desktop/mcp-test-memo",
"run",
"app.py"
]
},
"mcp-server-fetch": {} //前回作成した分
}3. 接続確認
前回と同様に、MCPサーバーが接続できているか、確認しましょう。
接続できているようですね。ちなみに、追加したMCPサーバーは、リスト表示になっていて、表示が切り替えできます。

それでは、チャット欄でこう話しかけてみてください。
プロンプト: 「my_secret.txtには、何が書いてありますか?」
AIが接続の許可を求めてきたら「許可」を押します。

AIが、あなたの秘密を答えたら成功です。

おめでとうございます! ついにAIは、世界中であなたしか持っていない情報にアクセスし、それを元に考える「自分専用のエージェント」へと進化したのです。
まとめ
今回は、MCPサーバーの自作に欠かせない「uv(ディレクトリ指定)方式」についてお届けしました。
- uvx: ネットから知恵を借りるための道
- uv: 自分の手元にある知恵をAIに繋ぐための道
自分のPCにあるファイルを読み取ることができたなら、次はエクセル(CSV)を読み取らせたり、自分の業務マニュアルを学習させたり……可能性は無限に広がります。
さて、いよいよ次回はこのシリーズの最終回です。
最後は、「価値と未来 ―― エージェント時代を生き抜く『あなたの価値』」。
MCPというお作法を知り、AIに「手足」を与えられるようになったあなたの市場価値はどう変わるのか。AI疲れを卒業し、AIを指揮する側へと回るための、最後のメッセージをお届けします。
お楽しみに!



