mcpField
E
exa-search

exa-search

github.com/mxyhi生産性508129 回インストール2 日前に更新
リポジトリ

exa-search について

exa-searchは、Exa MCPでウェブ検索やページ取得、コード・ドキュメント・企業・人物の調査を行うスキルです。現在のツール選択とパラメーターを案内し、MCP HTTPを直接呼び出します。

主な機能

  1. 01ウェブ検索と条件付き検索
  2. 02既知のURLからページ取得
  3. 03コードとドキュメントの検索
  4. 04企業・人物の調査
  5. 05MCPツールのパラメーター案内

活用シーン

  1. 01最新のウェブ情報を検索
  2. 02指定ページの内容を取得
  3. 03企業や人物を調査
  4. 04Exa MCPツールのスキーマ確認

MCP 対応

ホスト型Exa MCPエンドポイントをHTTPで呼び出し、セッションの初期化、ツールの検出と呼び出しを説明します。ウェブ検索とページ取得のツールを扱います。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mxyhi/ok-skills --skill exa-search

インストール後、Claude Code で/exa-searchを入力して読み込まれたか確認します。

同梱ファイルreferences/exa-tools.md

詳細

Exa MCP 検索

オンライン検索、ページ取得、コードやドキュメントの検索、企業調査、人の調査、または Exa MCP のパラメーター確認が必要な場合に、このスキルを使用します。

現在の信頼できる情報源

  • ホスト型 MCP エンドポイント:https://mcp.exa.ai/mcp
  • 公式ソース:exa-labs/exa-mcp-server@15ffb50519e719dc791cdc750ce5ed1934c0a1ed
  • 確認済みの最新 npm パッケージ:[email protected]。検証済みの tarball SHA-256 は 62379fab5750cbc8334f096ff986ab1b7152488afffab5b0e275995310b6e978 です。
  • ツールのスキーマは変更されることがあります。新しいパラメーターを追加する前に、通常の HTTP クライアントを使用して tools/list で確認してください。

このスキルでは、直接 MCP HTTP を呼び出す方式が必須です。curl でも構いませんが、低レベルのフラグを呼び出しごとに繰り返すのではなく、セッション管理と SSE の解析は小さなシェルヘルパーにまとめてください。

ツールの選択

用途推奨備考
一般的な最新のウェブ検索web_search_exaシンプルな検索です。query と numResults のみを使用します。
フィルター、日付、ドメイン、カテゴリ、要約、ハイライト、サブページを使った検索web_search_advanced_exatools= で明示的に有効にします。企業、人、論文、ニュースのフィルターに使用します。
既知の URL の全文を読むweb_fetch_exaハイライトだけでは不十分な場合に、検索後に使用します。
コード例やドキュメントweb_search_exaget_code_context_exa も引き続き利用できますが、非推奨です。
企業調査web_search_advanced_exa と category:"company"company_research_exa も引き続き利用できますが、非推奨です。
人物やプロフィールweb_search_advanced_exa と category:"people"people_search_exa も引き続き利用できますが、非推奨です。

主なパラメーター

web_search_exa
  • query 必須:意味を十分に含む自然言語のクエリです。category:company または category:people を含めることができます。
  • numResults 任意:デフォルトは 10 です。
  • 現在のホスト型スキーマでは、type、livecrawl、contextMaxCharacters、tokensNum は使用できません。
{"query":"latest AI safety research June 2026","numResults":10}
web_search_advanced_exa
  • query 必須。
  • よく使われる任意のフィルター:numResults、type(auto | fast | instant)、category、includeDomains、excludeDomains、startPublishedDate、endPublishedDate、startCrawlDate、endCrawlDate、includeText、excludeText、userLocation、moderation、additionalQueries。
  • コンテンツ制御:textMaxCharacters、contextMaxCharacters、enableSummary、summaryQuery、enableHighlights、highlightsMaxCharacters、highlightsQuery、maxAgeHours、livecrawlTimeout、subpages、subpageTarget。
  • 非推奨のハイライト制御:highlightsNumSentences、highlightsPerUrl。highlightsMaxCharacters の使用を推奨します。
  • カテゴリには company、publication、news、pdf、github、personal site、people、financial report があります。
{
  "query":"Anthropic funding valuation 2026",
  "category":"news",
  "includeDomains":["techcrunch.com","bloomberg.com"],
  "startPublishedDate":"2026-01-01",
  "numResults":10,
  "type":"auto",
  "enableHighlights":true
}
web_fetch_exa
  • urls 必須:URL の配列です。1 回の呼び出しで複数の URL をまとめて取得できます。
  • maxCharacters 任意:デフォルトは 3000 です。
{"urls":["https://docs.exa.ai/reference"],"maxCharacters":5000}
非推奨ですが引き続き利用可能
  • get_code_context_exa:代わりに web_search_exa を使用します。現在のスキーマは query、numResults です。以前の tokensNum は廃止されています。
  • company_research_exa:代わりに category:"company" を指定した web_search_advanced_exa を使用します。スキーマは companyName、numResults で、デフォルトは 3 です。
  • people_search_exa:代わりに category:"people" を指定した web_search_advanced_exa を使用します。
  • crawling_exa:代わりに web_fetch_exa を使用します。
  • deep_search_exa:代わりに web_search_advanced_exa を使用します。このツールをリクエストする場合、現在のホスト型 MCP では OAuth または API キーが必要です。
  • deep_researcher_start / deep_researcher_check:非推奨です。必要に応じて Exa Research API を直接使用してください。

Curl のパターン

  1. initialize を POST し、返された Mcp-Session-Id レスポンスヘッダーを保持します。
  2. そのヘッダーを付けて notifications/initialized を POST します。
  3. そのヘッダーを付けて tools/list または tools/call を POST します。
  4. レスポンスが text/event-stream の場合は、data: 行から JSON を解析します。
最小限の Curl ヘルパー
EXA_URL="https://mcp.exa.ai/mcp?tools=web_search_exa,web_search_advanced_exa,web_fetch_exa"
EXA_SESSION_ID=""

exa_rpc() {
  local payload="$1"
  local session_header=()
  local response

  if [ -n "$EXA_SESSION_ID" ]; then
    session_header=(-H "Mcp-Session-Id: $EXA_SESSION_ID")
  fi

  response="$(curl -isS "$EXA_URL" \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json, text/event-stream' \
    "${session_header[@]}" \
    --data "$payload")"

  if [ -z "$EXA_SESSION_ID" ]; then
    EXA_SESSION_ID="$(printf '%s\n' "$response" | awk 'tolower($0) ~ /^mcp-session-id:/ { sub(/^[^:]+:[[:space:]]*/, ""); gsub(/\r/, ""); print; exit }')"
  fi

  printf '%s\n' "$response" | sed -n 's/^data: //p'
}

exa_init() {
  exa_rpc '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"exa-curl","version":"0.1.0"}}}' >/dev/null
  exa_rpc '{"jsonrpc":"2.0","method":"notifications/initialized"}' >/dev/null
}

exa_call() {
  local tool_name="$1"
  local arguments_json="$2"
  jq -nc --arg name "$tool_name" --argjson arguments "$arguments_json" \
    '{jsonrpc:"2.0",id:2,method:"tools/call",params:{name:$name,arguments:$arguments}}' |
    while IFS= read -r payload; do exa_rpc "$payload"; done
}

exa_init
exa_call web_search_exa '{"query":"latest AI safety research","numResults":5}'

ツールによって出力形式が異なります。web_search_exa は整形済みテキストを返し、web_search_advanced_exa は JSON テキストを返し、web_fetch_exa は取得したページのテキストを返します。

調査の進め方

  • 簡単な検索では、対象を絞った web_search_exa の呼び出しを1回実行します。
  • 日付が関係する質問や最新情報に関する質問では、まず正確な日付範囲を計算し、web_search_advanced_exa に startPublishedDate / endPublishedDate を渡します。
  • 多くのソースを扱うタスクでは、最適なURLのみを web_fetch_exa で取得します。生の検索結果を最終回答にそのまま貼り付けないでください。
  • 企業・人物・論文・ニュースを調べるワークフローでは、非推奨の専用ツールではなく、web_search_advanced_exa のカテゴリを優先します。
  • Exa の検索結果が少ない、矛盾している、または古い場合は、ソースの不確実性に言及します。

参照資料

  • ツールのフィールド:references/exa-tools.md

コメント