web-search-free
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!
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install openclaw-skills-web-search-free
Repository
Skill path: skills/deciding/web-search-free
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!
Open repositoryBest for
Primary workflow: Analyze Data & AI.
Technical facets: Full Stack, Backend, Data / AI, Integration.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: openclaw.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install web-search-free into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/openclaw/skills before adding web-search-free to shared team environments
- Use web-search-free for development workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
---
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)
---
## Referenced Files
> The following files are referenced in this skill and included for context.
### references/examples.md
```markdown
# Exa Search Examples
## Web Search Examples
### Latest News & Current Events
```bash
mcporter call 'exa.web_search_exa(query: "latest AI breakthroughs 2026", numResults: 5)'
mcporter call 'exa.web_search_exa(query: "quantum computing news", type: "fast")'
```
### Research Topics
```bash
mcporter call 'exa.web_search_exa(query: "how does RAG work in LLMs", type: "deep", numResults: 8)'
mcporter call 'exa.web_search_exa(query: "best practices for API design", numResults: 5)'
```
### Product Information
```bash
mcporter call 'exa.web_search_exa(query: "M4 Mac Mini specifications and reviews")'
mcporter call 'exa.web_search_exa(query: "comparison of vector databases", type: "deep")'
```
## Code Context Search Examples
### Programming Language Basics
```bash
mcporter call 'exa.get_code_context_exa(query: "Python asyncio basics and examples", tokensNum: 3000)'
mcporter call 'exa.get_code_context_exa(query: "Rust ownership and borrowing tutorial")'
```
### Framework & Library Usage
```bash
mcporter call 'exa.get_code_context_exa(query: "React useState and useEffect hooks examples", tokensNum: 2000)'
mcporter call 'exa.get_code_context_exa(query: "Next.js 14 app router authentication middleware")'
mcporter call 'exa.get_code_context_exa(query: "Express.js error handling best practices", tokensNum: 4000)'
```
### Specific API & SDK Documentation
```bash
mcporter call 'exa.get_code_context_exa(query: "Stripe checkout session implementation", tokensNum: 5000)'
mcporter call 'exa.get_code_context_exa(query: "AWS S3 SDK upload examples Python")'
mcporter call 'exa.get_code_context_exa(query: "Discord.js bot slash commands")'
```
### Debugging & Solutions
```bash
mcporter call 'exa.get_code_context_exa(query: "fixing CORS errors in Node.js Express")'
mcporter call 'exa.get_code_context_exa(query: "pandas dataframe memory optimization techniques", tokensNum: 4000)'
```
## Company Research Examples
### Startups & Tech Companies
```bash
mcporter call 'exa.company_research_exa(companyName: "Anthropic", numResults: 3)'
mcporter call 'exa.company_research_exa(companyName: "Perplexity AI")'
mcporter call 'exa.company_research_exa(companyName: "Scale AI", numResults: 5)'
```
### Public Companies
```bash
mcporter call 'exa.company_research_exa(companyName: "Microsoft")'
mcporter call 'exa.company_research_exa(companyName: "NVIDIA", numResults: 5)'
```
### Research Queries
```bash
# Find funding info
mcporter call 'exa.company_research_exa(companyName: "OpenAI", numResults: 5)'
# Recent news
mcporter call 'exa.company_research_exa(companyName: "Tesla", numResults: 3)'
```
## Parameter Guidance
### `type` parameter (web_search_exa)
- `"auto"` - Balanced search (default)
- `"fast"` - Quick results, less comprehensive
- `"deep"` - Thorough research, slower but more complete
### `tokensNum` parameter (get_code_context_exa)
- `1000-2000` - Focused queries, specific examples
- `3000-5000` - Standard documentation lookup (default: 5000)
- `5000-10000` - Comprehensive guides and tutorials
- `10000-50000` - Deep dives, full API documentation
### `numResults` parameter
- `3-5` - Quick lookup, specific answer
- `5-8` - Standard research (default for web: 8, company: 5)
- `10+` - Comprehensive research, multiple perspectives
## Advanced Tools Examples
### Advanced Web Search
```bash
# Search with domain filters
mcporter call 'exa.web_search_advanced_exa(query: "machine learning tutorials", includeDomains: ["github.com", "arxiv.org"])'
# Search with date range
mcporter call 'exa.web_search_advanced_exa(query: "AI developments", startPublishedDate: "2026-01-01")'
```
### Crawling
```bash
# Extract content from specific URL
mcporter call 'exa.crawling_exa(url: "https://anthropic.com/news/claude-3-5-sonnet")'
# Get clean text from article
mcporter call 'exa.crawling_exa(url: "https://example.com/article")'
```
### People Search
```bash
# Find professional profiles
mcporter call 'exa.people_search_exa(query: "Yann LeCun AI researcher")'
# Research individuals
mcporter call 'exa.people_search_exa(query: "Demis Hassabis DeepMind")'
```
### Deep Researcher
```bash
# Start a research task
mcporter call 'exa.deep_researcher_start(instructions: "quantum computing applications in cryptography", model: "exa-research")'
# Check research status (use taskId from start response)
mcporter call 'exa.deep_researcher_check(researchId: "abc123")'
```
```
---
## Skill Companion Files
> Additional files collected from the skill directory layout.
### _meta.json
```json
{
"owner": "deciding",
"slug": "web-search-free",
"displayName": "Web Search Free",
"latest": {
"version": "1.0.1",
"publishedAt": 1771858406982,
"commit": "https://github.com/openclaw/skills/commit/baaf40c34eac60e978fc9c2d2b4e14df59502e6e"
},
"history": []
}
```