第3章【開発記】:MCPサーバー用の言語にPythonを選び、Windowsで「python --version」と打って首をかしげた
■ はじめに
まだ前回の記事を見ていない方はこちらも。
第2章【開発記】:促されるままに入れたClaude Desktopが何者かを設定ファイルから確かめた
第2章ではClaude Desktopの設定ファイルの場所と中身を確認しました。
第3章はいよいよMCPサーバーを書く側の準備に入ります。
最初の関門は、言語の選定です。MCPサーバーはPython、TypeScript、JavaScriptのどれでも書けます。今回はPythonを選ぶ理由を整理した上で、自分のWindows環境にPythonが入っているかを確認します。
公式からダウンロードしてインストールすればだいたいそのまま使えますが、
そして実際にPowerShellを開いて python --version を叩いてみたら、想定外の出力が返ってきました。インフラエンジニア目線で「これは何だ」となるWindowsならではの挙動が見えてきます。
■ 今回やること
第3章でやることは3つです。
・MCPサーバーを書く言語として、Python、TypeScript、JavaScriptを比較。
・なぜ最初にPythonを選ぶのかを整理する。
・自分のWindows環境にPythonが入っているかを確認し、必要ならインストールする。
コードはまだ書きません。手と頭の準備までです。
■ 今回出てくるツールと役割
第3章で関わるツールを整理します。
【言語】
①Python:シェルスクリプトの延長として読みやすく、MCPサーバーの公式SDKもある言語。
②TypeScript:JavaScriptに型を足した言語。Next.jsを使う後半の章で再登場する。
③JavaScript:Webブラウザで動く言語として広く使われている。TypeScriptの土台でもある。
【ランタイム・実行環境】
①Node.js:JavaScriptとTypeScriptをPCで動かす定番のランタイム。
②python.exe:Pythonの本体。これがPCにあるかどうかが第3章の焦点。
③py(Python Launcher for Windows):Windowsに公式インストーラーで入れた場合に付いてくる、Pythonの起動補助コマンド。
【Windows側のツール】
①PowerShell:
Windowsの標準シェル。今回はここから python --version を叩く。
②Microsoft Store Pythonスタブ:Pythonが未インストールの状態で python と叩いたとき、Microsoft Storeへ誘導するためにWindowsが標準で用意している、Pythonに似せた中身の薄いコマンド。
【パッケージ管理】
①pip:Pythonの標準的なパッケージ管理ツール。Pythonを公式インストーラーで入れると一緒に入る。
第3章では、これらの中で実際に確認するのは「python.exe」「py」「Microsoft Store Pythonスタブ」の3つです。残りは名前を覚えておけば十分です。
■ 比較:今回の選択肢
MCPサーバーを書く言語として、Python・TypeScript・JavaScriptを比較します。
①【Python】
MCPサーバーを書く言語として有力な候補のひとつ。ネット上にある情報はほぼ全部と言っていいほどPythonで利用おり、10年以上前からAIと親和性が高い言語として知られている。また、標準ライブラリが厚く、MCPの公式SDKが整備されているため今回採用することとする。
②【TypeScript】
型が付いたJavaScriptで、Next.jsアプリの本体記述に使う。エディタの補完が強く、フロントエンドからバックエンドまで一貫して使える。ただ、最初の学習コストが高く、コンパイル設定(tsconfig)に初見では戸惑う。MCPサーバー本体では採用しないが、後半のNext.jsを扱う章で本格的に使う。
③【JavaScript】
Webブラウザで動く伝統的な言語。Node.jsを介してサーバー側でも動く。環境構築が軽く、Webの世界で必要な場面が多い。型が無いため、大きくなると追跡しづらい。最近はTypeScriptに置き換わる流れであり、採用する理由は少ない。今はPython。今後、新規に書くならTypeScriptを選ぶ場面が多そう。
■ なぜ今回はそのツールを選ぶのか
今回は①のPythonを選びます。 理由は3つあります。
1つ目は、ネット上にある情報はほぼ全部と言っていいほどPythonで利用しているからです。何かに躓いたとき、標準のツールを使っている方が解決が早い。業務でも誰も使わないツールを選択すると、連携するツールが少なかったり後任者が辛い思いをする。
2つ目は、MCPの公式SDKが整備されているからです。MCPサーバーを書くためのPython用ライブラリが公開されていて、手数少なく動かせます。学習段階ではここが大きな差になります。
3つ目は、最終成果物との分業が綺麗だからです。第1章で示した構成図では、MCPサーバー側をPython、画面側をNext.js(TypeScript)にする予定でした。Pythonでサーバーロジック、TypeScriptで画面、という役割分担にすると、後の章でTypeScriptに入る時の動機も明確になります。
TypeScriptも候補に挙がります。MCPサーバーはTypeScriptでも書けます。ただし最初にTypeScriptから入ると、言語仕様、Node.jsのバージョン、tsconfig、ESM対CommonJS、と前提知識の塊にぶつかります。インフラエンジニア目線では、ここを最初の関門にすると消耗が大きい。Pythonで仕組みを掴んでから、後半でTypeScriptに進む流れの方が、自分の学習曲線に合っていると判断しました。
第3章は「Pythonを選んだので、Pythonをインストールする」ところまでが目標です。
■ 実際に作るもの
第3章で実際にやることは、以下です。
①自分のPCにPythonが入っているかを確認する。
②入っていなければ、公式インストーラーで入れる。
③最後に、もう一度バージョンが正しく表示されることを確認する。
コードはまだ書きません。「Pythonコマンドを叩いたら、ちゃんとバージョンが返ってくる」状態を作るのが、この章のゴールです。
■ コードまたは設定例
実際の手順です。 私はPowerShellで進めましたが、コマンドプロンプトでも同じ確認はできます。
【手順1:Pythonが入っているか確認】
PowerShellを開いて、次のコマンドを実行します。
私が首をかしげたのがここ。以下を実行して返ってきたのが「python」の文字だけ。入っているのかはいっていないのか…答えは入っていません。下の手順2:のサイトから新規インストールしましょう。入ってないなら、入っていないとか「Not Found」など出してほしいものだと思った。
python --version
【手順2:バージョンが返らなければインストールする】
Pythonが未インストールの場合、公式インストーラーでインストールしてください。 公式サイトの場所は次のとおりです。
https://www.python.org/downloads/windows/
ここから「Windows installer (64-bit)」をダウンロードして実行します。 インストール画面で重要な点はひとつだけ。「Add python.exe to PATH」のチェックボックスを必ずONにしてからインストールします。これをONにしないと、PowerShellやコマンドプロンプトから python で起動できず、毎回フルパスを指定する羽目になります。
【手順3:pip も入っていることを確認】
pip も入っていることを確認します。
pip --version
pip 24.x.x from ... のような出力が返ってくれば、パッケージ管理ツールも揃っています。 ここまで来れば、Pythonでコードを書き始める準備は整いました。
■ 次章でやること
第4章では、ここまで整えてきた環境を使って、MCPサーバーを実際に「接続して動かしてみる」という最初の一歩に進みます。
ただし、いきなり自作はしません。 第4章では、公開されている既存のMCPサーバーをひとつだけClaude Desktopに繋いで、MCPがどう動くのかを目で見ます。
具体的には、ファイルシステム操作の公式MCPサーバーを使い、Claude Desktopから「指定したフォルダのファイル一覧を取って」「中身を読んで」を頼んでみる、という流れです。設定ファイル claude_desktop_config.json の mcpServers キーに、初めて値を書き込む章になります。
第4章に進む前に、もう一度確認しておきたいのは次の2点です。
①python --version を叩いて、Python 3.x.x のようなバージョンが返る状態になっていること。
②第2章で確認した claude_desktop_config.json の場所が、今もすぐ開ける状態になっていること。
■次回
第4章【開発記】:Node.jsを入れて、最初のMCPサーバー(filesystem)をClaude Desktopにつないでみた
