mcpField
H
Heimdall

Heimdall

ローカル
github.com/shinzo-labsセキュリティ1982 週間前に更新

Heimdall について

Heimdall は、ローカルの MCP サーバーを管理する軽量なサービスで、単一の npx コマンドでインストールできます。サーバーごとにツール単位で認可を設定でき、同じデバイス上のすべての MCP クライアントで設定を共有します。

主な機能

  1. 01単一の npx コマンドによるインストール
  2. 02サーバー単位およびツール単位の認可設定
  3. 03複数の MCP クライアント間での設定共有
  4. 04クライアントインスタンスと子サーバーのログ

活用シーン

  1. 01エージェントがアクセスできる MCP ツールの制限
  2. 02同一デバイス上の複数の MCP クライアントにわたる MCP サーバー設定の管理

MCP 対応

Heimdall は MCP クライアントとローカルの各 MCP サーバーの間に位置し、controls.json の認可設定に基づいて、クライアントに公開するツールを絞り込みます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"heimdall": {
"command": "npx",
"args": [
"-y",
"@shinzolabs/heimdall"
]
}
}
}
起動コマンドnpx -y @shinzolabs/heimdall

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@shinzolabs/heimdall

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Heimdall

npm version smithery badge

Heimdall は、ローカルの MCP Servers を管理する軽量サービスで、単一の npx コマンドでインストールできます。特定の MCP サーバーのツールを MCP クライアントに対して認可でき、デバイス上のすべての MCP クライアントから同じ設定にアクセスできます。

インストール

⚠️ 注意: 認証情報が予期せず失われるのを防ぐため、インストール前に MCP サーバーの設定をバックアップすることを強くおすすめします。

セットアップスクリプトでは、次の主な処理を行います。

  • 指定したパスにある mcpServers 設定 JSON を ~/.heimdall/config.json に移動します
  • 以前の mcpServers 設定パスの代わりに、heimdall の設定を 1 つ挿入します
  • ~/.heimdall/controls.json を初期化し、現在のすべてのサーバーのすべてのメソッドを認可します

特定のサーバーで認可するツールを制限するために ~/.heimdall/controls.json を変更する手順や、~/.heimdall/config.json に新しいサーバーを追加する手順については、設定をご覧ください。

NPX を使用する(推奨)
  1. セットアップスクリプトを実行します(パスを指定しない場合、空の設定を生成します)。
npx @shinzolabs/heimdall setup <optional: path/to/current/config.json>
ローカルインスタンスを使用する
  1. パッケージをダウンロードします。
git clone https://github.com/shinzo-labs/heimdall.git
  1. 依存関係をインストールしてビルドします。
cd heimdall && pnpm i && pnpm build
  1. セットアップスクリプトを実行します(パスを指定しない場合、空の設定を生成します)。
pnpm run setup <optional: path/to/current/config.json> <optional: path to `index.js` file in local Heimdall instance, ex. `/path/to/local/heimdall/dist/index.js`>

設定

サーバーリストを編集する

利用可能なサーバーを追加または更新するには、通常の mcpServers 設定 JSON と同じ形式で ~/.heimdall/config.json を更新します。~/.heimdall/controls.json にサーバーと認可するツールも追加しない限り、Heimdall を通じて新しいサーバーのツールは表示されません。

認可するツールを編集する

新規または既存のサーバーに認可するツールを追加するには、必要に応じて ~/.heimdall/controls.json に追加してください。数秒後に Heimdall の内部設定が更新されます。MCP クライアントがツールリストの動的なキャッシュに対応している場合、認可されたツールは自動的に更新されます。その他のクライアント(例:Claude Desktop)では、新しいツールを表示するために再起動が必要な場合があります。

~/.heimdall/controls.json のスキーマは次のとおりです。

{
  "authorizedMcpServers": {
    "server1": {
      "authorizedTools": [
        "tool1",
        "tool2",
        ...
      ]
    },
    "server2": {
      "authorizedTools": [
        "tool1",
        "tool2",
        ...
      ]
    }
複数の MCP クライアント

デバイス上で複数の MCP クライアントを実行している場合、Heimdall がすでにデバイスにセットアップされていることを前提として、新しいクライアントごとに次の config.json を設定すると、すべてのクライアントで同じ認可済みツールを利用できます。

{
  "mcpServers": {
    "heimdall": {
      "command": "npx",
      "args": [
        "@shinzolabs/heimdall"
      ]
    }
  }
}

トラブルシューティング

利用可能なツール

一部の MCP クライアントには、一度にエージェントが利用できるツール数に上限があります。たとえば Cursor では、すべてのサーバーを合わせて最大 40 個のツールしかサポートされないため、controls.json の authorizedTools の合計はこの数を超えないようにしてください。

ログ

実行中のインスタンスのログは ~/.heimdall/logs にあります。各 MCP クライアントの Heimdall インスタンスと子サーバーのログは、ランダムな UUID で識別される別々のディレクトリに保存されます。

孤立した子プロセス

MCP クライアントが予期せず終了した場合や、終了前に Heimdall に正しい SIGTERM シグナルを送信できなかった場合、デバイス上に孤立した node(および npm)プロセスが残ることがあります。現時点では、これらを手動で強制終了する必要があります。デバイス上でほかに機密性の高い node プロセスが実行されていない場合は、後処理として次のコマンドを使用できます。

pkill -aif node

貢献

貢献を歓迎し、奨励しています。ご質問、ご意見、ご懸念などがありましたら、[email protected] までご連絡ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。