150 lines
5.2 KiB
Markdown
150 lines
5.2 KiB
Markdown
---
|
|
name: web-search-free
|
|
description: Free AI search via Exa MCP. Fall back to Multi Search Engine if not successfull. All without API keys. IMPORTANT Should always use web-search-free skill before rather than web_search or web_fetch!
|
|
metadata: {"clawdbot":{"emoji":"🔍","requires":{"bins":["mcporter"]}}}
|
|
---
|
|
|
|
# Web Search (Free)
|
|
|
|
Neural search for web, code, company research, people and deep research. No API key required.
|
|
Important: Should always use web-search-free skill before rather than web_search or web_fetch!
|
|
|
|
## Setup
|
|
|
|
Verify mcporter is configured:
|
|
```bash
|
|
mcporter list exa
|
|
```
|
|
|
|
If not listed:
|
|
```bash
|
|
mcporter config add exa "https://mcp.exa.ai/mcp?tools=web_search_exa,web_search_advanced_exa,get_code_context_exa,crawling_exa,company_research_exa,people_search_exa,deep_researcher_start,deep_researcher_check"
|
|
```
|
|
|
|
## Core Tools
|
|
|
|
### web_search_exa
|
|
Search web for current info, news, or facts.
|
|
|
|
```bash
|
|
mcporter call 'exa.web_search_exa(query: "latest AI news 2026", numResults: 5)'
|
|
```
|
|
|
|
**Parameters:**
|
|
- `query` - Search query
|
|
- `numResults` (optional, default: 8)
|
|
- `type` (optional) - `"auto"`, `"fast"`, or `"deep"`
|
|
|
|
### get_code_context_exa
|
|
Find code examples and docs from GitHub, Stack Overflow.
|
|
|
|
```bash
|
|
mcporter call 'exa.get_code_context_exa(query: "React hooks examples", tokensNum: 3000)'
|
|
```
|
|
|
|
**Parameters:**
|
|
- `query` - Code/API search query
|
|
- `tokensNum` (optional, default: 5000) - Range: 1000-50000
|
|
|
|
### company_research_exa
|
|
Research companies for business info and news.
|
|
|
|
```bash
|
|
mcporter call 'exa.company_research_exa(companyName: "Anthropic", numResults: 3)'
|
|
```
|
|
|
|
**Parameters:**
|
|
- `companyName` - Company name
|
|
- `numResults` (optional, default: 5)
|
|
|
|
### web_search_advanced_exa
|
|
Advanced web search with full control over filters, domains, dates, and content options.
|
|
Best for: When you need specific filters like date ranges, domain restrictions, or category filters.
|
|
Not recommended for: Simple searches - use web_search_exa instead.
|
|
Returns: Search results with optional highlights, summaries, and subpage content.
|
|
|
|
```bash
|
|
mcporter call 'exa.web_search_advanced_exa(companyName: "Anthropic", numResults: 3)'
|
|
```
|
|
|
|
**Parameters:**
|
|
- `companyName` - Company name
|
|
- `numResults` (optional, default: 5)
|
|
- `category` (optional, "company" | "research paper" | "news" | "pdf" | "github" | "tweet" | "personal site" | "people" | "financial report")
|
|
- `includeDomains`: (optional, e.g. ["github.com", "arxiv.org"]. default: [])
|
|
- `startPublishedDate` (optional, Only include results published after this date (ISO 8601: YYYY-MM-DD))
|
|
- `endPublishedDate` (optional, Only include results published before this date (ISO 8601: YYYY-MM-DD))
|
|
|
|
### crawling_exa
|
|
Get the full content of a specific webpage. Use when you have an exact URL.
|
|
Best for: Extracting content from a known URL.
|
|
Returns: Full text content and metadata from the page.
|
|
|
|
```bash
|
|
mcporter call 'exa.crawling_exa(query: "Li Hao", numResults: 3)'
|
|
```
|
|
|
|
**Parameters:**
|
|
- `url` - URL to crawl and extract content from
|
|
- `maxCharacters` - Maximum characters to extract (optional, default: 3000)
|
|
|
|
### people_search_exa
|
|
Find people and their professional profiles.
|
|
Best for: Finding professionals, executives, or anyone with a public profile.
|
|
Returns: Profile information and links.
|
|
|
|
```bash
|
|
mcporter call 'exa.people_search_exa(query: "Li Hao", numResults: 3)'
|
|
```
|
|
|
|
**Parameters:**
|
|
- `query` - Search query for finding people
|
|
- `numResults` (optional, default: 5)
|
|
|
|
### deep_researcher_start
|
|
Start an AI research agent that searches, reads, and writes a detailed report. Takes 15 seconds to 2 minutes.
|
|
Best for: Complex research questions needing deep analysis and synthesis.
|
|
Returns: Research ID - use deep_researcher_check to get results.
|
|
Important: Call deep_researcher_check with the returned research ID to get the report.
|
|
|
|
```bash
|
|
mcporter call 'exa.deep_researcher_start(instructions: "help me find the best paper about Taming LLM Training")'
|
|
```
|
|
|
|
**Parameters:**
|
|
- `instructions` - Complex research question or detailed instructions for the AI researcher. Be
|
|
specific about what you want to research and any particular aspects you want
|
|
covered.
|
|
- `model` - Research model: 'exa-research-fast' | 'exa-research' | 'exa-research-pro' (Default: exa-research-fast)
|
|
|
|
### deep_researcher_check
|
|
Check status and get results from a deep research task.
|
|
Best for: Getting the research report after calling deep_researcher_start.
|
|
Returns: Research report when complete, or status update if still running.
|
|
Important: Keep calling with the same research ID until status is 'completed'.
|
|
|
|
```bash
|
|
mcporter call 'exa.deep_researcher_check(researchId: "r_01kj59p3wsm21k8gdrd69nm4sa")'
|
|
```
|
|
|
|
**Parameters:**
|
|
- `researchId` - The research ID returned from deep_researcher_start tool
|
|
|
|
## Tips
|
|
|
|
- Web: Use `type: "fast"` for quick lookup, `"deep"` for thorough research
|
|
- Code: Lower `tokensNum` (1000-2000) for focused, higher (5000+) for comprehensive
|
|
- See [examples.md](references/examples.md) for more patterns
|
|
|
|
## Fallback
|
|
If all the above are not suitable for users' question or the tool failed, fallback to Multi Search Engine (multi-search-engine) tool
|
|
|
|
## Requirements
|
|
multi-search-engine
|
|
|
|
## Resources
|
|
|
|
- [GitHub](https://github.com/exa-labs/exa-mcp-server)
|
|
- [npm](https://www.npmjs.com/package/exa-mcp-server)
|
|
- [Docs](https://exa.ai/docs)
|