🌐 Read this article in English
Claude Codeの公式情報はAnthropic公式ドキュメントを参照。MCPの仕様はModel Context Protocol公式サイトで確認できる。
Claude Code単体でも十分に強力だが、MCP(Model Context Protocol)サーバーを接続すると自動化の幅が別次元に広がる。Gmail操作、ブラウザ制御、デスクトップ操作など、あらゆる外部ツールをClaude Codeから直接呼び出せるようになる。
この記事では、Claude Code MCP serverの基本概念から、自作MCPの実装方法、そして実際に運用しているサーバーの詳細まで解説する。
Claude Code MCP serverとは
MCPを一言で表すと、AIにツールを渡すための標準プロトコルだ。従来のAPIとの違いは明確で、APIは人間がコードを書いて叩くものだが、MCPはAIが自分で判断してツールを呼ぶ仕組みだ。
つまり、Claude Code MCP serverを接続すると、Claude Codeが「メールを送る必要がある」と判断した時点で、自動的にGmail MCPを呼び出してくれる。人間が介入する必要はない。
さらに、MCPは標準化されたプロトコルなので、一度サーバーを作ればClaude Code以外のMCP対応AIからも利用できる。これは将来的な資産にもなる。
📊 MCP接続アーキテクチャ
.mcp.json — MCPサーバーの接続設定
MCPサーバーの接続はプロジェクトルートの.mcp.jsonファイルで管理する。設定は非常にシンプルで、起動コマンドとパスを書くだけだ。
{
"mcpServers": {
"k-chrome": {
"command": "python",
"args": ["mcp-job-wrapper", ".claude/mcp-servers/k-chrome/server.py"]
},
"k-gmail": {
"command": "python",
"args": ["mcp-job-wrapper", ".claude/mcp-servers/k-gmail/server.py"]
},
"Windows-MCP": {
"command": "npx",
"args": ["-y", "windows-mcp"]
}
}
}
Claude Codeを起動すると、この設定に基づいて全MCPサーバーが自動的に立ち上がる。したがって、個別にサーバーを起動する手間は一切ない。
自作MCPサーバーの紹介
自分が実際にClaude Code MCP serverとして運用しているものを紹介する。なお、「k-chrome」「k-gmail」のk-は自分のイニシャルで、公式MCPと区別するために付けた自作MCPの命名規則だ。
k-chrome — ブラウザ自動操作MCP
Chrome DevTools Protocolを利用した自作のブラウザ操作MCPサーバーだ。このサーバーは以下の操作に対応している:
- ページ遷移、要素のクリック、フォームへの入力
- スクリーンショットの撮影と画像解析
- ページ内でのJavaScript実行
- 既存のChromeプロファイルをそのまま利用(ログイン状態を維持)
特に重要なのは、最後の「既存プロファイル利用」だ。普段使いのChromeセッション(Googleログイン済み、Amazonログイン済みなど)をそのままAIに操作させられる。その結果、毎回ログインし直す手間が完全に不要になる。
k-gmail — Gmail操作MCP
Gmail APIを利用した自作MCPサーバーだ。メールの検索・取得・送信を自動化できる。
- メール検索・本文取得
- 下書き作成・送信
- 添付ファイル付き送信(PDF請求書など)
- スレッド単位の取得と返信追跡
たとえば「メールで請求書を送って」と指示するだけで、PDFを添付してメール送信まで全自動で実行してくれる。一方で、受信メールの監視にも使えるため、問い合わせへの返信があったかを定期的にチェックするポーリングにも活用している。
Windows-MCP — デスクトップ操作MCP
こちらは既存のnpmパッケージで、Windowsデスクトップ全体を操作できるMCPサーバーだ。
- 任意のアプリケーションの起動と操作
- スクリーンショット撮影→座標特定→クリック
- キーボード入力とショートカット操作
- PowerShellコマンドの実行
LINE PCアプリでのメッセージ送信など、ブラウザ外のアプリケーション操作ではこのMCPが不可欠だ。
monthly-invoice — 請求書処理専用MCP
毎月の請求書作成を自動化する専用MCPサーバーだ。Excelテンプレートの編集、PDF変換、請求番号の自動採番、残業時間の計算などに対応している。
file-upload-bridge — ファイルアップロード仲介MCP
WebサイトへのファイルアップロードをClaude Codeから実行するためのMCPサーバーだ。ローカルHTTPサーバーを立てて、ブラウザのFile APIにファイルデータを渡す仕組みになっている。
公式リモートMCPサーバーも活用できる
自作MCPだけでなく、Anthropicが提供する公式のリモートMCPサーバーも接続可能だ:
- Canva — デザインの生成・編集・エクスポート
- Google Calendar — 予定の作成・確認・変更
- Kiwi.com — 世界中のフライト検索・比較
- Slack / Notion — チーム連携ツールとの統合
これらのリモートMCPサーバーは、AnthropicのMCPマーケットプレイスからワンクリックで追加できる。自作MCPと組み合わせることで、Claude Codeの自動化範囲はさらに広がる。
自作Claude Code MCP serverの作り方
Pythonで書く場合、mcpライブラリを使えばわずか数十行でMCPサーバーを作れる:
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("my-server")
@mcp.tool()
def hello(name: str) -> str:
"""挨拶する"""
return f"Hello, {name}!"
if __name__ == "__main__":
mcp.run()
@mcp.tool()デコレータを付けた関数が、Claude Codeから呼べるツールとして登録される。docstringがツールの説明文になるため、わかりやすく書くのがコツだ。さらに、型ヒントを使えばパラメータの型も自動的にスキーマ化される。
開発したMCPサーバーは.mcp.jsonに追加するだけで、Claude Codeから即座に利用可能になる。テストも簡単で、Claude Codeを再起動してツールが認識されるか確認するだけだ。
🔧 自作MCP vs 公式MCP — どちらを選ぶべき?
自作MCPが適しているケース:
- 既存のログイン状態を使いたい(k-chrome: Chromeプロファイル共有)
- 社内システムなど固有のAPIに接続したい
- 処理のカスタマイズが必要(monthly-invoice: 独自の計算ロジック)
公式リモートMCPが適しているケース:
- OAuth認証を自分で実装したくない(Google Calendar, Slack等)
- すぐに使い始めたい(ワンクリック追加)
- メンテナンスをAnthropicに任せたい
次回予告
次回はスキル編。Amazon購入、レストラン予約、LINE送信など、Claude Codeに「一声で」実行させるカスタムスキルの仕組みと実例を紹介する。
