
本記事では、WSL上のMCPサーバーにClaude for Desktopからアクセスする方法を解説します。
目次
Claude for Desktop のインストール
Claude for Desktopは、Anthropic社が提供している、WindowsやmacOSのデスクトップから直接Claudeを利用するための公式アプリケーションです。ブラウザ版(Web版)と基本的な機能は共通していますが、デスクトップアプリならではの特徴がいくつかあります。
- どこからでもアクセスできる
ブラウザを開かなくても、専用のショートカットキーで素早く呼び出すことができます。デフォルトでは、Ctrl + Alt + Space(Macの場合はCommand + Alt + Space)です。ショートカットキーは設定から変更できます。 - MCP(Model Context Protocol)のサポート
ローカルファイルやデータベース、あるいは自作のスクリプト(WSL上のツールなど)とClaudeを連携させるためのハブとして機能します。 - シームレスなファイル共有
ローカルにあるファイルをドラッグ&ドロップで素早く読み込ませたり、スクリーンショットを直接貼り付けたりするのがスムーズです。
ざっくりにはブラウザ版のClaudeとCLI版のClaudeの中間に位置するものです。
Claude for Desktopは以下のホームページからダウンロードできます。
https://claude.com/download
ダウンロードした実行体を実行すれば、インストールされます。
サーバーの準備
公式に提供されているMCPサーバーのサンプルコードとClaude for Desktopを使用します。
サンプルコードは、米国国立気象庁(National Weather Service : NWS)のAPIを利用して米国の天気予報を取得できるMCPサーバーであり、githubで公開されています。
https://github.com/modelcontextprotocol/quickstart-resources
WSL上でMCPサーバーを構築するのでgitのコマンドを用いて、サンプルプログラムをダウンロードします(ここではホームディレクトリ下で実行します)。
git clone --filter=blob:none https://github.com/modelcontextprotocol/quickstart-resources.git--filter=blob:noneは、部分クローンを行うためのオプションです。通常のクローンは、そのプロジェクトの全歴史と全ファイルの中身(blob)をすべてダウンロードしますが、このオプションを付けると、ファイルの構成情報と最新のファイルだけを取得し、ファイルの中身は必要になった瞬間(例えば、古いコミットに対してcheckoutした時など)に初めてダウンロードするようになります。これにより、.gitディレクトリが非常に軽くなり、git cloneが高速になります。
rustやtypescript、python、goなど様々な言語のサンプルプログラムがあります。本記事では python を使用します。そのサンプルがあるディレクトリに移動します。
cd quickstart-resources/weather-server-python/pythonの管理にはuvを使用します。uvをインストールしていない場合は以下のサイトをご参照ください。
uvのインストールと使い方(pyenvよりも高速)- Python環境構築
Rust製のPython管理ツール「uv」の基本操作とプロジェクト管理手法。pyenv、pip、venvなどの役割を統合し、単一のインターフェースでPython環境を制御する具体的な手順を整理しました。プロジェクトごとのPythonバージョン固定や、ロックファイルによる再現性の確保など、必要な機能を網羅的に解説します。
環境を整えるために次のコマンドを実行します。
uv syncこれで、MCPサーバーの準備は完了です。
Claude for desktopとMCPサーバーの接続
Claude for desktopを開いて、設定画面を開きます(メニュー->ファイル->設定、または、ctrl + カンマ)。
開発者を選択して、「設定を編集」を開きます。

エクスプローラが開くので、「claude_desktop_config.json」をエディタで開きます。このJSONファイルは、Claude Desktopに「どの外部ツールを使わせるか」を教えるための設定ファイルです。
Claude for Desktopは単体ではただの賢いチャットアプリですが、この設定ファイルに情報を書き込むことで、PC内のファイル操作や、外部APIとの連携(天気予報、GitHub、データベース操作など)ができるようになります。つまり、チャットAIからAIエージェントにするための機能を追加する設定を行う場所です。
環境によって異なりますが、多くは以下の場所にJSONファイルを配置します。
Windows: %APPDATA%\Claude
macOS: ~/Library/Application Support/Claude/
このJSONファイルに、先ほど準備したMCPサーバーを実行するための設定を行います。
{
"mcpServers": {
"weather" : {
"command" : "wsl.exe",
"args" : [
"-d",
"Ubuntu",
"--cd",
"/home/<User>/quickstart-resources/weather-server-python/",
"--exec",
"/home/<User>/.local/bin/uv",
"run",
"/home/<User>/quickstart-resources/weather-server-python/weather.py"
]
}
},
"preferences": {
"coworkScheduledTasksEnabled": true,
"ccdScheduledTasksEnabled": true,
"sidebarMode": "chat",
"coworkWebSearchEnabled": true
}
}MCPサーバーをWSLのホームディレクトリに保存した場合についてJSONファイルを書いています(<User>の部分はユーザー名です。uvコマンドの場所はデフォルトの保存先を使用していますが、環境に合わせてください)。
追加したのはmcpServersの部分です。mcpServersはClaude for Desktopというアプリが、「ここから下にMCPサーバーの設定が書いてありますよ」ということを認識するためのキーワード(予約語)です。weatherの部分は、そのサーバーにつける名前(ID)であり、自由に設定できますが、一意であることが必要です。この名前はClaude for Desktopの画面上でのサーバーの名前として使用されます。
commandとargsは、サーバーを実行するためのコマンドとその引数を記述するための部分です。WindowsからWSL上のMCPサーバーを実行するためのコマンドと引数を設定しています。
wsl.exeはWSLの実行、-dでディストリビューションにUbuntuを選択し、--cdでサーバーを置いているディレクトリに移動し、--execでuv runコマンドでMCPサーバーを起動するpythonのスクリプトを実行しています。
設定ファイルを書き終えたら、Claude for Desktopを再起動します。×ボタンで画面を閉じただけでは、Claude for Desktop自体は閉じないので、メニューから「ファイル」の「終了」を選択してから、再度Claude for Desktopを開きます。
設定画面を再度開くと、次のようにMCPサーバーが起動していることを確認できます。

「running」となっていない場合には、「ログを表示」ボタンを教えてログを確認してエラーの原因を調べます。
テストの実施
MCPサーバーを接続した後は、チャットで質問すれば、自動的にMCPサーバーにアクセスしてデータを取ってきてくれます。MCPサーバーを使用することをプロンプトに書かなくても必要であれば自動的に接続されますが、テストのために「MCPサーバーを使って」と指示をしてみましょう。

「weather連携を使用しました」と書かれているとおり、MCPサーバーに接続してデータを取得していることを確認できました。設定によっては、接続していいか許可を求めるメッセージがでる場合もありますが、そのときには許可をすれば、接続してくれます。
まとめ
本記事では、WSL上でMCPサーバーを動かして、Claude for Desktopからアクセスする方法を解説しました。
Claude for Desktopのインストールから始まり、米国国立気象庁(National Weather Service : NWS)のAPIを使用するためのMCPサーバーの準備を行い、JSONで設定ファイルを作成しました。
そして、テストを実施してチャットからMCPサーバーを動かせることを確認しました。
_python環境構築_タイトルサム-202x150.png)