# Tools SERP & MCP Guide

**Last Updated:** 2026-02-26

Guide for tools page content creation using MCPs (Fetch, Firecrawl, Serper) for SERP and competitor research. Mirrors [SERP_MCP_IMPROVEMENT_GUIDE.md](../../content/blog/SERP_MCP_IMPROVEMENT_GUIDE.md) for blog.

## Overview

| Layer | Current | Improved |
|-------|---------|----------|
| **SERP data** | SISTRIX keyword.seo (rankings) | SISTRIX + Serper MCP (real Google: PAA, featured snippets) |
| **Competitor scraping** | cURL + Firecrawl API fallback | Same; Firecrawl fallback when cURL returns sparse content |
| **Manual verification** | Browser only | Fetch/Firecrawl MCP for quick content checks |

## Production Scripts

- `collect-tool-competitor-analysis.php` – Uses cURL; Firecrawl API fallback when word_count &lt; 100 or headings empty. See `docs/systems/firecrawl/FIRECRAWL_INTEGRATION.md`.

## MCP-Assisted Workflow

### When to Use Each MCP

| Task | MCP | Use Case |
|------|-----|----------|
| **Real Google SERP** | Serper | PAA questions, featured snippet format for tool keywords |
| **Competitor content** | Fetch | Quick single-URL fetch; schema validation |
| **Deep extraction** | Firecrawl | Markdown extraction when competitor-analysis.json has sparse data |

### Firecrawl (When Sparse)

**When:** `competitor-analysis.json` has sparse FAQs, empty headings, or word_count &lt; 100 for key competitors.

**Cost optimization:** Use **firecrawl_scrape** with `formats: ['markdown']` — 1 credit/URL. **Avoid firecrawl_extract** (22–32 credits).

**Options:**
- Run `validate-tool-competitor-data-completeness.php --tool={slug} --remediate` to auto-fix via Firecrawl API (Scrape-first)
- Or: "Use firecrawl_scrape with formats: ['markdown'] for [competitor URL]"

**Output:** AI-ready markdown. Use to verify competitor headings, extract FAQs, analyze JS-heavy pages.

**Credits:** ~1 per scrape (Free 500 one-time; paid plans 3k–500k/month). See [FIRECRAWL_INTEGRATION.md](../../systems/firecrawl/FIRECRAWL_INTEGRATION.md).

### Serper (Google SERP)

**When:** You need actual Google SERP data for tool keywords (e.g. "Elterngeld Rechner", "Minijob Rechner").

**Prompt pattern:** "Use Serper MCP to search Google for [primary keyword]"

**Keyword spelling:** Use actual German spelling (ü, ä, ö, ß) for accurate SERP data.

### Fetch (Single URL)

**When:** Schema validation, quick content check, no credits.

**Prompt pattern:** "Use Fetch MCP to get [URL] as markdown" or "Validate schema at [URL]"

## Integration into Tools Workflow

### After collect-tool-competitor-analysis.php

1. Review `data/competitor-analysis.json`
2. If sparse data for key competitors: use **Firecrawl MCP** to scrape those URLs
3. Document findings in SERP_ANALYSIS.md
4. Use Serper for real PAA; Fetch for schema validation

### CONTENT_OUTLINE Quality

When outline validation flags competitor structure gaps:
- Use Firecrawl MCP to scrape competitor URL and extract full H2 list
- Compare with competitor-analysis.json; update outline if mismatch

## References

- [SERP_MCP_IMPROVEMENT_GUIDE.md](../../content/blog/SERP_MCP_IMPROVEMENT_GUIDE.md) – Full blog guide (applies to tools)
- [MCP_INTEGRATION.md](../../development/MCP_INTEGRATION.md) – MCP setup
- [mcp-usage.mdc](../../../.cursor/rules/mcp-usage.mdc) – When to use each MCP
- [TOOLS_CONTENT_WORKFLOW.md](TOOLS_CONTENT_WORKFLOW.md) – Tools workflow
