Use Exa MCP for current web, code/docs, company, people, and page-fetch research. Prefer current hosted tool schemas and note deprecated tools.
npx skills add https://github.com/mxyhi/ok-skills --skill exa-search
Use this skill when online search, page fetch, code/docs lookup, company research, people research, or Exa MCP parameter checks are needed.
https://mcp.exa.ai/mcpexa-labs/exa-mcp-server@0de23f94b7e8539192bdc2008c16592156ada870[email protected]; verified tarball SHA-256 675688dffcd746b8bb6ac7f077b64b7382c4a305f948d44ba526e67be50396dftools/list through a normal HTTP client.Direct MCP HTTP is the required invocation model for this skill. curl is fine, but keep the session and SSE parsing in small shell helpers instead of repeating low-level flags at every call site.
| Need | Prefer | Notes |
| --- | --- | --- |
| General current web search | web_search_exa | Simple search. Only query and numResults. |
| Filtered search, dates, domains, categories, summaries, highlights, subpages | web_search_advanced_exa | Enable explicitly in tools=. Use this for company/people/papers/news filters. |
| Read known URLs fully | web_fetch_exa | Use after search when highlights are insufficient. |
| Code examples/docs | web_search_exa | get_code_context_exa still exists but is deprecated. |
| Company research | web_search_advanced_exa with category:"company" | company_research_exa still exists but is deprecated. |
| People/profiles | web_search_advanced_exa with category:"people" | people_search_exa still exists but is deprecated. |
web_search_exaquery required: semantically rich natural-language query. Can include category:company or category:people.numResults optional: default 10.type, livecrawl, contextMaxCharacters, or tokensNum on current hosted schema.{"query":"latest AI safety research June 2026","numResults":10}
web_search_advanced_exaquery required.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; prefer 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_exaurls required: array of URLs. Batch multiple URLs in one call.maxCharacters optional: default 3000.{"urls":["https://docs.exa.ai/reference"],"maxCharacters":5000}
get_code_context_exa: use web_search_exa instead. Current schema is query, numResults; old tokensNum is obsolete.company_research_exa: use web_search_advanced_exa with category:"company" instead. Schema is companyName, numResults; default 3.people_search_exa: use web_search_advanced_exa with category:"people" instead.crawling_exa: use web_fetch_exa instead.deep_search_exa: use web_search_advanced_exa instead; current hosted MCP requires OAuth or an API key when this tool is requested.deep_researcher_start / deep_researcher_check: deprecated; use Exa Research API directly when needed.initialize; keep returned Mcp-Session-Id response header.notifications/initialized with that header.tools/list or tools/call with that header.text/event-stream, parse JSON from data: lines.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}'
Tool output format differs: web_search_exa returns formatted text, web_search_advanced_exa returns JSON text, and web_fetch_exa returns fetched page text.
web_search_exa call.startPublishedDate / endPublishedDate through web_search_advanced_exa.web_fetch_exa; do not dump raw results into the final answer.web_search_advanced_exa categories rather than deprecated specialized tools.references/exa-tools.mdAssists in writing high-quality content by conducting research, adding citations, improving hooks, iterating on outlines, and providing real-time feedback on each section. Transforms your writing process from solo effort to collaborative partnership.
Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals.
Use this skill to query your Google NotebookLM notebooks directly from Claude Code for source-grounded, citation-backed answers from Gemini. Browser automation, library management, persistent auth. Drastically reduced hallucinations through document-only responses.
Efficient database search tool for bioRxiv preprint server. Use this skill when searching for life sciences preprints by keywords, authors, date ranges, or categories, retrieving paper metadata, downloading PDFs, or conducting literature reviews.
Query and analyze scholarly literature using the OpenAlex database. This skill should be used when searching for academic papers, analyzing research trends, finding works by authors or institutions, tracking citations, discovering open access publications, or conducting bibliometric analysis across 240M+ scholarly works. Use for literature searches, research output analysis, citation analysis, and academic database queries.
Access USPTO APIs for patent/trademark searches, examination history (PEDS), assignments, citations, office actions, TSDR, for IP analysis and prior art searches.
Multiagent AI system for scientific research assistance that automates research workflows from data analysis to publication. This skill should be used when generating research ideas from datasets, developing research methodologies, executing computational experiments, performing literature searches, or generating publication-ready papers in LaTeX format. Supports end-to-end research pipelines with customizable agent orchestration.
Automated LLM-driven hypothesis generation and testing on tabular datasets. Use when you want to systematically explore hypotheses about patterns in empirical data (e.g., deception detection, content analysis). Combines literature insights with data-driven hypothesis testing. For manual hypothesis formulation use hypothesis-generation; for creative ideation use scientific-brainstorming.
Take mxyhi/exa-search from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.