# Setup

> This skill should be used when the user asks to "verify web search setup", "check search services", "test firecrawl connection", "test exa connection", "is jina working", "check perplexity MCP", or needs to confirm which web search and scraping services are operational.

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

---


# Web Search Services Setup Verification

Verify which search and scraping services are connected and operational.

## Service Availability Check

Run one lightweight call per service to confirm connectivity. Not all services need to be active — the plugin works with any subset.

### 1. Firecrawl

```
Tool: firecrawl_search
Input: { "query": "test", "limit": 1 }
```

**Expected:** Returns search results. If error, check `FIRECRAWL_API_TOKEN` — the env var this plugin's `.mcp.json` maps to the server's `FIRECRAWL_API_KEY`.

### 2. Exa

```
Tool: web_search_exa
Input: { "query": "test", "numResults": 1 }
```

**Expected:** Returns results with URLs. If error, check Exa API key.

### 3. Perplexity

```
Tool: perplexity_search
Input: { "query": "test" }
```

**Expected:** Returns AI-synthesized answer. If error, check `PERPLEXITY_API_KEY`.

### 4. Jina

```
Tool: read_url
Input: { "url": "https://example.com" }
```

**Expected:** Returns markdown content. Works without API key (rate-limited), with key for full access.

### 5. Context7

```
Tool: resolve-library-id
Input: { "libraryName": "react" }
```

**Expected:** Returns library ID like `/facebook/react`. API key optional — keyless works with low rate limits; a key (context7.com/dashboard) grants higher limits and private repos.

### 6. Media Services (Pexels / Unsplash)

Check if media search tools are available in your session:

```
Tool: searchPhotos (Pexels)
Input: { "query": "nature", "per_page": 1 }
```

```
Tool: get_search_photos (Unsplash)
Input: { "query": "nature", "per_page": 1 }
```

Media services require separate MCP configuration — they are not bundled with this plugin.

## Service Status Summary

After running checks, report which services are available:

| Service | Status | Capabilities |
|---------|--------|-------------|
| Firecrawl | Connected / Not available | scrape, crawl, search, extract, parse, agent, interact, monitors, research/developer search |
| Exa | Connected / Not available | semantic search, page fetch |
| Perplexity | Connected / Not available | AI search, research, reasoning |
| Jina | Connected / Not available | read pages, search, images, classify, deduplicate |
| Context7 | Connected / Not available | framework documentation search |
| Pexels | Connected / Not available | stock photos and videos |
| Unsplash | Connected / Not available | stock photos |

## Working with Partial Availability

Not all services need to be active — the plugin works with any subset. Here's what you can do with common combinations:

| Available Services | You Can Do |
|-------------------|------------|
| Firecrawl only | Scrape, crawl, search, extract structured data, live-page interaction, parse files, monitor changes |
| Jina only | Read pages, search web, image search, classify, deduplicate, batch ops |
| Exa only | Semantic search, page fetch, domain-scoped search |
| Perplexity only | AI Q&A, research, reasoning with citations |
| Context7 only | Framework/library documentation search |
| Firecrawl + Jina | Full scraping pipeline with fallbacks |
| Any service + Context7 | Dev workflow with doc search |

If a recommended tool is unavailable, the mcp-patterns skill routing table shows fallback alternatives for every task.

## Common Issues

| Symptom | Cause | Fix |
|---------|-------|-----|
| `npx` command not found | Node.js not installed | Install Node.js 18+ |
| 401 Unauthorized | Invalid API key | Check key in plugin settings or regenerate |
| Connection timeout | Network or firewall | Check internet connectivity |
| MCP server not starting | npm package issue | Run `npx -y firecrawl-mcp` manually to see errors |
| Tool not found | MCP server not configured | Check `.mcp.json` or Claude Code MCP settings |

## What This Skill Does NOT Cover

- Creating API accounts — visit each service's website to sign up
- Configuring MCP servers from scratch — the plugin's `.mcp.json` handles this automatically

