0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Claude Desktop MCP連携で99%ハマる権限エラーを3分で解決する方法

0
Posted at

Claude DesktopのMCP連携で「Server disconnected」エラーに3時間悩んだ結果、原因はnpm権限だった。sudo chown -R $(whoami) ~/.npmの1行で解決。MCPユーザーの99%が踏む地雷の回避方法を完全解説。

昨日の深夜2時。Claude DesktopでMCP(Model Context Protocol)を設定しようとして、こんなエラーに遭遇した。

npm error Your cache folder contains root-owned files
Server disconnected

「は?さっきまで動いてたじゃん...」

結論から言うと、npmの権限問題だった。しかも、これMCP使ってる人の99%が一度は踏む地雷らしい。

【この記事で解決できること】
✅ MCP接続エラーを最速で解決
✅ 二度と同じエラーで悩まない設定方法
✅ 実際に動作確認済みの手順

なぜMCP接続でnpm権限エラーが起きるのか

MCPサーバーは裏でNode.jsプロセスとして動いている。で、こいつがnpmのキャッシュディレクトリにアクセスしようとすると...

「お前、権限ないやん」

ってなるわけ。特に過去に一度でも sudo npm install した経験がある人は、ほぼ確実にこの問題にぶち当たる。

3分で解決!魔法のコマンド

細かい説明は後にして、まずは解決方法。ターミナルで以下を実行するだけ:

# Step 1: npm権限を自分のものにする
sudo chown -R $(whoami) ~/.npm

# Step 2: キャッシュをクリア
npm cache clean --force

# Step 3: Claude Desktopを再起動

これだけ。マジで。

僕の場合、これで**「Server disconnected」エラーが一発で解消**した。

そもそもMCP連携って何がすごいの?

ちょっと話を戻そう。MCPは2024年11月にAnthropicが公開した、AIアシスタントと外部ツールを繋ぐプロトコル。

簡単に言うと、Claude Desktopから直接データベースとかAPIを叩けるようになるやつ。

例えば:

  • microCMSの記事を直接Claude から投稿
  • GitHubのコードを参照しながら質問
  • Slackの過去ログを検索して回答

これがローカルで動くってのがヤバい。

正しいMCP設定手順(エラーを避ける方法)

1. 事前準備

# Node.jsが入ってるか確認
node --version  # v18以上推奨
npm --version   # v9以上推奨

2. 設定ファイルの作成

Claude Desktopの設定ファイルはここにある:
~/Library/Application Support/Claude/claude_desktop_config.json

こんな感じで書く:

{
  "mcpServers": {
    "microcms": {
      "command": "node",
      "args": ["/path/to/mcp-server-microcms/dist/index.js"],
      "env": {
        "MICROCMS_API_KEY": "your-api-key",
        "MICROCMS_SERVICE_DOMAIN": "your-domain"
      }
    }
  }
}

3. 権限の罠を避ける

絶対にやっちゃダメなこと:

# ❌ これやると後で泣く
sudo npm install -g @modelcontextprotocol/server-microcms

正しいやり方:

# ✅ sudoなしでインストール
npm install -g @modelcontextprotocol/server-microcms

もしsudoが必要って言われたら、まず権限を修正してから:

# npmのグローバルディレクトリを変更
npm config set prefix ~/.npm-global
export PATH=~/.npm-global/bin:$PATH

それでもエラーが出たときの対処法

エラー1: Could not attach to MCP server

サーバーが起動してない可能性大。確認方法:

# プロセスを確認
ps aux | grep mcp

# 何も表示されなかったら起動してない

エラー2: Server transport closed unexpectedly

設定ファイルのJSON構文ミスかも。VSCodeとかで開いて、赤い波線がないか確認。

あと、パスが間違ってることも多い:

# 正しいパスか確認
ls -la /path/to/mcp-server-microcms/dist/index.js

エラー3: EACCES: permission denied

これが今回のメインテーマ。もう一度権限修正:

# 徹底的に権限を修正
sudo chown -R $(whoami) ~/.npm
sudo chown -R $(whoami) ~/Library/Application\ Support/Claude
sudo chown -R $(whoami) ~/.config

実際に使ってみた感想

MCP連携が動き出すと、マジで世界が変わる。

今までは:
1. ブラウザでmicroCMS開く
2. 記事書く
3. APIで投稿

これが:
1. Claude「記事書いて投稿しといたよ」
2. 終わり

作業時間が1/10になった。冗談抜きで。

トラブル防止のための日常メンテナンス

権限問題は一度解決しても、OSアップデートとかで再発することがある。

予防策として、週1でこれやっとくと安心:

# 権限チェックスクリプト
echo "Checking npm permissions..."
ls -la ~/.npm | head -5

echo "Checking Claude config permissions..."
ls -la ~/Library/Application\ Support/Claude/

もし root って表示されたら、すぐに chown で修正。

まとめ:権限エラーは怖くない

Claude Desktop のMCP連携でハマるポイントは、ほぼnpm権限問題一択。

でも解決方法はシンプル:

  • sudo chown -R $(whoami) ~/.npm
  • npm cache clean --force
  • Claude Desktop再起動

これさえ覚えとけば、深夜2時に泣きながらググる必要はない。

あと、sudo npm は絶対使わない。これ鉄則。

MCP連携が動き出したら、きっと「今までの苦労は何だったんだ...」って思うはず。実際、僕がそうだった。

さあ、エラーを恐れずMCPの世界へ飛び込もう。大丈夫、権限問題なんて3分で解決できるから。

おまけ:緊急時の最終手段

どうしても解決しない時の核オプション:

# 全部消してやり直す(データは消えないから安心)
rm -rf ~/.npm
rm -rf node_modules
npm cache clean --force
npm install

これで99.9%は解決する。残りの0.1%は...Anthropicのサポートに聞いてくれ(笑)


🌟 お知らせ

この記事が役に立ったら、ぜひフォローやいいねをお願いします!

🐦 X: @nabe_AI_dev
AI開発の最新情報や技術Tips、開発の進捗などを定期的にツイートしています。

📝 ブログ: AI Developer Blog
AIツール開発に関する詳細な記事や実装事例を公開中です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?