Claude Code向けMCPサーバー設定 — npm vs uvxの使い分けと落とし穴

Claude Code向けMCPサーバー設定 — npm vs uvxの使い分けと落とし穴

はじめに

Claude CodeやClaude DesktopでMCPサーバーを設定しようとすると、最初の壁にぶつかります。

mcp-server-filesystem was not found in the package registry

このエラーは「uvxでnpm製パッケージを探している」ことが原因です。MCPエコシステムにはnpm系とuvx系が混在しており、どちらを使うべきか判断する知識が必要です。


npm系 vs uvx系

npm系 uvx系
製造元 Anthropic公式・Node製 Python製サードパーティ
インストール npm install -g uvx で直接実行
代表例 filesystem, fetch android-mcp
安定性 高(公式メンテ) 実装による
ドキュメント 充実 比較的少ない

基本方針:

公式系MCP    → npm
Android特殊系 → uvx

uvx mcp-server-filesystem が失敗する理由

よくあるミス:

{
  "mcpServers": {
    "filesystem": {
      "command": "uvx",
      "args": ["mcp-server-filesystem"]
    }
  }
}

この設定は PyPIから mcp-server-filesystem を探す 動作になりますが、このパッケージはPyPIに存在しません。

@modelcontextprotocol/server-filesystem はNode製のnpmパッケージです。uvxはPythonパッケージマネージャーなので見つかりません。


filesystem MCPの正しい設定

Step 1: npmでインストール

npm install -g @modelcontextprotocol/server-filesystem

Step 2: インストール先を確認(Windows)

where mcp-server-filesystem

通常は以下のパスに配置されます:

C:\Users\ユーザー名\AppData\Roaming\npm\mcp-server-filesystem.cmd

Step 3: settings.jsonに設定

{
  "mcpServers": {
    "filesystem": {
      "command": "mcp-server-filesystem",
      "args": [
        "C:\\Users\\nobuy\\Code"
      ]
    }
  }
}

PATHが通っていない場合はフルパスを指定します:

{
  "mcpServers": {
    "filesystem": {
      "command": "C:\\Users\\nobuy\\AppData\\Roaming\\npm\\mcp-server-filesystem.cmd",
      "args": [
        "C:\\Users\\nobuy\\Code"
      ]
    }
  }
}

Windowsでの注意点

パス区切り文字はダブルバックスラッシュ:

"C:\\Users\\nobuy\\Code"   // ○ 正しい
"C:/Users/nobuy/Code"       // ○ これも動く
"/Users/Code"                // ✕ Windows では存在しない

.cmd 拡張子が必要な場合がある:

npmのグローバルインストールはWindowsでは .cmd ファイルとして配置されます。コマンド名だけで動かない場合は .cmd のフルパスを指定してください。


fetch MCPは後回しでよい理由

@modelcontextprotocol/server-fetch はnpm公式パッケージとして存在しません。

# これはエラーになる
npm install -g @modelcontextprotocol/server-fetch
# npm error 404 Not Found

fetch系MCPは個人実装・GitHub clone前提・smithery経由など、インストール方法がバラバラです。

しかしClaude Code自体がすでにWeb検索・URL取得機能を持っているため、Android/Compose開発ではfetch MCPの優先度は低いです。


Android MCP(uvx系)の設定

Androidデバイス操作MCPはuvx系です。

{
  "mcpServers": {
    "android": {
      "command": "C:\\Users\\nobuy\\.local\\bin\\uvx.exe",
      "args": [
        "--python", "3.13",
        "android-mcp"
      ]
    }
  }
}

uvxはPython環境を自動管理するため、事前のvenv作成が不要で便利です。


推奨の最終構成

Android開発でClaude Codeを使う場合の推奨設定:

{
  "mcpServers": {
    "filesystem": {
      "command": "C:\\Users\\nobuy\\AppData\\Roaming\\npm\\mcp-server-filesystem.cmd",
      "args": [
        "C:\\Users\\nobuy\\Code"
      ]
    },
    "android": {
      "command": "C:\\Users\\nobuy\\.local\\bin\\uvx.exe",
      "args": [
        "--python", "3.13",
        "android-mcp"
      ]
    }
  }
}

優先度の考え方

優先度 MCP 理由
最優先 filesystem Claudeがプロジェクトを読める
次点 Android MCP スクショ自動化・adb操作
後回し fetch Claude本体のWeb機能で代用可能

filesystemを最初に入れると、Claude Codeがコード全体を把握した状態で作業できるため、最も費用対効果が高いです。


まとめ

知識 内容
npm系とuvx系がある MCPエコシステムは混在している
公式系はnpm filesystem等はPyPIにない
Python製はuvx android-mcp等はuvxで動かす
Windowsは .cmd に注意 PATHが通らない場合はフルパス指定
fetch は後回し Claude本体で代用可能

最初は filesystem と Android MCP の2つだけで十分強力な環境が整います。