mcpField
E
exa-search

exa-search

github.com/tdimino生産性4149 回インストール1 週間前に更新
リポジトリ

exa-search について

Exa AI 検索 API を利用する人向けの検索スキルです。ウェブ検索、コンテンツ抽出、類似ページ検索、調査用スクリプトを備え、絞り込みや構造化結果を活用できます。

主な機能

  1. 01ニューラルウェブ検索
  2. 02URL のコンテンツ抽出と要約
  3. 03類似ページの検索
  4. 04引用付き AI リサーチ
  5. 05非同期の Pro リサーチと構造化出力

活用シーン

  1. 01ドメインや日付でウェブ検索結果を絞り込む
  2. 02選択したページの内容を長さ指定で抽出する
  3. 03研究論文と関連ページを探す
  4. 04引用付き調査や RAG 用コンテキストを作成する

インストール

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

$npx skills add https://github.com/tdimino/claude-code-minoan --skill exa-search

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

codex-agent-guide.md
README.md
references/
exa-scripts-reference.md
scripts/
exa_contents.py
exa_research_async.py
exa_research.py
exa_search.py
exa_similar.py
test_exa.py

詳細

Exa Search スキル

Exa AI 検索 API 用の 5 つの特化スクリプトです。ニューラル検索、コンテンツ抽出、類似ページの検索、引用付きの調査、非同期のプロ向け調査を行います。

前提条件: EXA_API_KEY 環境変数が必要です。キーは https://dashboard.exa.ai で取得できます。

トークン効率の高い検索

Anthropic の動的フィルタリングに着想を得ています。推論の前に必ずフィルタリングします。トークンを約 24% 節約し、精度を約 11% 向上させます。

原則:安価に検索 → フィルタリング → 必要なものだけ抽出 → 推論

推奨:

# Step 1: Search with --no-text (titles/URLs only — cheapest)
python3 ~/.claude/skills/exa-search/scripts/exa_search.py "query" -n 20 --no-text

# Step 2: Evaluate titles, pick best 3-5 URLs

# Step 3: Extract only those URLs with bounded content
python3 ~/.claude/skills/exa-search/scripts/exa_contents.py URL1 URL2 --highlights --max-chars 3000

非推奨: 50 件の結果を全文検索してから、そのすべてについて推論すること。

まず API レベルのフィルターを使用する(無料のフィルタリング)

結果を確認する前に、API レベルで結果を絞り込みます。

  • --must-include "term" — 結果にこの文字列が含まれている必要があります
  • --must-exclude "term" — 無関係な結果を除外します
  • --domains site1.com site2.com — 信頼できる情報源に限定します
  • --category "research paper" — 無関係なコンテンツタイプを除外します
  • --after 2025-01-01 / --before — 時間で絞り込みます
全文ではなく要約を使用する

生のコンテンツではなく要点が必要な場合:

# AI-distilled summaries — much smaller than full text
python3 ~/.claude/skills/exa-search/scripts/exa_search.py "query" --summary "Key findings" -n 5
RAG ではコンテキストを制限する
# Capped context string — prevents unbounded token usage
python3 ~/.claude/skills/exa-search/scripts/exa_search.py "query" --context --context-chars 5000
filter_web_results.py で後処理する

Exa の JSON 出力を Firecrawl のフィルタースクリプトに渡して、さらに絞り込みます。

python3 ~/.claude/skills/exa-search/scripts/exa_search.py "query" --json | \
  python3 ~/.claude/skills/firecrawl/scripts/filter_web_results.py \
  --fields "title,url,text" --max-chars 3000
コスト階層 — タスクに合わせて選択
種類レイテンシ1,000 件あたりのコスト用途
--instant<150ms最安リアルタイム検索、オートコンプリート
--fast~500ms低簡単な確認、検証
auto (default)--中一般的な検索
--deep4-12s$12包括的な調査
--deep-reasoning12-50s$15最大限の深さと統合
構造化されたディープ検索(Exa Deep)

ディープ検索とディープ推論検索では、outputSchema による構造化 JSON 出力をサポートしています。API は、フィールドごとの根拠となる引用と信頼度スコアを含む解析済みコンテンツを output.content に返します。

簡単な例用途
... --deep --text-output "Short answer"簡潔なテキスト回答
... --deep-reasoning --schema-preset company企業に関する構造化調査
... --deep --output-schema '{"type":"object","properties":{"answer":{"type":"string"}}}'カスタムスキーマ
... --deep --schema-file ~/schemas/analysis.jsonファイルからスキーマを読み込み

プリセット:company、paper-survey、competitor-analysis、person、news-digest

出力にはフィールドレベルの根拠が含まれます。各フィールドに引用と、[H]高/[M]中/[L]低の信頼度が付与されます。


利用可能なスクリプト

1. exa_search.py — ニューラルウェブ検索
python3 ~/.claude/skills/exa-search/scripts/exa_search.py "query" [options]
簡単な例用途
... exa_search.py "AI frameworks"基本検索
... exa_search.py "transformers" --category "research paper" -n 20学術論文
... exa_search.py "query" --deep --additional-queries "alt query"ディープ検索
... exa_search.py "query" --domains docs.python.orgドメインで絞り込み
... exa_search.py "query" --after 2025-01-01 --category news最新ニュース
... exa_search.py "query" --context --context-chars 10000RAG コンテキスト
... exa_search.py "query" --instant -n 5150ms 未満の検索
... exa_search.py "Top AI startups" --deep-reasoning --schema-preset company企業に関する構造化調査
... exa_search.py "Who is CEO of Stripe?" --deep --text-output "Short answer"簡単な事実確認

カテゴリ: company、research paper、news、pdf、github、personal site、people、financial report

2. exa_contents.py — URL コンテンツ抽出
python3 ~/.claude/skills/exa-search/scripts/exa_contents.py URL [URL2...] [options]
簡単な例用途
... exa_contents.py "https://arxiv.org/abs/2307.06435"論文を抽出
... exa_contents.py URL --summary "Key methods" --highlights要約付きで抽出
... exa_contents.py URL --livecrawl always最新のコンテンツ
... exa_contents.py URL --max-chars 5000長さを制限して抽出
3. exa_similar.py — 類似ページを検索
python3 ~/.claude/skills/exa-search/scripts/exa_similar.py URL [options]
すぐに使える例目的
... exa_similar.py "https://stripe.com" --category company --exclude-source競合他社を検索
... exa_similar.py "https://arxiv.org/abs/..." -n 15関連論文
... exa_similar.py URL --summary "How different?"比較の概要
4. exa_research.py — AI を活用した調査
python3 ~/.claude/skills/exa-search/scripts/exa_research.py "question" [options]
すぐに使える例目的
... exa_research.py "React vs Vue differences?" --sources引用付きの調査
... exa_research.py "query" --streamリアルタイムストリーミング
... exa_research.py "query" --domains docs.python.org信頼性の高い情報源
... exa_research.py "query" --markdown引用付きの Markdown
... exa_research.py "query" --answer-onlyパイプに適した出力
5. exa_research_async.py — 非同期の Pro 調査
python3 ~/.claude/skills/exa-search/scripts/exa_research_async.py "question" [options]
すぐに使える例目的
... exa_research_async.py "Compare AI frameworks" --pro --waitPro モデル
... exa_research_async.py "Quick overview" --fast高速モデル
... exa_research_async.py "query" --schema '{...}'構造化出力
... exa_research_async.py status r_abc123ジョブの確認
... exa_research_async.py listジョブの一覧表示

スクリプトの選択ガイド

タスク最適なスクリプト
フィルター付きのウェブ検索exa_search.py
研究論文exa_search.py --category "research paper"
企業・スタートアップの情報exa_search.py --category company
GitHub リポジトリ・コードexa_search.py --category github
URL がわかっているコンテンツの抽出exa_contents.py
競合他社の検索exa_similar.py --exclude-source
引用付きの簡単な回答exa_research.py --sources
複雑な構造化調査exa_research_async.py --pro
リアルタイム検索exa_search.py --instant
RAG コンテキストの構築exa_search.py --context
根拠に基づく構造化調査exa_search.py --deep-reasoning --schema-preset company
事実に関する簡潔な回答exa_search.py --deep --text-output "Short answer"

Exa と Firecrawl と Claude ネイティブツールの比較

ニーズ最適なツール理由
セマンティック検索・ニューラル検索Exa exa_search.pyAI による関連性判定
研究論文の検索Exa --category "research paper"学術インデックス
簡単な調査回答Exa exa_research.py引用+統合
類似ページの検索Exa exa_similar.pyセマンティック類似性
単一ページ → MarkdownFirecrawl scrape --only-main-content最もクリーンな出力
サイト全体のクロールFirecrawl crawl --wait --progressリンクをたどる
自律的なデータ検索Firecrawl agentURL 不要
検索+スクレイピングを一括実行Firecrawl search --scrape1 回の操作
Claude API エージェントの構築ネイティブ web_search_20260209組み込みの動的フィルタリング
Twitter/X のコンテンツjina URL動作する唯一のツール

よくあるワークフロー

トピックの調査
python3 ~/.claude/skills/exa-search/scripts/exa_research.py "How does RAG work?" --sources --markdown
文献レビュー
# Find papers, then find similar to best hit
python3 ~/.claude/skills/exa-search/scripts/exa_search.py "transformer optimization" --category "research paper" -n 20 --summary "Key contributions"
python3 ~/.claude/skills/exa-search/scripts/exa_similar.py "https://arxiv.org/abs/1706.03762" --category "research paper" -n 15
ドキュメントの調査
python3 ~/.claude/skills/exa-search/scripts/exa_search.py "React useEffect cleanup" --domains react.dev developer.mozilla.org --context
RAG コンテキストの構築
python3 ~/.claude/skills/exa-search/scripts/exa_search.py "Python async patterns" --context --context-chars 15000 --domains docs.python.org

リファレンスドキュメント

ファイル内容
references/exa-scripts-reference.md5 つすべてのスクリプトの全パラメーター、コスト表、MCP の比較、テストスイート

テストスイート

python3 ~/.claude/skills/exa-search/scripts/test_exa.py --quick       # Quick validation
python3 ~/.claude/skills/exa-search/scripts/test_exa.py               # Full suite
python3 ~/.claude/skills/exa-search/scripts/test_exa.py --endpoint search  # Specific endpoint

コメント