MCP Tool Reference for Competitor Profiling
MCP Tool Reference for Competitor Profiling
Section titled “MCP Tool Reference for Competitor Profiling”Quick reference for the Firecrawl and DataForSEO MCP tools used in competitor profiling.
Contents
Section titled “Contents”- Firecrawl Tools (site scraping)
- DataForSEO Tools (SEO & market data)
- Recommended Execution Order
- Error Handling
Firecrawl Tools
Section titled “Firecrawl Tools”firecrawl_map
Section titled “firecrawl_map”Purpose: Discover all URLs on a competitor’s site to identify key pages.
When to use: First step for every competitor — before scraping individual pages.
Key output: List of URLs with their page types/paths.
Tip: Look for paths containing /pricing, /features, /about, /customers, /integrations, /blog, /changelog.
firecrawl_scrape
Section titled “firecrawl_scrape”Purpose: Extract content from a single page as clean markdown. When to use: After mapping, scrape each key page individually. Key output: Page content in markdown format — headlines, body text, structured data. Tip: Scrape homepage first — it reveals positioning, audience, and social proof in one shot.
firecrawl_search
Section titled “firecrawl_search”Purpose: Search the web for specific content about a competitor. When to use: Finding review pages, press coverage, or competitor mentions not on their own site. Example queries:
"[Competitor Name]" site:g2.com"[Competitor Name]" review"[Competitor Name]" funding OR raised
firecrawl_crawl
Section titled “firecrawl_crawl”Purpose: Crawl multiple pages from a site in one operation. When to use: Deep profiles where you want to analyze many pages (e.g., all feature pages, all blog posts). More expensive — use selectively. Tip: Set page limits to avoid crawling entire sites. Target specific URL patterns.
firecrawl_extract
Section titled “firecrawl_extract”Purpose: Extract structured data from a page using a schema. When to use: When you need specific data points in a consistent format (e.g., pricing tier details, feature lists). Tip: Define a clear schema for what you want extracted — more reliable than parsing raw markdown.
DataForSEO MCP Tools
Section titled “DataForSEO MCP Tools”Domain-Level Intelligence
Section titled “Domain-Level Intelligence”backlinks_summary
Section titled “backlinks_summary”Purpose: Get domain authority, total backlinks, referring domains, spam score.
Input: Target domain (e.g., competitor.com)
Key metrics: domain_rank, total_backlinks, referring_domains, backlinks_spam_score
backlinks_referring_domains
Section titled “backlinks_referring_domains”Purpose: List top referring domains — shows where their link equity comes from.
Input: Target domain + limit
Key metrics: Per-domain: rank, backlinks, domain name
dataforseo_labs_google_domain_rank_overview
Section titled “dataforseo_labs_google_domain_rank_overview”Purpose: Organic search overview — traffic, keywords, traffic value.
Input: Target domain
Key metrics: organic_count (keywords), organic_traffic (estimated monthly), organic_cost (traffic value in $)
dataforseo_labs_google_ranked_keywords
Section titled “dataforseo_labs_google_ranked_keywords”Purpose: What keywords a domain ranks for, with positions.
Input: Target domain
Key metrics: Per-keyword: keyword, position, search_volume, url (ranking page)
Tip: Sort by traffic to find their highest-value keywords.
dataforseo_labs_google_keywords_for_site
Section titled “dataforseo_labs_google_keywords_for_site”Purpose: Keywords relevant to a domain — broader than ranked keywords, includes opportunities.
Input: Target domain
Key metrics: keyword, search_volume, competition, cpc
Competitive Analysis
Section titled “Competitive Analysis”dataforseo_labs_google_competitors_domain
Section titled “dataforseo_labs_google_competitors_domain”Purpose: Find a domain’s closest organic competitors by keyword overlap.
Input: Target domain
Key metrics: domain, avg_position, intersections (shared keywords), full_domain_rank
Tip: May reveal competitors the user hasn’t considered.
dataforseo_labs_google_domain_intersection
Section titled “dataforseo_labs_google_domain_intersection”Purpose: Find keywords where two domains both rank — shows direct competition.
Input: Two target domains
Key metrics: keyword, position for each domain, search_volume
Tip: Use this to compare the user’s domain vs. each competitor.
dataforseo_labs_google_relevant_pages
Section titled “dataforseo_labs_google_relevant_pages”Purpose: Find a domain’s most important pages by organic traffic.
Input: Target domain
Key metrics: page, metrics (traffic, keywords per page)
Tip: Reveals their content strategy — which pages drive the most value.
Technology Detection
Section titled “Technology Detection”domain_analytics_technologies_domain_technologies
Section titled “domain_analytics_technologies_domain_technologies”Purpose: Detect the technology stack a domain uses. Input: Target domain Key metrics: Technologies grouped by category (CMS, analytics, marketing, payments, etc.)
Backlink Deep Dive
Section titled “Backlink Deep Dive”backlinks_backlinks
Section titled “backlinks_backlinks”Purpose: List individual backlinks to a domain.
Input: Target domain + limit
Key metrics: url_from, url_to, anchor, domain_from_rank, is_new
backlinks_bulk_ranks
Section titled “backlinks_bulk_ranks”Purpose: Compare domain ranks across multiple domains at once.
Input: Array of target domains
Key metrics: domain_rank per domain
Tip: Use this for the summary comparison table.
Recommended Execution Order
Section titled “Recommended Execution Order”Quick Scan (per competitor)
Section titled “Quick Scan (per competitor)”1. firecrawl_map → get site URLs2. In parallel: a. firecrawl_scrape → homepage b. firecrawl_scrape → pricing page c. dataforseo_labs_google_domain_rank_overview → organic metrics d. backlinks_summary → domain authority3. Synthesize into abbreviated profileDeep Profile (per competitor)
Section titled “Deep Profile (per competitor)”1. firecrawl_map → get site URLs2. In parallel (batch 1 — scraping): a. firecrawl_scrape → homepage b. firecrawl_scrape → pricing page c. firecrawl_scrape → features page(s) d. firecrawl_scrape → about page e. firecrawl_scrape → customers/case studies page f. firecrawl_scrape → integrations page3. In parallel (batch 2 — SEO data): a. dataforseo_labs_google_domain_rank_overview b. dataforseo_labs_google_ranked_keywords c. backlinks_summary d. backlinks_referring_domains e. dataforseo_labs_google_relevant_pages f. dataforseo_labs_google_competitors_domain4. In parallel (batch 3 — optional extras): a. domain_analytics_technologies_domain_technologies b. firecrawl_search → G2/Capterra reviews c. dataforseo_labs_google_domain_intersection (vs. user's domain)5. Synthesize into full profileMulti-Competitor (3+ competitors)
Section titled “Multi-Competitor (3+ competitors)”1. Map all competitor sites in parallel2. Scrape all homepages in parallel, then pricing pages in parallel3. Pull domain_rank_overview for all in parallel4. Pull backlinks_bulk_ranks for all at once5. Build profiles in sequence (synthesis requires focus)6. Build summary comparison lastError Handling
Section titled “Error Handling”| Issue | Action |
|---|---|
| Firecrawl scrape returns empty/blocked | Try with firecrawl_browser_create for JS-heavy sites |
| Pricing page not found in map | Search for /pricing, /plans, /packages — some sites use different paths |
| DataForSEO returns no data for domain | Domain may be too new or too small — note “insufficient data” in profile |
| Rate limits hit | Space out requests; prioritize highest-value data first |
| Review page scraping blocked | Use firecrawl_search to find cached or alternative review sources |