Exa Tool

Exa MCP integration for advanced search, research, and crawling.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 972 · 9 current installs · 9 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The skill's stated purpose (Exa MCP search/crawling) matches the single included executable (exa-web-search) and the single required env var (EXA_API_KEY). However, SKILL.md, README.md, and package.json repeatedly reference a generic wrapper 'exa-search' (and set package.json.main to ./bin/exa-search) which is not present in the file set. The metadata also advertises two bins (exa-search and exa-web-search) while only exa-web-search exists. This inconsistency could be an incomplete package or intentional omission; it does not by itself indicate malicious behavior but is unexpected.
Instruction Scope
The runtime instructions confine behavior to calling the Exa MCP endpoint (mcp.exa.ai) using JSON-RPC over HTTPS and handling SSE. The SKILL.md does not instruct reading unrelated system files or exporting other credentials. Examples show crawling arbitrary URLs and people/company searches (functionally within the claimed scope), but these are expected for a search/research tool and are privacy-sensitive rather than out-of-scope.
Install Mechanism
There is no install spec (lowest-risk style) and the included node script uses standard https calls — no external downloads or install hooks detected. But package.json points to a missing ./bin/exa-search and declares two binaries while only exa-web-search exists on disk. The README's suggested copy/symlink install steps are manual. The missing file entries suggest incomplete packaging or an oversight.
Credentials
Only EXA_API_KEY is required and declared as the primary credential. That is proportionate for a service that authenticates to Exa's MCP API. The skill does not request additional unrelated secrets or config paths.
Persistence & Privilege
The skill does not request always: true and is user-invocable with normal autonomous invocation allowed (platform default). It does not attempt to modify other skills or system-wide settings in the files provided.
What to consider before installing
This skill appears to do what it says (call Exa's MCP endpoints) and only needs your EXA_API_KEY, but the package is inconsistent: many references to a generic 'exa-search' binary exist, yet that file is missing and package.json points to it. Before installing: (1) verify the skill's source/repository (the package lists a ClaireAICodes repo and homepage exa.ai — confirm you trust them), (2) ask the author for the missing exa-search binary or a corrected package, (3) consider creating a limited-scope API key or verifying Exa dashboard permissions/quotas, and (4) review network endpoints (mcp.exa.ai) and privacy implications of crawling/people-search. If you cannot validate the missing files or provenance, avoid installing in sensitive environments.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.0
Download zip
latestvk9790yhfq3a0mnm4kye1yczmq981ccgs

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

🔍 Clawdis
EnvEXA_API_KEY
Primary envEXA_API_KEY

SKILL.md

Exa MCP Tool

This skill provides access to Exa's powerful search and research capabilities through the Exa MCP server.

Available Tools

General Purpose

  • exa-search <tool> '{"json":"args"}' - Generic wrapper for any Exa MCP tool

Specialized Wrappers

  • exa-web-search '{"query":"...", "count":10, "freshness":"pw", ...}' - Web search with optional filters

Full Tool List (via exa-search)

All tools from the Exa MCP server are available:

ToolDescription
web_search_exaSearch the web for any topic, get clean content
web_search_advanced_exaAdvanced search with filters (domains, dates, content options)
get_code_context_exaFind code examples, documentation, programming solutions
crawling_exaGet full content of a specific webpage from a known URL
company_research_exaResearch any company for business information and news
people_search_exaFind people and their professional profiles
deep_researcher_startStart an AI research agent that writes detailed reports
deep_researcher_checkCheck status and get results from deep research task

Setup

  1. Get your Exa API key from https://dashboard.exa.ai/api-keys

  2. Set the environment variable:

    export EXA_API_KEY="your_exa_api_key_here"
    

    Or add to your shell profile (~/.bashrc or ~/.zshrc):

    export EXA_API_KEY="your_exa_api_key_here"
    

    Or create a .env file in your workspace:

    echo "EXA_API_KEY=your_exa_api_key_here" > ~/.openclaw/workspace/.env
    source ~/.openclaw/workspace/.env
    
  3. Restart OpenClaw to load the skill:

    openclaw gateway restart
    

Usage Examples

Basic Web Search

exa-web-search '{"query":"Step-3.5 Flash benchmarks"}'

Advanced Search with Filters

exa-search web_search_advanced_exa '{
  "query": "OpenClaw AI",
  "count": 10,
  "freshness": "pw",
  "includeDomains": ["github.com", "docs.openclaw.ai"]
}'

Code Search

exa-search get_code_context_exa '{
  "query": "OpenClaw agent implementation",
  "count": 5
}'

Crawl Specific URL

exa-search crawling_exa '{
  "url": "https://docs.openclaw.ai/",
  "maxPages": 10
}'

Company Research

exa-search company_research_exa '{
  "company": "OpenClaw",
  "includeNews": true,
  "newsDays": 30
}'

People Search

exa-search people_search_exa '{
  "query": "Phil openclaw creator",
  "count": 10
}'

Deep Research (Two-Step)

# Start research
TASK_ID=$(exa-search deep_researcher_start '{
  "query": "Current state of AI agents in 2026",
  "maxSources": 20
}' | jq -r '.taskId')

# Check status (poll until complete)
while true; do
  exa-search deep_researcher_check '{"taskId":"'"$TASK_ID"'"}'
  sleep 5
done

Output Format

All tools return JSON with the Exa MCP response structure. The actual content is in the result field, which varies by tool but typically includes:

  • content: Array of result items with title, url, text (snippet)
  • Sometimes additional metadata like cost, duration, sources

Example web search output:

{
  "content": [
    {
      "title": "Step 3.5 Flash - MathArena",
      "url": "https://matharena.ai/models/stepfun_3_5_flash",
      "text": "Step 3.5 Flash benchmarks and performance metrics..."
    }
  ]
}

Using in OpenClaw Agents

Agents can use these tools directly:

// In an agent session
/exec exa-search web_search_exa '{"query":"latest news"}'

// Or via API
{
  "sessionTarget": "isolated",
  "payload": {
    "kind": "agentTurn",
    "message": "Search for recent AI developments using exa-search"
  }
}

Notes

  • Rate limits apply based on your Exa plan
  • The MCP server uses Server-Sent Events (SSE) streaming; the wrapper handles this
  • All tools accept various optional parameters; see Exa docs for full schema
  • Errors are returned with proper exit codes and messages to stderr

Troubleshooting

"EXA_API_KEY not set"

  • Ensure the environment variable is exported in the same session where OpenClaw runs
  • If using systemd/systemctl, set the key in the service file or /etc/environment

"406 Not Acceptable"

  • The tool already sets the correct Accept header; this shouldn't occur in the wrapper

Empty or no results

References

Files

4 total
Select a file
Select a file to preview.

Comments

Loading comments…