【Claude Codeチャレンジ日誌6】Claude CodeでMCPを使う
今回は、Claude CodeでExcel操作やWebブラウザ操作を可能にするMCPサーバーとの連携にチャレンジしてみました。
※色々調べながらまとめていますが、完全に正しい理解か自信がない部分もあるため、「それ間違ってるよ!」といった点があればコメントいただけると助かります。
1.Excel MCPとPlaywright MCPの導入
Excel MCPサーバーの導入
Excel MCP Serverは、Claude CodeでExcelファイルを操作するためのMCP(Model Context Protocol)サーバーです。
プロジェクトディレクトリの準備
mkdir excel-mcp-tutorial
cd excel-mcp-tutorial
Python仮想環境の作成
python3 -m venv venv
仮想環境のアクティベート
source venv/bin/activate
必要なPythonパッケージのインストール
pip install pandas fastapi mcp uv
Excel MCP Serverのグローバルインストール
# npmでグローバルインストール
npm install -g excel-mcp-server
Claude CodeにMCPサーバーを登録
# Claude Codeに excel-server を登録
claude mcp add-json excel-server '{"name":"excel-server","command":"uvx","args":["excel-mcp-server","stdio"]}'
以下のコマンドで登録されていることを確認する:
claude mcp list
以下のように表示されればOK:
excel-server: excel-mcp-server stdio
動作確認
仮想環境をActivateした状態で以下のコマンドを実行:
npx excel-mcp-server --stdio
以下のように表示されてエラーが出なければOK:
正在启动Excel文件读取MCP服务器...
Python脚本路径: /home/sinfo/.nvm/versions/node/v24.1.0/lib/node_modules/excel-mcp-server/read_file_server.py
Claude Codeの起動
重要: 必ずPython仮想環境をアクティベートした状態で実行してください。
# 仮想環境がアクティベートされていることを確認
source venv/bin/activate && claude
Excel操作の例
Claude Codeが起動したら、以下のような指示でExcelファイルを操作できます:
以下の例では、excel-mcp-serverのページをリサーチして使い方をExcelファイルにまとめてもらいました。
以下のURLを検索して、excel-mcp-serverの使い方を初心者にもわかるようにまとめて、カレントディレクトリにExcelファイルを生成してください。
デザインはカラフルでおしゃれなExcelシートにして下さい。
https://github.com/haris-musa/excel-mcp-server
しばらくするとカレントディレクトリにExcel-MCP-Server-Tutorial.xlsx
が生成されました。
ファイルを開くと以下のようないい感じのExcelファイルが自動生成されてる!
なかなかいいぞ!
Playwright MCPサーバーの導入
Playwright MCPサーバーを使うと、Claude CodeからWebブラウザの操作が可能になります。
※Playwright MCPサーバーはPythonの仮想環境がなくても動く。
# Playwright MCPサーバーをClaude Codeに登録
claude mcp add-json playwright '{"name":"playwright","command":"npx","args":["@playwright/mcp@latest"]}'
# Chromeブラウザをインストール(Playwright用)
npx playwright install chrome
インストール確認
claude mcp list
出力例:
playwright: npx @playwright/mcp@latest
excel-server: npx excel-mcp-server stdio
動作確認
claudeコマンドで起動した後、以下のように指示出しすると自動でブラウザを操作してくれます。
Chromeで今日の東京の天気を調べて。
以下のようにブラウザが自動起動して、検索して結果を出力してくれます。
ちなみに、以下のように実行すれば、画面上には何も表示されませんが、ブラウザ操作で天気を調査した結果をExcel生成することろまで全自動で実行してくれます。
source venv/bin/activate && claude -p "Chromeブラウザを操作して、今日(2025/6/24)の東京の天気をリサーチしたあとにExcelファイルに結果をまとめて。Excelシートはカラフルでおしゃれなデザインにしてください。"
以下のようなExcelファイルが自動生成されました。
2.MCPサーバーの削除方法
不要になったMCPサーバーは以下のコマンドで削除できます:
# Excel MCPサーバーを削除
claude mcp remove excel-server
3.設定ファイルの理解
Claude CodeのMCP設定は複数のファイルで管理されています。
1. グローバル設定ファイル
MCPサーバーの登録情報が保存される場所(※正確な場所は環境により異なる):
-
WSL環境:
~/.claude.json
または~/.claude/config.json
-
Windows:
%USERPROFILE%\.claude\config.json
このファイルには、claude mcp add-json
コマンドで追加したMCPサーバーの定義が保存されます。
settings.local.json
2. プロジェクトごとの権限設定: 各プロジェクトのルートディレクトリに作成されるsettings.local.json
には、MCPサーバーの各機能に対する権限設定が保存されます。
{
"permissions": {
"allow": [
"mcp__excel-server__create_workbook",
"mcp__excel-server__create_worksheet",
"mcp__excel-server__write_data_to_excel",
"mcp__excel-server__format_range",
"mcp__excel-server__create_chart",
"mcp__playwright__browser_navigate",
"mcp__playwright__browser_type",
"mcp__playwright__browser_click"
],
"deny": []
}
}
権限設定の意味
-
allow
: Claude Codeが使用を許可されたMCP機能のリスト -
deny
: 使用を禁止する機能のリスト(セキュリティ上の理由で特定の機能を制限したい場合)
権限は以下の形式で記述されます:
mcp__[サーバー名]__[機能名]
~/.claude.json
3. プロジェクト設定: ~/.claude.json
には、各プロジェクトの設定が保存されています。プロジェクトごとにmcpServers
セクションがあり、そのプロジェクトで有効なMCPサーバーが定義されています。
4.MCP Server設定の確認方法
MCPサーバーの設定を探す(参考例)
# my-hello-serverの設定を探す
grep -B5 -A10 "my-hello-server" ~/.claude.json
# playwrightの設定を探す
grep -B5 -A10 "playwright" ~/.claude.json
# excel-serverの設定を探す
grep -B5 -A10 "excel-server" ~/.claude.json
# mcpServersが空でない部分だけを表示
grep -B10 -A20 '"mcpServers": {' ~/.claude.json | grep -v '"mcpServers": {},'
設定ファイルの場所を特定
# .claudeディレクトリの中身を確認
ls -la ~/.claude/
# 設定ファイルを探す
find ~ -name "*.json" -path "*claude*" 2>/dev/null
5.まとめ
Claude CodeのMCP機能を使うことで、Excel操作やブラウザ自動化などの高度な機能が利用できます。設定は少し複雑ですが、一度理解すれば強力な自動化ツールとして活用できます。
主なポイント:
- MCPサーバーは
claude mcp add-json
コマンドで簡単に追加可能 - 設定は複数のファイルに分散して保存される
- プロジェクトごとに権限設定が必要
-
claude mcp list
で現在の設定を確認できる
ぜひMCPを活用して、Claude Codeの可能性を最大限に引き出してください!
Discussion