mcpField
V
voyager

voyager

ローカル
github.com/dir-ai開発ツール014 週間前に更新

voyager について

voyagerは、コーディングエージェント向けのウェブ検索・パッケージ検証MCPサーバーです。引用と信頼度を付けたブリーフを作成し、OSVの脆弱性ゲートや出典情報、プロンプトインジェクション対策を備えます。

主な機能

  1. 01npmとPyPIのパッケージ検証
  2. 02OSV脆弱性データによるゲート
  3. 03引用・信頼度付きブリーフの作成
  4. 04GitHub、公式ドキュメント、ウェブの検索
  5. 05インジェクション内容の除去と証拠の明示
  6. 06隔離コンテナでのインストール再現

活用シーン

  1. 01CIで脆弱な依存関係を阻止
  2. 02コーディングエージェント向けのウェブ調査
  3. 03GitHubプロジェクトの発見と公式文書の確認
  4. 04隔離環境でのパッケージ導入・読み込み検証

MCP 対応

MCPサーバーとして、パッケージ検証と情報検索に使うcheck_package、retrieve、discover_repos、fetch_docsツールを提供します。

設定

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

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

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

パッケージ
npm@dir-ai/voyager1.4.0

ツール

4

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
namestringはい
versionstringいいえ任意の固定バージョン(デフォルト:latest)。
ecosystemenumいいえnpm | pypi
projectDepsobjectいいえname → range:使用中のスタックとの peer 互換性を確認します。
proveInTwinbooleanいいえ隔離コンテナにインストールして smoke-import を行い、信念を再現済みに昇格させます(信頼できるマシンのみ)。

詳細

voyager

コーディングエージェント向けの検証済みブリーフ生成ツールです。

オープンインターネットにアクセスする AI コーディングエージェントは、生の署名されていない、悪意ある情報が混入している可能性のあるデータを取得し、そのまま自身のプロンプトに取り込みます。voyager はその手前に位置し、クエリを出典付きで信頼度をスコア化し、OSV ゲートを通過し、インジェクション対策を施したブリーフに変換します。モデルが目にするのは、このブリーフだけです。

すべての主張には、その出所と信頼度のシグナルが付随します。パッケージの推奨にはフェイルクローズの OSV 脆弱性ゲートが適用され、存在する場合はビルドの来歴情報(npm SLSA 証明書)を提示します。また、強化された、ルートレスでネットワークから隔離されたコンテナ内でのインストールとスモークインポート実行により、使い捨ての複製環境で再現できます(ホスト上では実行しません)。これによりパッケージがインストールされ、エントリポイントが読み込まれることを確認できますが、安全性の証明ではありません。取得したテキストはすべて、指示のようなペイロード(多言語、base64、Markdown/HTML のベクター)を取り除き、モデルが従うのではなく分析すべき、信頼できない証拠として位置づけられます。

  • check — このパッケージは安全に使えますか? レジストリ情報+OSV ゲート(フェイルクローズ) +来歴/ライセンス/経過期間のサプライチェーンシグナル+任意の隔離された複製環境。 終了コード:0 問題なし · 1 拒否(安全でない) · 2 ツール/使用方法のエラー(判定なし)。
  • brief / retrieve — パッケージの検証、GitHub の検索、正規ドキュメント、オープンウェブ検索を組み合わせ、 それぞれを相互に照合した、出典付きのブリーフです。
  • 設計段階からのセキュリティ — 1 つの送信先許可リスト、https のみ、ストリーミングによるサイズ上限、 インジェクションの除去+証拠の位置づけ。クエリを実行しない限り、ネットワークアクセスはゼロです。

CLI、ライブラリ、MCP サーバーです。

インストール

npm i @dir-ai/voyager
npx -y @dir-ai/voyager check express

CLI

voyager check <name> [--ecosystem npm|pypi] [--version V] [--twin]   # exit 1 if unsafe
voyager brief "<query>" [--package name] [--discover "<intent>"] [--search "<q>"] [--docs <lib>]
voyager discover "<intent>"     # GitHub repo discovery (Tier-A)
voyager search "<query>"        # open-web search (Tier-C, needs a key)
voyager docs <library>          # canonical docs (Tier-B)
voyager doctor                  # which source keys are configured

check は CI ゲートとして自然に使えます。エージェントが脆弱性のある、非推奨の、または存在しない依存関係を選んだ場合、ビルドを失敗させます。

ライブラリ

import { checkPackage, voyagerRetrieve, setKeyResolver } from '@dir-ai/voyager'

const v = await checkPackage({ name: 'express', ecosystem: 'npm' })
// → { verdict: 'belief' | 'fact' | 'rejected', claim, steps }  (adversarial trace)

const brief = await voyagerRetrieve('a safe date library', {
  packages: [{ name: 'date-fns', ecosystem: 'npm' }],
  discover: 'date library',
})
brief.rendered   // the injection-hardened, framed text to feed a model
brief.claims     // structured, cited, confidence-scored

// Bring your own key store (default is env vars):
setKeyResolver((provider) => mySecrets.get(provider))

MCP サーバー

// .mcp.json
{
  "mcpServers": {
    "voyager": { "command": "npx", "args": ["-y", "@dir-ai/voyager", "mcp"] }
  }
}

ツール:check_package、retrieve、discover_repos、fetch_docs。

Docker

docker run --rm ghcr.io/dir-ai/voyager check express
docker run -i --rm ghcr.io/dir-ai/voyager mcp   # stdio MCP

ティアと信頼性

ティアソース基本の信頼度
AGitHub · npm · PyPI · OSV(構造化された情報)高
B正規ドキュメント(公式ホストのみ)高
Cオープンウェブ検索(Tavily / Exa / Apify)低 — 信頼する前に相互照合
D隔離された複製環境(コンテナ内でインストール+スモークテスト)再現性の確認であり、安全性の証明ではありません

キーは任意です。Tier-A の中核(npm/PyPI/OSV、および認証なしの GitHub)は キー不要です。Tier-C の各プロバイダーは、キーがなければ何も実行しません。GITHUB_TOKEN、 TAVILY_API_KEY などを設定するか、リゾルバーを注入してください。

セキュリティ体制

送信先許可リスト(公開 API ホストの固定セット)は 1 つのみ、https のみ、redirect: error、ダウンロード中にサイズ超過した本文を中断するストリーミングバイト上限を設けています。また、ロールの乗っ取り/チャットテンプレートのトークン/ゼロ幅文字 および双方向制御文字を取り除き、base64 をデコードして再スキャンし、Markdown 画像と HTML コメントを無害化し、複数言語にわたる指示ペイロードを検出するインジェクション除去機能を備えています。 本当の防御となるのは、証拠として位置づけることです。除去機能は、それが簡単に回避されないようにします。 複製環境では、パッケージのコードを強化され、ネットワークから隔離された、読み取り専用で、 非 root のコンテナ内でのみ実行します。コンテナランタイムがない場合は、ホスト上での実行を拒否し、 unsupported を返します。SECURITY.md を参照してください。

キャッシュ

冪等な Tier-A の情報(npm/PyPI/OSV)は、プロセス内およびディスク上の ~/.voyager/cache にキャッシュされます(コンテンツアドレス方式、TTL 付き)。これにより、繰り返しのチェックを高速化し、 実行をまたいでキャッシュを維持し、ネットワークへの依存を軽減します。秘密情報が書き込まれることはありません (認証ヘッダーはキャッシュキーにも値にも含まれません)。VOYAGER_NO_CACHE=1 で キャッシュを無効にし、VOYAGER_CACHE_DIR で保存場所を変更できます。

ロードマップ

deps.dev を利用した複数エコシステム対応の情報(crates/Go/RubyGems/Packagist)、 タイポスクワッティングの検出、PyPI/cargo の複製環境に対応する予定です。コントリビューションを歓迎します。

ライセンス

MIT © dir-ai

コメント

MCP は初めてですか?

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

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