ClaudeがModel Context Protocol(MCP)とかいうブツを発表した。
MCPがなにか?という話は自分のツイートから引用する
①MCPって何? → Anthropicが考案した、AIアプリ(例えばデスクトップ版Claude)とさまざまなWebサービス、ローカルアプリの間で通信するためのプロトコル。しょっぱなからClaudeが対応した。 ②MCPで何ができるの? → 要するにChatGPTプラグインみたいな感じでClaudeから色んなサービス、あるいはローカルのアプリ、ファイルに接続してデータ取得、操作ができる。ただしそれぞれのサービス用のMCPサーバをPythonやTypescriptで書く必要がある。 ③誰がMCPサーバ書くの? → それぞれのサービスが公式で用意してくれるかもしれないし、自分で書けば何でも繋ぎこめる。自分で書くと言ってもSonnetが大体書いてくれるらしい。すでにファイル操作やGitHub、GoogleDrive用などのMCPサーバがある() ④どこからMCP使えるの? → とりま今はデスクトップ版Claudeから使える。多分無料ユーザでも課金ユーザでも使える?今後、AIアプリがMCP対応すればMCPクライアントはClaude以外にも増えていく。MCPはクライアントアプリから使うもんだからAPIには関係ない。 ⑤どうやったらClaudeでMCP使えるようにできるの? → Claudeの設定jsonファイルにMCPサーバの情報を追記すればClaudeがそれらのMCPサーバを勝手に使ってくれる。
ツイートではマイクロソフトがMCPを考案したとかいうトンチンカンな勘違いをしているが、これはEdgeの自動翻訳が悪い↓
何でも自分の手柄にするとかお前チェンソーマンのパワーちゃんかよ?
で、とりまWindowsのClaudeデスクトップ版からMCPを試す手順をメモする。
しかし、現在Windows版では不具合があって正規の手順ではMCPがちゃんと動かない。
とりま現在はMakiさんの記事に従えばWindowsでもMCPが使えるようになる。↓
だから今回は、まず正規の手順をやってみてMCPが動かないのを確認してから、回避策で動くようにするという流れを書く。
前提条件
Windowsの場合、以下のもろもろを入れておく必要がある。
Claudeデスクトップ版をインスコしておく
python実行環境として、UV(condaみたいな感じでpython仮想環境を扱うブツ)をインスコしておく
Gitをインスコしておく
SQLiteをインスコしておく
nodeをインスコしておく
node以外は以下のコマンドでシュッと入るらしい
PowerShell
Copy
winget install --id=astral-sh.uv -e
winget install git.git sqlite.sqlite
nodeは普通に公式ページから入れればいいだろう
それぞれがちゃんとインスコされたかどうか、以下のコマンドで確認できる。
PowerShell
Copy
uv --version
git --version
sqlite3 --version
node --version
正規の手順
本来はこの簡単な手順でMCP動くはずだが、現在は不具合で動かない。それにしてもAnthropicはちゃんと動作チェックくらいしてから発表しろやと言いたい。もしもAnthropicが手元に超知能AIを隠し持ってるとしたら、こんなくだらないミスを超知能が見逃すハズが無いのだから、Anthropicの手元にも大したAIは存在しない証拠である。
まず、Claudeデスクトップ版を起動して、開発者モード(Developer Mode)をオンにする。どこからオンにできるのか忘れたが、メニューのどっかからオンにできるはずだ。
Settingsを開くとDeveloperというタブがあって、Edit Configとかいうボタンを押すと、エクスプローラで設定jsonファイルに飛ぶので、これをエディタで開く。
jsonの中味は空っぽだが、何を書けばいいのか?
こちらにデフォルトで用意されてるMCPサーバの一覧がある。↓
この中でなんも考えずに一番簡単に使えるのはFilesystemというMCPサーバである。これを有効にすると、なんとClaudeがPCのローカルファイルを閲覧、作成、編集できるようになるらしい。非常に便利そうである。
で、claude_desktop_config.jsonはこんな感じに書き換えればいい↓
JSON
Copy
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/username/Desktop"]
}
}
}
"/Users/username/Desktop"の部分は各自の環境に合わせて書き換える。
ファイルを保存してClaudeデスクトップ版を再起動する。再起動というのはただウインドウを閉じただけじゃダメで、タスクバーに常駐してるアナルみてーなアイコンも閉じる必要がある。
説明によるとこれですでにMCPサーバが有効になってるハズなので、Claudeにデスクトップのファイルにアクセスを依頼してみたが、Claudeは「そんな事できるわけねえだろ」とすっとぼけてくる。
実はMCPサーバが本当に有効になってる場合、このチャット欄の右下にトンカチのアイコンが出てるハズらしく、これが無い場合はMCPサーバは有効化できてないらしい↓
というわけでWindows版の不具合でMCPサーバが動かないので、以下に回避策を書く。
回避策
Makiさんの記事に従い、まず手動でfilesystemのMCPサーバをインスコする↓
npm install -g @modelcontextprotocol/server-filesystem
ちゃんと以下のファイルが存在する事を確認する↓
C:\\Users\\[ユーザー名]\\AppData\\Roaming\\npm\\node_modules\\@modelcontextprotocol\\server-filesystem\\dist\\index.js
で、claude_desktop_config.jsonには以下のように書く。
JSON
Copy
{
"mcpServers": {
"filesystem": {
"command": "node",
"args": ["C:\\Users\\test\\AppData\\Roaming\\npm\\node_modules\\@modelcontextprotocol\\server-filesystem\\dist\\index.js", "C:\\Users\\test\\Desktop\\Sandbox"]
}
}
}
commandがnpxからnodeに変わってる点に注意。argsのパス区切りもバックスラッシュまたは¥が二つずつ必要な点に注意。絶対パスが必要な点に注意。
また、デスクトップじゃなくてその下に切ったSandboxフォルダにアクセスさせるようにした。
というのも、Claudeにデスクトップに直接アクセスさせると、もしもそれでClaudeをブチギレさせたら最悪デスクトップのファイル全部消される可能性があるという、生殺与奪の権を奪われてしまって危ないし、デスクトップのファイルを羅列させたらプライベートな恥ずかしいファイルとかも読まれてしまって気まずくなった。だからClaudeにアクセスさせるのはサンドボックス的な専用フォルダに制限しといた方がいいだろう。
それでもう一度Claudeデスクトップを再起動すれば、今度こそトンカチのアイコンが出現してMCPサーバが有効化されてるハズだ。
試しに「ポエムを書いてSandboxフォルダにテキストファイルとして保存してください。」とプロンプトを打ち込んで、ローカルにファイル保存させてみよう。
ClaudeがMCPサーバのツールを使用しようとするたびに、ダイアログが出てきて承認を求められる。↓
“Allow Once”は今回だけの承認。ツールを使うたびにまたダイアログが出てしまう。”Allow for This Chat”はこのチャット内でのツール使用は全部承認するという意味なので、少なくともこの会話内では毎回訊かれないで済むようになる。”Deny”は拒否。
承認するとちゃんとClaudeがポエム書いてテキストファイルに保存してくれた。すごい!↓
というわけでWindowsでちゃんとMCPサーバが動作する事が確認できた。
終わり
まず今回のfilesystemのMCPサーバだけでもかなり夢が広がる。私はClaudeにコード書かせる時は毎回リポジトリ内のファイルを全部一つに固めて添付していたんだが、これからはClaudeが自分で勝手に必要なファイルを読みに行ってくれるかもしれない。
それに、今まではClaudeが書いたコード差分を毎回私がコピペするハメになってたんだが、それもこれからはClaudeが自分で勝手にファイル編集までやってくれるのかもしれない。
ゆくゆくはコードの実行、テスト、デバッグ、コミット、デプロイまで全部勝手にやってくれるようになるかもしれない…。
今回使ったのはファイル操作のMCPサーバだけだが、他にもGit操作やGitHub操作、GoogleDrive操作のMCPサーバも用意されてるので、この辺も有効化すればかなり色々させられそうだ。
事はそれだけではない。MCPサーバはAnthropicが用意してくれるのを待たなくても、javascriptやpythonで自分で何でも書く事が出来る。自分で書くというより、Claude自身に大抵書かせられるだろう。
pythonでできる事は何でもさせられるようになるわけだから、今までpythonからClaudeのAPI呼んでさせてた作業もClaudeデスクトップ+MCPからさせられるだろう。これはAPIで従量課金を支払わなくても、Claude Professionalのサブスク課金の毎月3千円さえ払えば無料で何でもさせられる事を意味するだろう(無論、時間ごとの使用上限はある)
さらに夢が広がるのは、今のところはMCPが使えるのはClaudeだけだが、これはオープンなプロトコルなので、採用するアプリが増えれば色んなアプリからMCPが活用できるようになるかもしれない。