MCPとは何か、なぜ慎重に扱うか
MCP(Model Context Protocol)は、スキルとツールの違いで触れた「拡張の三つめの道」です。組み込みツールやスキルでは届かない外部の機能を、エージェントに取り込めます。とても強力ですが、設定リファレンスのMCPには安全上の注意が繰り返し出てきます。なお、MCPの管理画面は設定画面ではなく、サイドバーの「スキルとツール」画面の「MCP」タブにあります。
なぜそこまで慎重を求められるのか。それは、MCPが便利さと引き換えに「信頼の境界」を外へ広げる仕組みだからです。この章では、MCPがどう動くかという仕組みと、なぜリスク管理が要るのかという理由を、対にして理解します。仕組みが分かれば、注意書きが「過剰な脅し」ではなく「妥当な用心」だと納得できます。
MCPとは何か ─ 外部ツールの共通の差込口
MCP(Model Context Protocol)は、外部のサーバーがエージェントにツールを公開するための共通プロトコルです。MCPサーバーを登録すると、そのサーバーが提供するツール(やリソース・プロンプト)がHermesから使えるようになります。
たとえるなら、USBのような共通規格です。メーカーや機器の種類が違っても、同じ差込口でつながります。MCPも、提供者や中身が違っても同じ作法でHermesに接続できます。この標準化のおかげで、Hermes本体が個々のサービスに個別対応しなくても、対応サーバーを足すだけで能力を広げられます。
組み込みツールセットが「最初から箱に入っている道具」なら、MCPは「外部の業者が同じ規格の差込口で持ち込む道具一式」です。能力の出どころが外部にある、という点が後の議論の出発点になります。
取り込まれたツールは、エージェントからは mcp__<サーバー名>__<ツール名> という形式で見えます(Claude CodeやCodexと共通の規約で、英数字とアンダースコア以外の文字は _ に置換されます)。名前の先頭を見るだけで「これは外部由来のツールで、どのサーバーが提供しているか」が分かるため、ログや承認画面で出どころを確認するときの手がかりになります。
二つのつなぎ方 ─ stdio と HTTP
MCPサーバーへのつなぎ方は、大きく二種類あります。何がどこで動くかが違うので、リスクの性質も変わります。
- stdio: Hermesがあなたのマシン上で子プロセスを起動して通信します。設定では
command(起動する実行ファイル)、args(引数)、env(渡す環境変数)を指定します。ローカルの道具を直接動かすイメージです。 - HTTP: リモートのMCPエンドポイントに接続します。設定では
url、headers(認証情報など)、必要に応じてauth(OAuth)を使います。外部のサービスにネットワーク越しにつなぐイメージです。
二つ用意されているのは、つなぎたい相手が二種類あるからです。手元で動かすローカルツールと、ネット越しのリモートサービス。stdioは前者、HTTPは後者を担います。
なぜ慎重に扱うのか ─ 信頼の境界が外へ広がる
ここがこの章の核心です。組み込みツールはHermes自身が管理する範囲にありますが、MCPで取り込むのは外部のコードやサービスです。MCPを足すたびに、あなたが信頼しなければならない相手が一つ増えます。
二つのつなぎ方それぞれに、固有のリスクがあります。
- stdioのリスク: Hermesがあなたのマシンで子プロセスを起動します。これは、配布元のコードがあなたの環境で動くということです。実行ファイルやその依存物が信頼できなければ、ローカルで望まない動作をする余地があります。
- HTTPのリスク: あなたのデータがリモートのサーバーへ渡ります。送った内容の扱い、保存場所、通信の安全性は、その運営者に委ねられます。
つまりMCPサーバーを有効にするとは、「その提供者を信頼する」と宣言することです。便利な機能の裏で、信頼の連鎖が一段伸びます。注意書きが多いのは、この境界の広がりが本質的にリスクを伴うからであって、MCPが欠陥品だからではありません。道具が鋭いほど扱いに用心が要る、というだけのことです。
リスクを抑えるために用意された設計
Hermesは、この広がった境界を絞り込むための仕組みを複数持っています。仕組みと目的をセットで押さえておくと、設定の意味が通ります。
| 仕組み | 何をするか | なぜ効くか |
|---|---|---|
enabled: false | サーバーの接続・検出・登録をすべて停止 | 使わないサーバーは完全に無効化し、境界を広げない |
env とパスの最小化 | stdioの子プロセスへ渡す環境変数・アクセス可能パスを絞る | 万一の不正動作でも、触れる範囲を最小にする |
tools.include | 公開するツールを指定したものだけに絞る | サーバーが持つ全機能ではなく、必要な分だけ受け取る |
sampling.enabled: false | MCPサーバーからの推論要求を拒否 | 未信頼サーバーにHermesのモデルを使わせない |
ssl_verify(既定 true) | サーバー証明書を検証 | 通信相手が本物かを確かめる。本番では無効化しない |
| 再読み込み時の確認 | approvals.mcp_reload_confirm で確認を挟む(CLI/TUIの手動 /reload-mcp 時) | 手動の再読み込みが不用意に適用されるのを防ぐ |
特に注意したいのが、sampling(サンプリング)です。これはMCPサーバーが逆にHermesのモデル推論を利用できる機能で、SDK対応時は既定で有効です。つまりツールを提供するだけでなく、サーバー側からHermesのモデルを呼べる経路でもあります。信頼できないサーバーでは sampling.enabled: false にして、この逆向きの経路を閉じておくのが安全です。
もう一つ、停止の仕方です。確実に止めるキーは enabled: false です。UIのスイッチの表示もランタイムの停止判定も、同じ enabled キーを読みます。「止めたつもりで動いていた」を避けるため、停止は enabled: false で行うと覚えておきます。詳細はMCP設定を参照してください。
信頼できるサーバーを見分ける
完璧な見分け方はありませんが、確認すべき観点は決まっています。リファレンスの推奨チェックを、概念として要約すると次のようになります。
- 配布元と実行コマンドを確認する: 誰が作ったサーバーか、何を起動するのかを把握する。
- 権限を最小にする: stdioなら
envとアクセス可能パスを絞り、tools.includeで必要なツールだけ公開する。 - 通信を確かめる: HTTPはHTTPSか、ホスト名と認証方式は妥当か。
ssl_verifyを無効化しない。 - 未信頼なら推論要求を切る:
sampling.enabled: false。 - 反映されたツールを次のターンで動作確認する: つないだ直後にいきなり本番作業で使わない。
要は「相手が誰か」「渡す権限を最小にできているか」「通信は安全か」の三点を、つなぐ前に確かめる習慣です。これは入門: 安全に使う設定の段階的なセキュリティの考え方と同じ筋で、能力を一気に開放せず、必要な分だけ慎重に広げる姿勢です。
反映の仕組み ─ 保存すれば自動で反映される
最後に、設定がいつ効くかという仕組みです。MCPの設定は、既定で自動的に反映されます(mcp.auto_reload_on_config_change: true)。デスクトップの「スキルとツール」画面の「MCP」タブでは、保存・有効/無効の切り替え・削除を行った時点で、ライブセッションへ自動的に再読み込みが走ります。手動で「MCPを再読み込み」を押す操作は不要です。
ただし、反映されるのは実行中のターンの途中ではなく、次の新しいターンからです。新しいツールスキーマは次のターンで使われます。なお、接続を仲介するゲートウェイが切断中は再読み込みできません。
この「次の新しいターンから有効になる」という区切りが安全弁です。走っている作業の途中でツール一覧が差し替わらないので、変更が即座に割り込んで事故になるのを防げます。
手動の再読み込み(CLI/TUIの /reload-mcp)は、外部ツールで config.yaml を直接書き換えた場合や、自動リロードを切った(auto_reload_on_config_change: false)場合のフォールバックとして残っています。自動リロードを切る選択は、設定ファイルを頻繁に書き換える運用で有効です。/reload-mcp はツール一覧を作り直してプロンプトキャッシュを無効化する(次のメッセージで全入力を再送する)ため、無用な再読み込みを避けたいときに使い分けます。
再読み込み時に確認を挟む approvals.mcp_reload_confirm(既定オン)は、CLI/TUIで手動の /reload-mcp を実行したときに効きます。デスクトップの「MCP」タブでの保存に伴う自動リロードは、この確認を挟まず即時に反映されます。
MCPは、慎重に扱えばエージェントの世界を大きく広げる道具です。仕組み(共通の差込口・stdioとHTTP)と、リスクの理由(信頼境界の拡大)を両方理解したうえで、必要なサーバーだけを最小権限でつなぐ。それが、この機能とうまく付き合う基本姿勢です。
関連
- リファレンス: MCP
- 入門コース: MCPで能力を広げる / 安全に使う設定
- 概念解説: スキルとツールの違い / アーキテクチャ
© 2026 Hermes Desktop ガイド(非公式)。引用・部分転載は、出典として本ページへのリンクを添えていただければ歓迎します。記事全文の無断複製・転載はご遠慮ください。