# Exa MCP

> Use Exa's hosted MCP server (mcp.exa.ai) to do web search, deep research, crawling, company research, and people research via MCP tools like web_search_exa, deep_search_exa, crawling_exa, company_research_exa, people_search_exa, deep_researcher_start/check. Trigger this skill when you need high-quality web research results and Exa MCP is available, especially if the built-in web_search tool is unavailable or lacks an API key.

- Skill: `eric-bot-labs/exa-mcp` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add eric-bot-labs/exa-mcp`
- Raw SKILL.md: https://api.skillmd.com/api/skills/eric-bot-labs/exa-mcp/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: eric-bot-labs (https://skillmd.com/u/eric-bot-labs)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/eric-bot-labs/exa-mcp

---


# Exa MCP

Use Exa’s hosted MCP endpoint (`https://mcp.exa.ai/mcp`) to run research tools via an executable script.

This skill is intentionally simple: it provides one reliable way to call MCP tools from the OpenClaw environment and capture results.

## Quick start

Call a tool:

```bash
node scripts/exa_mcp_call.mjs web_search_exa '{"query":"best neighborhoods to stay in Lisbon","numResults":5}'
```

Get raw JSON:

```bash
node scripts/exa_mcp_call.mjs web_search_exa '{"query":"OpenClaw"}' --raw
```

## Common workflows

### 1) Fast web search (clean snippets)
Use `web_search_exa`.

```bash
node scripts/exa_mcp_call.mjs web_search_exa '{"query":"<your query>","numResults":5}'
```

### 2) Deeper search / more thorough research
Use `deep_search_exa` (when you need more coverage than a quick search).

```bash
node scripts/exa_mcp_call.mjs deep_search_exa '{"query":"<your query>"}'
```

### 3) Crawl a specific page (extract useful content)
Use `crawling_exa` to pull content from a known URL.

```bash
node scripts/exa_mcp_call.mjs crawling_exa '{"url":"https://example.com"}'
```

### 4) Company research / people research
Use `company_research_exa` and `people_search_exa` for structured “who/what” research.

```bash
node scripts/exa_mcp_call.mjs company_research_exa '{"query":"OpenClaw"}'
node scripts/exa_mcp_call.mjs people_search_exa '{"query":"<person name>"}'
```

### 5) Long-running deep research
Use `deep_researcher_start` to kick off a job, then poll with `deep_researcher_check`.

```bash
node scripts/exa_mcp_call.mjs deep_researcher_start '{"query":"<your query>"}' --raw
# take the job id from output, then:
node scripts/exa_mcp_call.mjs deep_researcher_check '{"id":"<job id>"}'
```

## Notes / gotchas

- Exa MCP responds as **Server-Sent Events (SSE)**. `scripts/exa_mcp_call.mjs` handles this and prints the text payloads.
- If you need the full tool schemas, read `references/tools-list.sse`.
- If Exa changes schemas, re-fetch the tools list (see `references/README-TOOLS.md`).

## Resources

### scripts/
- `scripts/exa_mcp_call.mjs`: Calls `tools/call` on `https://mcp.exa.ai/mcp` and prints results.

### references/
- `references/tools-list.sse`: Raw output from `tools/list` (includes tool names + JSON schemas).
- `references/README-TOOLS.md`: How to refresh the tool list.

