Hermes Agent ツールエコシステムと MCP 統合
Hermes のすべての能力はツール(Tools)エージェントに公開されます。
ツールはツールセット(Toolsets)に編成され、ツールセットはさらにプラットフォーム設定に組み合わされます。この3層構造が、エージェントがさまざまなシナリオで何ができるかを決定します:
工具(Tool)
└── 工具集(Toolset) # 相关工具的逻辑分组
└── 平台配置 # 哪个平台加载哪些工具集
└── 自定义工具集 # 你自己定义的组合
ツールセット管理コマンド
# 打开 curses TUI,按平台开/关工具集 hermes tools # 命令行列出所有工具和状态 hermes tools list # 按名称启用或禁用工具集 hermes tools enable NAME hermes tools disable NAME
デスクトップ版では、左側のスキルとツールメニュー:

ツールセットを無効にすると、その中のツールはシステムプロンプトから完全に消えます単なる無効化ではなく、トークンを直接節約し、エージェントが使うべきでないツールを誤用するのを防ぎます。
組み込みツールセット一覧
Hermes は 70+ の組み込みツールを提供しており、28のツールセットに分かれています。
以下では機能別に最もよく使われるツールセットを紹介します。
ファイルとシステム
| ツールセット | コアツール | 主な用途 |
|---|---|---|
| file | read_file、write_file、list_dir | ファイルの読み書き、ディレクトリ操作 |
| terminal | run_command、run_script | Shell コマンド実行 |
| code | execute_code | サンドボックス内でのコード実行(Python/JS/Bash) |
| computer | screenshot、click、type | デスクトップ GUI 自動化 |
ネットワークとコンテンツ
| ツールセット | コアツール | 主な用途 |
|---|---|---|
| web | web_search、web_extract | ウェブ検索とコンテンツ抽出 |
| browser | navigate、click、fill_form | 完全なブラウザ自動化 |
| vision | analyze_image、describe_image | 画像分析と説明 |
| audio | transcribe、tts | 音声からテキストへ、テキストから音声へ |
エージェント機能
| ツールセット | コアツール | 主な用途 |
|---|---|---|
| memory | memory、session_search | メモリ管理とクロスセッション検索 |
| skills | skills_list、skill_view、skill_manage | スキル管理 |
| delegation | spawn_agent、spawn_parallel | サブエージェント委任と並列処理 |
| kanban | task_create、task_update | マルチエージェントボード(明示的に有効化が必要) |
メディア作成
以下のツールセットには Nous Portal または対応する API キーが必要です:
| ツールセット | 機能 | 説明 |
|---|---|---|
| image_gen | テキストから画像生成 | FLUX、GPT-Image など9種類のモデルをサポート |
| tts | テキストから音声へ | 10のTTSプロバイダー(ローカルPiperを含む) |
カスタムツールセット
設定ファイルで既存のツールセットを組み合わせて、プロジェクト専用のツールセットを作成できます:
例
# カスタムツールセット:既存のツールセットを組み合わせてプロジェクト専用設定にする
custom_toolsets:
data-science:
- file
- terminal
- code
- web
その後、起動時に指定します:
例
hermes --toolsets data-science
6種類のターミナル実行バックエンド
ターミナルツールセットは6種類の実行バックエンドをサポートしており、エージェントの Shell コマンドがどこで実行されるかを決定しますそれぞれ異なる分離レベルと「爆発半径」に対応します。
| バックエンド | コマンド実行場所 | 分離レベル | 典型的なシナリオ |
|---|---|---|---|
| local(デフォルト) | ローカルマシン、現在のユーザー権限 | 无 | 個人開発、日常利用 |
| docker | Docker コンテナ内 | 完全分離 | 本番デプロイ、安全なサンドボックス |
| ssh | リモートサーバー | ネットワーク境界の分離 | リモート開発、高性能マシン |
| modal | Modal クラウドサンドボックス(VM) | 完全(クラウド) | 一時的な計算、評価タスク |
| daytona | Daytona マネージドワークスペース | 完全(クラウドコンテナ) | マネージドクラウド開発環境 |
| singularity | Singularity コンテナ | 名前空間による分離 | HPCクラスター、共有マシン |
バックエンドの切り替え
例
hermes config set terminal.backend docker
# SSH バックエンドに切り替え
hermes config set terminal.backend ssh
hermes config set terminal.ssh_host user@your-server.com
Docker バックエンドの完全な設定例:
例
# Docker バックエンド設定
terminal:
backend: docker
docker_image: "nikolaik/python-nodejs:python3.11-nodejs20"
container_persistent: true # true = バインドマウント、false = tmpfs 一時
セキュリティ原則:local バックエンドはエージェントにあなたと同じファイルシステム権限を与えます——個人マシンには適していますが、本番サービスには適していません。docker バックエンドは最も簡単で効果的な分離方法です。
危険なコマンドの承認
デフォルトでは、Hermes は破壊的な可能性のあるコマンドを実行する前に確認を求めます:
例
# 承認モード設定
approvals:
mode: manual # manual(デフォルト)| smart | off
timeout: 60 # 承認を待つ秒数
cron_mode: deny # スケジュールタスクが危険なコマンドに遭遇したときの動作:deny | approve
セッション中に一時的に承認をバイパスする(注意して使用):
例
/yolo
# もう一度入力すると無効
/yolo
MCP:外部ツールエコシステムへの接続
MCP(Model Context Protocol)により、Hermes はコアコードを変更することなく外部ツールサーバー(GitHub、データベース、ファイルシステム、ブラウザスタック、内部 API など)に接続できます。
標準インストールには MCP サポートが含まれています追加の手順は不要です。
2種類のMCPサーバータイプ
ローカル stdio サーバー:子プロセスとしてローカルで実行され、標準入出力で通信します:
例
# MCP stdio サーバー設定
mcp_servers:
github:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_..."
filesystem:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/projects"]
git:
command: "uvx"
args: ["mcp-server-git", "--repository", "/home/user/project"]
適用シナリオ:ツールがローカルにインストールされており、ローカルリソースへの低遅延アクセスが必要な場合。
リモート HTTP サーバー:リモートの MCP エンドポイントに直接接続します:
例
# MCP HTTP サーバー設定
mcp_servers:
# 静的 Bearer Token 認証
internal_api:
url: "https://mcp.internal.example.com/mcp"
headers:
Authorization: "Bearer ${MY_TOKEN}"
# OAuth 2.1 認証(Linear、Sentry、Figma、Stripe など)
linear:
url: "https://mcp.linear.app/mcp"
auth: oauth
# OAuth クライアントの事前登録が必要なプロバイダー
googledrive:
url: "https://drivemcp.googleapis.com/mcp/v1"
auth: oauth
oauth:
client_id: "<your-oauth-client-id>"
client_secret: "<your-oauth-client-secret>"
適用シナリオ:ツールがリモートでホストされている場合、または組織内に MCP インターフェースがある場合。
Nous 厳選 MCP ディレクトリ
Hermes には Nous 審査済みの MCP ディレクトリが内蔵されており、ワンクリックでインストールできます:
例
hermes mcp
# プレーンテキストリスト
hermes mcp catalog
# ディレクトリ内のエントリを名前指定でインストール
hermes mcp install n8n
セレクターには各エントリの現在の状態が表示されます:
n8n available 管理和检查 n8n 工作流 linear enabled Linear 问题/项目管理(远程 OAuth) github installed (disabled) GitHub 仓库 + PR 工具
インストール時に次の3つのステップが自動的に実行されます:
- APIキーの設定を促すか、OAuthログインを案内します
- サーバーが公開しているツール一覧を検出します
- ツール選択リストを表示し、有効にするツールを決定できます
ツールフィルタリング:必要なものだけを公開する
各MCPサーバーは詳細なツールフィルタリングをサポートし、Agentが利用可能な攻撃面を減らします:
例
# MCPツールフィルタリング設定
mcp_servers:
github:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_..."
tools:
include: [list_issues, create_issue, update_issue, search_code]
# リストにないツールは登録されません
resources: false
prompts: false
stripe:
url: "https://mcp.stripe.com"
headers:
Authorization: "Bearer ${STRIPE_KEY}"
tools:
exclude: [delete_customer, refund_payment] # 高リスク操作を除外
| フィールド | 動作 |
|---|---|
| tools.include | リスト内のツールのみ登録し、それ以外はすべて除外 |
| tools.exclude | リスト内のツールを除外し、それ以外はすべて登録 |
| 両方設定 | include が優先 |
| resources: false | MCPリソースアクセスツールを公開しない |
| prompts: false | MCPプロンプトツールを公開しない |
フィルタリングルールでは、Hermes登録後のアンダースコア版ではなく、MCPの元のツール名(ハイフン/ドット含む)を使用します。
各MCPサーバーは独立したツールセットを生成する
github MCPサーバーを設定すると、Hermesは実行時に自動的にmcp-githubツールセットを作成します。
内蔵ツールセットと同じように操作・管理できます:
例
# プラットフォーム設定でMCPツールセットを参照
platform_toolsets:
cli:
- hermes-cli
- mcp-github
- mcp-linear
MCP設定の再読み込み
config.yamlを変更した後、Agent全体を再起動する必要はありません:
例
/reload-mcp
# またはコマンドラインから
hermes mcp reload
OAuthで認証を完了する必要がある場合、30秒のタイムアウトでは不十分です。まずサーバー設定を追加し、新しいターミナルで `hermes mcp login <server>` を実行して認証を完了することをお勧めします(最大5分間待機)。
エディタ統合(ACP)
ACP(Agent Communication Protocol)により、Hermesはエディタ内でネイティブに動作します。チャット、ツールアクティビティ、ファイル差分、ターミナルコマンドがすべてエディタに直接表示されます。
対応エディタ:VS Code、Zed、JetBrains全シリーズ。
標準インストールにはACPサポートが含まれています:
例
hermes acp
インストール時に完全な依存関係が含まれていない場合:
例
cd ~/.hermes/hermes-agent
uv pip install -e ".[acp]"
| エディタ | 統合方法 | 機能 |
|---|---|---|
| VS Code | 拡張プラグイン | インラインコード補完、コードレビュー、リファクタリング提案 |
| Zed | ネイティブAgentモード | stdio/JSON-RPC通信、コンテキスト認識 |
| JetBrains | プラグイン | コード生成、テスト生成、ドキュメントコメント |
エディタ統合はstdio/JSON-RPCプロトコルを使用してHermes Agentと通信するため、ネットワーク接続に依存せず、オフライン利用に適しています。
音声モード
音声モードはCLIとメッセージプラットフォームにわたる完全な音声対話をサポートします:
- マイク録音入力(faster-whisperローカル音声認識、無料)
- TTS音声応答(選択可能な10のプロバイダー)
- Discordボイスチャンネルでのリアルタイム会話
インストールと有効化
例
cd ~/.hermes/hermes-agent
uv pip install -e ".[voice]"
例
/voice on
# Ctrl+Bを押して録音開始、離して送信
# メッセージプラットフォームでは
/voice on # TTS応答を有効化
/voice tts # テキスト読み上げのみ有効化(音声入力は無効)
/voice off # 無効化
TTSプロバイダー
| プロバイダー | 特徴 | 無料か |
|---|---|---|
| Edge TTS | Microsoftニューラル音声、多言語 | 無料 |
| Piper | 完全ローカル、低遅延 | 無料 |
| OpenAI TTS | 高品質、多音色 | 従量課金 |
| ElevenLabs | 最高音質、音声クローン | 従量課金 |
| MiniMax | 中国語に最適化 | 従量課金 |
| Mistral Voxtral | 多言語 | 従量課金 |
ツールゲートウェイ(Nous Portal サブスクリプション)
Nous Portalのサブスクリプションを通じて、4種類のツールのクラウド実装をワンクリックで利用でき、個別にAPIキーを申請する必要はありません:
| ツール | 説明 |
|---|---|
| ウェブ検索 | 検索+コンテンツ抽出(webツールセット) |
| 画像生成 | 9種類のモデル:FLUX、GPT-Image、Ideogram など |
| TTS | テキスト読み上げ |
| クラウドブラウザ | 完全なブラウザ自動化(ローカルPlaywright不要) |
例
hermes setup --portal
ツールセキュリティ:MCP環境変数の分離
MCP stdioサブプロセスは、フィルタリングされた環境を受け取り、予期しない認証情報の漏えいを防ぎます。
デフォルトでは、以下の変数のみがMCPプロセスに渡されます:
PATH, HOME, USER, LANG, LC_ALL, TERM, SHELL, TMPDIR(以及所有 XDG_* 变量)
その他のすべての環境変数(APIキー、トークン、パスワード)はブロックされます。
MCPサーバー設定の `env:` ブロックで明示的に宣言された変数のみが渡されます:
例
# 明示的に宣言された変数のみがMCPサブプロセスに渡されます
mcp_servers:
github:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_..." # これだけが渡されます
さらに、MCPツールのエラー情報はLLMに返す前に自動的にサニタイズされ、機密情報は[REDACTED]。
よく使うコマンド早見表
例
hermes tools # 対話型ツールセット管理(TUI)
hermes tools list # すべてのツールと状態を一覧表示
hermes tools enable NAME # ツールセットを有効化
hermes tools disable NAME # ツールセットを無効化
# ─── MCP管理 ────────────────────────────────────────────────
hermes mcp # 対話型MCPディレクトリセレクター
hermes mcp catalog # プレーンテキストのディレクトリ一覧
hermes mcp install <name> # ディレクトリエントリをインストール
hermes mcp add NAME --command CMD # MCPサーバーを手動追加
hermes mcp remove NAME # MCPサーバーを削除
hermes mcp list # 設定済みサーバーを一覧表示
hermes mcp test NAME # 接続をテスト
hermes mcp login <server> # OAuth認証を完了
hermes mcp configure <server> # ツール選択を再設定
hermes mcp reload # MCP設定を再読み込み
# ─── ターミナルバックエンド ────────────────────────────────────────────────
hermes config set terminal.backend docker
hermes config set terminal.backend ssh
hermes config set terminal.ssh_host user@host
# ─── ACPエディタ統合 ──────────────────────────────────────────
hermes acp
# ─── Portalサブスクリプション ─────────────────────────────────────────────
hermes setup --portal