💪

Cursor MCPをWSL2で使いたい!

2025/02/27に公開

はじめに

Cursor MCPをWSLのnodeを使って動かしたい。
でも、どうやら皆さん苦戦を強いられている様子。

フォーラムでも盛り上がっている。

https://forum.cursor.com/t/mcp-servers-no-tools-found/49094

https://forum.cursor.com/t/how-to-use-any-mcp-servers-in-wsl-with-nvm/50473

https://forum.cursor.com/t/run-mcp-servers-in-wsl/55537

Redditでも盛り上がっている。

https://www.reddit.com/r/cursor/comments/1il3glp/cursor_ai_mcp_servers_on_windows_without_wsl/

https://www.reddit.com/r/cursor/comments/1ixrkpc/is_mcp_working_with_wsl2/

最適解!とはとても言えないですが、一応今時点での解決策を残してます。

結論

シェルスクリプトで何とかします。

node (nvm管理) の場合

/home/{wsl_user}/git/run_mcp.sh (どこでもよいです)

#!/bin/bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
node "$HOME/.nvm/versions/node/v22.11.0/lib/node_modules/@modelcontextprotocol/server-filesystem/dist/index.js" "/mnt/c/Users/{user}/Documents"

実行権限つける

chmod +x /home/{wsl_user}/git/run_mcp.sh

MCP Serverに登録

Cursor Settings > MCP Servers

wsl.exe -e bash -c /home/{wsl_user}/git/run_mcp.sh

1

コマンドプロンプトが立ち上がるので、そのままにしておいてください。

2

うまくいっているっぽい。

3

わーい。動いた。

コマンドプロンプトを落とすと、接続切れるので注意。

Python (pyenv管理) の場合

一癖あります。

#!/bin/bash
/home/{wsl_user}/.pyenv/shims/python -m mcp_server_git --repository ~/git/rag

簡単な解説

Cursor自体はWindowsにインストールされているので、WSLにあるnodeを呼び出すためにはwsl.exeでコマンド実行してあげる必要があります。
ここに罠があって、nodeコマンド実行しようとするとそのあとのファイルなどを読んでくれず、コマンドプロンプトでnodeが立ち上がって止まるんですよね。Claude MCPと同じ方法でやろうとして詰まる方ものすごく多いんじゃないかな。

内部実装はわからないですが
「Cursorはwsl.exe -e bash -cの後、1つのコマンドまでしか実行してくれないのでは?」
という仮説を立てたとき、
「じゃあシェル動かせばええやん」
という結論に至り、やってみたらうまくいったという話です。

Windows環境ってやはり汚したくないし、なるべくWSLに寄せていきたいですよね。
誰かの救いになれば嬉しいです。

Discussion