Claude CodeにMCPサーバーを繋いだ|便利さより先に考えるべきこと
カレンダー、メール、スプレッドシート、ブラウザ。外部サービスを繋ぐと作業は速くなりますが、繋いだ分だけ手が届く範囲が広がります。実際に運用して気をつけていることを書きます。
MCPとは何か(実務での意味)
MCPは、外部のサービスやツールをAIから使えるようにする仕組みです。
繋ぐと何が変わるか。「ファイルを読んでコードを書く」以外のことができるようになります。
- スプレッドシートの中身を直接読む
- カレンダーの予定を確認する
- ブラウザを操作して画面を確認する
- 過去のやり取りを検索する
コピペで渡していた情報を、直接取りに行けるようになるのが実務での意味でした。
繋いで明確に効いたもの
実際に運用していて、効果がはっきりしているものを挙げます。
ブラウザ操作
これが一番効きました。
サイトを直したあと、実際に表示して確認するところまで一続きにできます。コードを書いて終わりではなく、崩れていないか、リンクが機能するかを見た上で完了になります。
先日も、サイトのリンクを直したあとにブラウザで検査したところ、リンクが本文と同じ色で表示されていて、クリックできると分からない状態でした。コードだけ見ていたら気づきません。
スプレッドシートの読み取り
数字を扱う作業では、中身を直接読めるかどうかで手間が変わります。
繋いでいないと、こちらがコピーして貼る作業が発生します。列が多い表では、それだけで作業時間の大半を占めます。
ファイルの取得
社内のファイルを直接参照できると、「あの資料の内容を反映して」で通ります。
繋がないと決めたもの
一方、繋がないほうがいいと判断したものもあります。
判断の基準は1つです。
その操作が、外に影響を出すかどうか。
| 繋いでよい | 慎重に判断する |
|---|---|
| 読み取り中心 | 送信・投稿 |
| 確認・検索 | 削除 |
| 自分の環境内で完結 | 課金・購入 |
読み取りは失敗しても元に戻せます。送信と削除は戻せません。
実際、当方ではサイトの公開(FTP送信)を自動化できる状態にしていません。 差分の確認まではやりますが、公開ボタンは人間が押す形にしています。
これは能力の問題ではなく、取り返しがつかない操作を自動化しないという方針です。
認証の扱い
MCPサーバーの多くは、外部サービスへの認証が必要です。
認証は切れる
これは必ず起きます。 OAuthのセッションには期限があり、更新に失敗することもあります。
問題は、切れたことに気づく手段がないことです。手元で対話しているときはエラーが見えますが、定期実行に組み込んでいる場合は静かに失敗します。
実際、別の自動処理で認証切れによる14日間の停止を経験しました。毎朝きっちり実行され、きっちり失敗していました。
対策として、認証が生きているかを定期的に確認する仕組みを入れています。
# 実際に軽く叩いて、認証エラーが返らないか見る
out=$(claude -p "OK" 2>&1 | head -3)
if echo "$out" | grep -qi "expired\|Failed to authenticate"; then
echo "⚠ 認証が切れています"
fi
出力ファイルの鮮度だけを見ていると、気づくのに数日かかります。 認証そのものを直接確かめるのが確実でした。
認証情報をやり取りに含めない
トークンや鍵をチャットに貼らないのは基本ですが、うっかり起きます。
設定ファイルから読む形にして、画面に出さない運用にしてください。当方では、鍵ファイルの中身を出力しないことを作業ルールに明記しています。
つまずきやすい点
繋ぎすぎると把握できなくなる
サブエージェントやスキルと同じ問題が起きます。
何が繋がっているか分からない状態は、何ができてしまうか分からない状態と同じです。使っていないものは外すほうが安全です。
認証が必要なものは、必要になってから繋ぐ
「便利そうだから」で繋ぐと、認証だけが増えます。そして切れます。
実際に使う場面が来てから繋ぐほうが、管理するものが減ります。
接続できない状態を「壊れている」と誤解しない
MCPサーバーは、起動のタイミングや認証状態によって使えないことがあります。
使えない=設定が間違っている、とは限りません。 認証が必要な状態なのか、サーバーが起動していないのか、切り分けてから直してください。
読み取りでも影響が出る場合がある
「読むだけだから安全」とは限りません。大量のデータを読むと、それが文脈に入ります。
必要な範囲だけを読む指定ができるなら、そうしたほうが結果も安定します。
よくある質問
MCPサーバーは何を繋ぐべきですか?
読み取り中心のもの、確認や検索に使うものから繋ぐのが安全です。送信・削除・課金といった外に影響が出る操作は、自動化せず人間が実行する形に残すことを推奨します。
MCPの認証が切れたことに気づく方法はありますか?
定期的に軽い呼び出しを行い、認証エラーが返らないかを確認する方法があります。出力ファイルの更新日時だけを見ていると、気づくまでに数日かかります。認証そのものを直接確かめるほうが確実です。
ブラウザ操作を繋ぐ利点は何ですか?
コードを直したあと、実際に表示して確認するところまで一続きにできる点です。リンクの色が本文と同じでクリックできると分からない、といった問題はコードだけを見ても気づけません。
まとめ
MCPで外部サービスを繋ぐと、作業の範囲が広がります。同時に、手が届く範囲も広がります。
- 読み取りは積極的に繋ぐ(確認まで一続きにできる)
- 送信・削除は自動化しない(取り返しがつかない)
- 認証は必ず切れる前提で、生存確認を持つ
- 使っていないものは外す
便利さの判断より先に、「これが誤って動いたら何が起きるか」を考えると、繋ぐものが決まりました。