WSLでClaude MCPが動かない!「No MCP servers configured」を解決するまでの奮闘記【2025年6月版】
はじめに
こんにちは!最近Claude CodeのMCP(Model Context Protocol)機能にハマってる者です。
でもね、WSL環境で使おうとしたら「No MCP servers configured」ってエラーが出て、めちゃくちゃハマったんですよ...😅
特に、Windowsのディレクトリ(/mnt/c/
)から実行すると必ずこのエラーが出る。しかも、VS Code・Cursor・Windsurfどれを使ってもIDE統合が動かない!
今回は、この問題を解決するまでの道のりと、最終的にたどり着いた解決方法をシェアします。
動作環境
- Windows 11 + WSL2 (Ubuntu)
- Claude Code v1.0.24
- Node.js v22.16.0 (nvm使用)
- VS Code / Cursor / Windsurf
そもそも何が問題だったの?
まず、こんな症状でした:
# WSLのホームディレクトリでは正常に動く
cirkit@Cirkit:~$ claude mcp list
brave-search: npx -y @modelcontextprotocol/server-brave-search
taskmaster-ai: npx -y --package=task-master-ai task-master-ai
# ... 他のMCPサーバーもちゃんと表示される✨
# でも、Windowsのファイルシステムから実行すると...
cirkit@Cirkit:/mnt/c/Users/sakan$ claude mcp list
No MCP servers configured. Use `claude mcp add` to add a server.
# えっ...なんで!?😱
さらに、claude
コマンドで起動して/mcp
を実行しても、何も認識してくれない...
原因を突き止めた!
いろいろ調べた結果、Claude Codeには3つの設定スコープがあることが判明しました:
-
Local(ローカル) - デフォルト設定
- 現在のプロジェクト/セッションのみで有効
- 一時的な設定
-
Project(プロジェクト)
-
.claude/settings.json
に保存 - チームで共有できる
-
-
User(ユーザー) - これが重要!
-
~/.claude/settings.json
に保存 - 全プロジェクトで使える
-
つまり、デフォルトの「Local」スコープで設定してたから、ディレクトリを変えると設定が消えてたんです!
解決方法(完全版)
ステップ1: 既存の設定を全部削除
まずは一旦クリーンな状態にします:
# 既存のMCPサーバーを削除
for server in brave-search taskmaster-ai vercel notion railway-mcp playwright context7 mem0; do
claude mcp remove "$server"
done
ステップ2: Userスコープで再設定
ここがポイント!--scope=user
を必ず付けます:
# 基本的なMCPサーバーを追加
claude mcp add --scope=user brave-search npx @modelcontextprotocol/server-brave-search
claude mcp add --scope=user taskmaster-ai npx task-master-ai
claude mcp add --scope=user vercel npx github:nganiet/mcp-vercel
claude mcp add --scope=user notion npx @notionhq/notion-mcp-server
claude mcp add --scope=user playwright npx @playwright/mcp@latest
# SSEタイプのサーバー
claude mcp add --scope=user --transport=sse context7 https://mcp.context7.com/sse
claude mcp add --scope=user --transport=sse mem0 http://localhost:8080/sse
# Railway MCPは特殊な引数があるので注意
claude mcp add --scope=user railway-mcp bash -c "npx @smithery/cli@latest run @jason-tan-swe/railway-mcp --key YOUR_KEY --profile YOUR_PROFILE"
ステップ3: APIキーが必要なサーバーの設定
一部のMCPサーバーはAPIキーが必要です。環境変数で渡すか、ラッパースクリプトを作るのがおすすめ:
# 例:Brave Search用のラッパースクリプト
cat > ~/mcp-wrappers/brave-search.sh << 'EOF'
#!/bin/bash
export BRAVE_API_KEY="your-api-key-here"
exec npx -y @modelcontextprotocol/server-brave-search "$@"
EOF
chmod +x ~/mcp-wrappers/brave-search.sh
# ラッパーを使って追加
claude mcp add --scope=user brave-search ~/mcp-wrappers/brave-search.sh
mem0のちょっとした罠
mem0はSSEサーバーなので、別途起動が必要です。しかも、ポート設定がちょっとややこしい...
# mem0サーバーを起動(ポート8080で統一)
cd /mnt/c/Users/sakan/develop/mem0-mcp
uv run python main.py --port 8080
管理を楽にするスクリプトも作っちゃいました:
# 起動
~/mem0-mcp-manager.sh start
# 状態確認
~/mem0-mcp-manager.sh status
# ログ確認
~/mem0-mcp-manager.sh logs
IDE統合の修正
VS Codeのcodeコマンド問題
なんと、Cursorをインストールするとcode
コマンドがCursorに乗っ取られることが...😵
修正方法:
# 正しいパスのラッパーを作成
mkdir -p ~/bin
cat > ~/bin/code << 'EOF'
#!/bin/bash
exec "/mnt/c/Users/sakan/AppData/Local/Programs/Microsoft VS Code/bin/code" "$@"
EOF
chmod +x ~/bin/code
# PATHの優先順位を変更(.bashrcに追加)
export PATH="$HOME/bin:$PATH"
IDE統合の使い方
各エディタの統合ターミナルでclaude
を実行すると、自動的に拡張機能がインストールされます:
-
エディタを起動
code . # VS Code cursor . # Cursor windsurf . # Windsurf
-
統合ターミナルで実行
claude
-
初回は拡張機能が自動インストールされる
-
エディタを再起動
-
Ctrl+Esc(Mac: Cmd+Esc)でClaude Codeが起動!
トラブルシューティング
「まだMCPが認識されない...」って時は
# 設定を確認
claude mcp list
# 特定のサーバーの詳細(スコープも表示される)
claude mcp get brave-search
「Scope: Local」って表示されたら、それが原因です!
Playwrightがエラーになる場合
複雑な設定は逆にトラブルの元でした。シンプルに:
claude mcp add --scope=user playwright npx @playwright/mcp@latest
まとめ
結局のところ、Userスコープで設定することが最重要でした!
これで、どのディレクトリからでもMCPが使えるようになって、開発効率が爆上がりです🚀
同じ問題で悩んでる方の参考になれば嬉しいです!
おまけ:便利なエイリアス
.bashrc
に追加しておくと便利:
# MCP状態確認
alias mcp-check="claude mcp list"
# Claude環境セットアップ
claude-env() {
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
export CLAUDECODE=1
export CLAUDE_CODE_ENTRYPOINT=cli
echo "Claude環境をロードしました!"
}
参考リンク
何か質問があれば、コメント欄でお気軽にどうぞ!一緒に解決しましょう💪