Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Performs real-time web searches with Exa, returning relevant sources and summaries for up-to-date research, fact checking, and content extraction.
Performs real-time web searches with Exa, returning relevant sources and summaries for up-to-date research, fact checking, and content extraction.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Exa is a neural search engine. Unlike keyword-based search, it understands meaning โ you describe the page you're looking for and it finds it. Returns clean, LLM-ready content with no scraping needed. MCP server: https://mcp.exa.ai/mcp Free tier: generous rate limits, no key needed for basic tools API key: dashboard.exa.ai/api-keys โ unlocks higher limits + all tools Docs: exa.ai/docs GitHub: github.com/exa-labs/exa-mcp-server
Add the MCP server to your agent config: # OpenClaw openclaw mcp add exa --url "https://mcp.exa.ai/mcp" Or in any MCP config JSON: { "mcpServers": { "exa": { "url": "https://mcp.exa.ai/mcp" } } } To unlock all tools and remove rate limits, append your API key: https://mcp.exa.ai/mcp?exaApiKey=YOUR_EXA_KEY To enable specific optional tools: https://mcp.exa.ai/mcp?exaApiKey=YOUR_KEY&tools=web_search_exa,web_search_advanced_exa,people_search_exa,crawling_exa,company_research_exa,get_code_context_exa,deep_researcher_start,deep_researcher_check,deep_search_exa
ToolWhat it doesweb_search_exaGeneral-purpose web search โ clean content, fastget_code_context_exaCode examples + docs from GitHub, Stack Overflow, official docscompany_research_exaCompany overview, news, funding, competitors
ToolWhat it doesweb_search_advanced_exaFull-control search: domain filters, date ranges, categories, content modescrawling_exaExtract full page content from a known URL โ handles JS, PDFs, complex layoutspeople_search_exaFind LinkedIn profiles, professional backgrounds, expertsdeep_researcher_startKick off an async multi-step research agent โ detailed reportdeep_researcher_checkPoll status / retrieve results from deep researchdeep_search_exaSingle-call deep search with synthesized answer + citations (needs API key)
Fast general search. Describe what you're looking for in natural language. Parameters: query (string, required) โ describe the page you want to find numResults (int) โ number of results, default 10 type โ auto (best quality), fast (lower latency), deep (multi-step reasoning) livecrawl โ fallback (default) or preferred (always fetch fresh) contextMaxCharacters (int) โ cap the returned content size web_search_exa { "query": "blog posts about using vector databases for recommendation systems", "numResults": 8 } web_search_exa { "query": "latest OpenAI announcements March 2026", "numResults": 5, "type": "fast" }
The power-user tool. Everything web_search_exa does, plus domain filters, date filters, category targeting, and content extraction modes. Extra parameters beyond basic search: ParameterTypeWhat it doesincludeDomainsstring[]Only return results from these domains (max 1200)excludeDomainsstring[]Block results from these domainscategorystringTarget content type โ see table belowstartPublishedDatestringISO date, results published after thisendPublishedDatestringISO date, results published before thismaxAgeHoursintContent freshness โ 0 = always livecrawl, -1 = cache only, 24 = cache if <24hcontents.highlightsobjectExtractive snippets relevant to query. Set maxCharacters to control sizecontents.textobjectFull page as clean markdown. Set maxCharacters to capcontents.summaryobjectLLM-generated summary. Supports query and JSON schema for structured extraction Categories: CategoryBest forcompanyCompany pages, LinkedIn company profilespeopleLinkedIn profiles, professional bios, personal sitesresearch paperarXiv, academic papers, peer-reviewed researchnewsCurrent events, journalismtweetPosts from X/Twitterpersonal siteBlogs, personal pagesfinancial reportSEC filings, earnings reports
Research papers: web_search_advanced_exa { "query": "transformer architecture improvements for long-context windows", "category": "research paper", "numResults": 15, "contents": { "highlights": { "maxCharacters": 3000 } } } Company list building with structured extraction: web_search_advanced_exa { "query": "Series A B2B SaaS companies in climate tech founded after 2022", "category": "company", "numResults": 25, "contents": { "summary": { "query": "company name, what they do, funding stage, location", "schema": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" }, "funding": { "type": "string" }, "location": { "type": "string" } } } } } } People search โ find candidates with specific profiles: web_search_advanced_exa { "query": "machine learning engineers at fintech startups in NYC with experience in fraud detection", "category": "people", "numResults": 20, "contents": { "highlights": { "maxCharacters": 2000 } } } Finding pages similar to a known URL: Use the URL itself as the query โ Exa will find semantically similar pages: web_search_advanced_exa { "query": "https://linkedin.com/in/some-candidate-profile", "numResults": 15, "contents": { "highlights": { "maxCharacters": 2000 } } } Recent news with freshness control: web_search_advanced_exa { "query": "AI regulation policy updates", "category": "news", "maxAgeHours": 72, "numResults": 10, "contents": { "highlights": { "maxCharacters": 4000 } } } Scoped domain search: web_search_advanced_exa { "query": "authentication best practices", "includeDomains": ["owasp.org", "auth0.com", "docs.github.com"], "numResults": 10, "contents": { "text": { "maxCharacters": 5000 } } }
One-call company research. Returns business overview, recent news, funding, and competitive landscape. company_research_exa { "query": "Stripe payments company overview and recent news" } company_research_exa { "query": "what does Anduril Industries do and who are their competitors" }
Find professionals by role, company, location, expertise. Returns LinkedIn profiles and bios. people_search_exa { "query": "VP of Engineering at healthcare startups in San Francisco" } people_search_exa { "query": "AI researchers specializing in multimodal models" }
Search GitHub repos, Stack Overflow, and documentation for code examples and API usage patterns. get_code_context_exa { "query": "how to implement rate limiting in Express.js with Redis" } get_code_context_exa { "query": "Python asyncio connection pooling example with aiohttp" }
Extract clean content from a specific URL. Handles JavaScript-rendered pages, PDFs, and complex layouts. Returns markdown. crawling_exa { "url": "https://arxiv.org/abs/2301.07041" } Good for when you already have the URL and want to read the page.
Long-running async research. Exa's research agent searches, reads, and compiles a detailed report. Start a research task: deep_researcher_start { "query": "competitive landscape of AI code generation tools in 2026 โ key players, pricing, technical approaches, market share" } Check status (use the researchId from the start response): deep_researcher_check { "researchId": "abc123..." } Poll deep_researcher_check until status is completed. The final response includes the full report.
Single-call deep search: expands your query across multiple angles, searches, reads results, and returns a synthesized answer with grounded citations. Requires API key. deep_search_exa { "query": "what are the leading approaches to multimodal RAG in production systems" } Supports structured output via outputSchema: deep_search_exa { "query": "top 10 aerospace companies by revenue", "type": "deep", "outputSchema": { "type": "object", "required": ["companies"], "properties": { "companies": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "revenue": { "type": "string" }, "hq": { "type": "string" } } } } } } }
Exa is neural โ it matches on meaning, not keywords. Write queries like you'd describe the ideal page to a colleague. Do: "blog post about using embeddings for product recommendations at scale" Don't: "embeddings product recommendations" Do: "Stripe payments company San Francisco fintech" Don't: "Stripe" (too ambiguous) Use category when you know the content type โ it makes a big difference. For broader coverage, run 2-3 query variations in parallel and deduplicate results. For agentic workflows, use highlights instead of full text โ it's 10x more token-efficient while keeping the relevant parts.
Content modeWhen to usehighlightsAgent workflows, factual lookups, multi-step pipelines โ most token-efficienttextDeep analysis, when you need full page contextsummaryQuick overviews, structured extraction with JSON schema Set maxCharacters on any content mode to control output size.
I need to...UseQuick web lookupweb_search_exaResearch papers, academic searchweb_search_advanced_exa + category: "research paper"Company intel, competitive analysiscompany_research_exa or advanced + category: "company"Find people, candidates, expertspeople_search_exa or advanced + category: "people"Code examples, API docsget_code_context_exaRead a specific URLcrawling_exaFind pages similar to a URLweb_search_advanced_exa with URL as queryRecent news / tweetsAdvanced + category: "news" or "tweet" + maxAgeHoursDetailed research reportdeep_researcher_start โ deep_researcher_checkQuick answer with citationsdeep_search_exa Docs: exa.ai/docs โ Dashboard: dashboard.exa.ai โ Support: support@exa.ai
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.