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のツールセットに分かれています。

以下では機能別に最もよく使われるツールセットを紹介します。

ファイルとシステム

ツールセットコアツール主な用途
fileread_file、write_file、list_dirファイルの読み書き、ディレクトリ操作
terminalrun_command、run_scriptShell コマンド実行
codeexecute_codeサンドボックス内でのコード実行(Python/JS/Bash)
computerscreenshot、click、typeデスクトップ GUI 自動化

ネットワークとコンテンツ

ツールセットコアツール主な用途
webweb_search、web_extractウェブ検索とコンテンツ抽出
browsernavigate、click、fill_form完全なブラウザ自動化
visionanalyze_image、describe_image画像分析と説明
audiotranscribe、tts音声からテキストへ、テキストから音声へ

エージェント機能

ツールセットコアツール主な用途
memorymemory、session_searchメモリ管理とクロスセッション検索
skillsskills_list、skill_view、skill_manageスキル管理
delegationspawn_agent、spawn_parallelサブエージェント委任と並列処理
kanbantask_create、task_updateマルチエージェントボード(明示的に有効化が必要)

メディア作成

以下のツールセットには Nous Portal または対応する API キーが必要です:

ツールセット機能説明
image_genテキストから画像生成FLUX、GPT-Image など9種類のモデルをサポート
ttsテキストから音声へ10のTTSプロバイダー(ローカルPiperを含む)

カスタムツールセット

設定ファイルで既存のツールセットを組み合わせて、プロジェクト専用のツールセットを作成できます:

例

# ファイルパス:~/.hermes/config.yaml
# カスタムツールセット:既存のツールセットを組み合わせてプロジェクト専用設定にする
custom_toolsets
:
  data-science
:
   - file
    - terminal
    - code
    - web

その後、起動時に指定します:

例

# 起動時にカスタムツールセットを使用
hermes --toolsets data-science

6種類のターミナル実行バックエンド

ターミナルツールセットは6種類の実行バックエンドをサポートしており、エージェントの Shell コマンドがどこで実行されるかを決定しますそれぞれ異なる分離レベルと「爆発半径」に対応します。

バックエンドコマンド実行場所分離レベル典型的なシナリオ
local(デフォルト)ローカルマシン、現在のユーザー権限无個人開発、日常利用
dockerDocker コンテナ内完全分離本番デプロイ、安全なサンドボックス
sshリモートサーバーネットワーク境界の分離リモート開発、高性能マシン
modalModal クラウドサンドボックス(VM)完全(クラウド)一時的な計算、評価タスク
daytonaDaytona マネージドワークスペース完全(クラウドコンテナ)マネージドクラウド開発環境
singularitySingularity コンテナ名前空間による分離HPCクラスター、共有マシン

バックエンドの切り替え

例

# Docker バックエンドに切り替え(本番環境推奨)
hermes config set terminal.backend docker

# SSH バックエンドに切り替え
hermes config set terminal.backend ssh
hermes config set terminal.ssh_host user@your-server.com

Docker バックエンドの完全な設定例:

例

# ファイルパス:~/.hermes/config.yaml
# Docker バックエンド設定
terminal
:
  backend
: docker
  docker_image
: "nikolaik/python-nodejs:python3.11-nodejs20"
  container_persistent
: true    # true = バインドマウント、false = tmpfs 一時

セキュリティ原則:local バックエンドはエージェントにあなたと同じファイルシステム権限を与えます——個人マシンには適していますが、本番サービスには適していません。docker バックエンドは最も簡単で効果的な分離方法です。

危険なコマンドの承認

デフォルトでは、Hermes は破壊的な可能性のあるコマンドを実行する前に確認を求めます:

例

# ファイルパス:~/.hermes/config.yaml
# 承認モード設定
approvals
:
  mode
: manual        # manual(デフォルト)| smart | off
  timeout
: 60         # 承認を待つ秒数
  cron_mode
: deny     # スケジュールタスクが危険なコマンドに遭遇したときの動作:deny | approve

セッション中に一時的に承認をバイパスする(注意して使用):

例

# YOLO モードを有効にし、このセッションのすべてのコマンドを自動承認
/yolo

# もう一度入力すると無効
/yolo

MCP:外部ツールエコシステムへの接続

MCP(Model Context Protocol)により、Hermes はコアコードを変更することなく外部ツールサーバー(GitHub、データベース、ファイルシステム、ブラウザスタック、内部 API など)に接続できます。

標準インストールには MCP サポートが含まれています追加の手順は不要です。

2種類のMCPサーバータイプ

ローカル stdio サーバー:子プロセスとしてローカルで実行され、標準入出力で通信します:

例

# ファイルパス:~/.hermes/config.yaml
# 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 エンドポイントに直接接続します:

例

# ファイルパス:~/.hermes/config.yaml
# 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つのステップが自動的に実行されます:

  1. APIキーの設定を促すか、OAuthログインを案内します
  2. サーバーが公開しているツール一覧を検出します
  3. ツール選択リストを表示し、有効にするツールを決定できます

ツールフィルタリング:必要なものだけを公開する

各MCPサーバーは詳細なツールフィルタリングをサポートし、Agentが利用可能な攻撃面を減らします:

例

# ファイルパス:~/.hermes/config.yaml
# 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: falseMCPリソースアクセスツールを公開しない
prompts: falseMCPプロンプトツールを公開しない

フィルタリングルールでは、Hermes登録後のアンダースコア版ではなく、MCPの元のツール名(ハイフン/ドット含む)を使用します。

各MCPサーバーは独立したツールセットを生成する

github MCPサーバーを設定すると、Hermesは実行時に自動的にmcp-githubツールセットを作成します。

内蔵ツールセットと同じように操作・管理できます:

例

# ファイルパス:~/.hermes/config.yaml
# プラットフォーム設定でMCPツールセットを参照
platform_toolsets
:
  cli
:
   - hermes-cli
    - mcp-github
    - mcp-linear

MCP設定の再読み込み

config.yamlを変更した後、Agent全体を再起動する必要はありません:

例

# セッション内でMCPサーバーを再読み込み(30秒タイムアウト)
/reload-mcp

# またはコマンドラインから
hermes mcp reload

OAuthで認証を完了する必要がある場合、30秒のタイムアウトでは不十分です。まずサーバー設定を追加し、新しいターミナルで `hermes mcp login <server>` を実行して認証を完了することをお勧めします(最大5分間待機)。


エディタ統合(ACP)

ACP(Agent Communication Protocol)により、Hermesはエディタ内でネイティブに動作します。チャット、ツールアクティビティ、ファイル差分、ターミナルコマンドがすべてエディタに直接表示されます。

対応エディタ:VS Code、Zed、JetBrains全シリーズ。

標準インストールにはACPサポートが含まれています:

例

# エディタが接続するためのAgentモードを起動
hermes acp

インストール時に完全な依存関係が含まれていない場合:

例

# 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]"

例

# CLIで音声モードを有効化
/voice on
# Ctrl+Bを押して録音開始、離して送信

# メッセージプラットフォームでは
/voice on     # TTS応答を有効化
/voice tts    # テキスト読み上げのみ有効化(音声入力は無効)
/voice off    # 無効化

TTSプロバイダー

プロバイダー特徴無料か
Edge TTSMicrosoftニューラル音声、多言語無料
Piper完全ローカル、低遅延無料
OpenAI TTS高品質、多音色従量課金
ElevenLabs最高音質、音声クローン従量課金
MiniMax中国語に最適化従量課金
Mistral Voxtral多言語従量課金

ツールゲートウェイ(Nous Portal サブスクリプション)

Nous Portalのサブスクリプションを通じて、4種類のツールのクラウド実装をワンクリックで利用でき、個別にAPIキーを申請する必要はありません:

ツール説明
ウェブ検索検索+コンテンツ抽出(webツールセット)
画像生成9種類のモデル:FLUX、GPT-Image、Ideogram など
TTSテキスト読み上げ
クラウドブラウザ完全なブラウザ自動化(ローカルPlaywright不要)

例

# OAuthログインで上記すべてのツールを自動設定
hermes setup --portal

ツールセキュリティ:MCP環境変数の分離

MCP stdioサブプロセスは、フィルタリングされた環境を受け取り、予期しない認証情報の漏えいを防ぎます。

デフォルトでは、以下の変数のみがMCPプロセスに渡されます:

PATH, HOME, USER, LANG, LC_ALL, TERM, SHELL, TMPDIR(以及所有 XDG_* 变量)

その他のすべての環境変数(APIキー、トークン、パスワード)はブロックされます。

MCPサーバー設定の `env:` ブロックで明示的に宣言された変数のみが渡されます:

例

# ファイルパス:~/.hermes/config.yaml
# 明示的に宣言された変数のみが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
その他の拡張機能