mcpField
D
deepsearch

deepsearch

ローカル
github.com/CloudCorpRecords検索02 週間前に更新

deepsearch について

deepsearchは、Agentやコマンドライン利用者向けのExa用コマンドラインツール兼MCPサーバーです。意味に基づくウェブ検索、コードコンテキストの取得、単一ページのクロールを行い、トークン予算を指定できます。

主な機能

  1. 01意味に基づくウェブ検索
  2. 02コード例とドキュメントの取得
  3. 03指定ページのクロール
  4. 04結果数とトークン上限の指定

活用シーン

  1. 01調査テーマに関連するウェブページの検索
  2. 02プログラミングの質問に使うコード例の収集
  3. 03既知のURLからページ本文を取得

MCP 対応

stdio MCPサーバーは、ウェブ検索、コードコンテキスト取得、ページクロールのツールをMCPクライアントに公開します。利用にはExa APIキーが必要です。

設定

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

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

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

パッケージ
npm@reneturcios/deepsearch0.1.0
ocighcr.io/cloudcorprecords/deepsearch:0.1.0

ツール

3

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

パラメーター型必須説明
querystringはいExa で実行するウェブ検索クエリ。
numResultsnumberいいえ任意:返す検索結果の件数。デフォルトは 8。

詳細

deepsearch

deepsearch は、研究者のように Exa のニューラルインデックスに質問します。通常の検索では、クエリの意味に最もよく一致するページが、テキストを取得済みの状態で返されます。コードに関する質問には、代わりにコンテキストパックが返されます。これは、ウェブ全体から集めたサンプルとドキュメントの抜粋を、指定したトークン予算に合わせたものです。目的のページがすでにわかっている場合は、クロールによってそのページを取得し、テキストを返します。コマンドラインから実行することも、エージェント向けの MCP サーバーとして実行することもできます。

Exa API キーが必要です。EXA_API_KEY 環境変数に設定してください。キーは x-api-key ヘッダーで API に送信され、出力には表示されません。この変数が設定されていない場合、すべての操作は変数名を示すエラーで失敗します。

インストール

npx @reneturcios/deepsearch search "vector index tradeoffs"

または、コンテナイメージを実行します。

docker run -i -e EXA_API_KEY ghcr.io/cloudcorprecords/deepsearch

コンテナはデフォルトで MCP サーバーとして起動します(下記を参照)。CLI として使用するには、CLI 引数を渡してください。

CLI

export EXA_API_KEY="your api key"

# Web search; --num-results defaults to 8
deepsearch search "ferry electrification programs"
deepsearch search "ferry electrification programs" --num-results 5

# Code context; --tokens sets the budget (1000-50000, default 5000)
deepsearch code "React useState hook examples" --tokens 3000

# Fetch one page in full
deepsearch crawl https://example.com/some/article
deepsearch crawl https://example.com/some/article --tokens 2000

# Machine-readable output for any command
deepsearch search "ferry electrification programs" --json

deepsearch --version

終了コード:成功時は 0、操作の失敗時(EXA_API_KEY が未設定の場合や API エラーを含む)は 1、使用方法のエラー時は 2 です。

MCP サーバー

1 つのバイナリで両方の用途に対応します。mcp サブコマンドは stdio MCP サーバーを起動します。

npx -y @reneturcios/deepsearch mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "deepsearch": {
      "command": "npx",
      "args": ["-y", "@reneturcios/deepsearch", "mcp"],
      "env": { "EXA_API_KEY": "your api key" }
    }
  }
}
ツール

これらは、元のサーバーでデフォルトで有効になっているツールです。

ツール入力返される内容
web_search_exaquery(文字列、必須)、numResults(数値、省略可、デフォルトは 8)一致するページを番号付きのテキストブロックとして返します。タイトル、URL、判明している場合は公開情報、および API が取得したページのテキストが含まれます。
get_code_context_exaquery(文字列、必須)、tokensNum(数値、省略可、1000~50000、デフォルトは 5000)質問に関連するコードサンプルとドキュメントの抜粋を、出典ごとに見出しを付け、トークン予算に合わせて調整して返します。
crawling_exaurl(文字列、必須)、tokensNum(数値、省略可、デフォルトは 5000)指定したページ 1 件の全文を、タイトル付きでトークン予算に合わせて調整して返します。

トークン予算は、ドキュメントに記載された 1000~50000 の範囲に収まるよう調整され、およそ 1 トークンあたり 4 文字として適用されます。結果が空の場合はその旨が報告されます。API が取得できないページ、キーの未設定、API 呼び出しの失敗は、ツールエラーとして報告されます。

開発

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev     # run the CLI from source via tsx

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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