Tool Reference

tool-reference.md

Markdown 12.8 KB 315 lines 22 sections

MCP Tool Reference for Competitor Profiling

Quick reference for the Firecrawl and DataForSEO MCP tools used in competitor profiling.

Contents

  • Firecrawl Tools (site scraping)
  • DataForSEO Tools (SEO & market data)
  • Recommended Execution Order
  • Error Handling

Firecrawl Tools

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

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.

Structured data (JSON mode) Purpose: Extract structured data from a page using a schema — request the json format on the scrape call. 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.

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

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.


DataForSEO MCP Tools

Domain-Level Intelligence

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

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

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

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

Purpose: Keywords relevant to a domain — broader than ranked keywords, includes opportunities. Input: Target domain Key metrics: keyword, search_volume, competition, cpc

Competitive Analysis

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

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

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

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.)

Purpose: List individual backlinks to a domain. Input: Target domain + limit Key metrics: url_from, url_to, anchor, domain_from_rank, is_new

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.


Quick Scan (per competitor)

B0

Deep Profile (per competitor)

B1

Multi-Competitor (3+ competitors)

B2


Error Handling

IssueAction
Firecrawl scrape returns empty/blockedTry with firecrawl_browser_create for JS-heavy sites
Pricing page not found in mapSearch for /pricing, /plans, /packages — some sites use different paths
DataForSEO returns no data for domainDomain may be too new or too small — note "insufficient data" in profile
Rate limits hitSpace out requests; prioritize highest-value data first
Review page scraping blockedUse firecrawl_search to find cached or alternative review sources

Alternative Stack: Another SEO Data Source + WebFetch

If Firecrawl or DataForSEO are not available, use whichever SEO data source is connected (Ahrefs or Semrush MCP, Ubersuggest MCP, or similar) for SEO and market data, and WebFetch for page scraping. The tool mapping below uses Ubersuggest MCP as the worked example; the same fields map onto the others. Coverage is slightly less comprehensive — no site mapping, no structured extraction, no technology detection — but sufficient for quick scans and most competitive profiling needs.

When to use each stack

CapabilityPrimary (preferred)Alternative
Page scrapingFirecrawl MCPWebFetch (built into Claude Code)
Site URL discoveryI49Manually probe common paths
SEO metricsDataForSEO MCPUbersuggest MCP
Backlink dataDataForSEO backlinks toolsUbersuggest backlinks_overview + I51
Technology detectionI52Not available in alternative stack
Review miningI53 → G2/CapterraWebFetch G2/Capterra URLs directly

Check which MCPs are available at the start of each session and select the stack accordingly. If both are available, prefer the primary stack.


WebFetch (alternative to Firecrawl)

Purpose: Fetch and read any public web page as text. Built into: Claude Code — no MCP required. Limitation vs. Firecrawl: No site mapping (URL discovery); no structured extraction; may not render JavaScript-heavy pages well.

Since WebFetch does not map a site's URLs, probe common paths manually for each competitor:

Page typePaths to try
HomepageI54
PricingI55, /plans, /packages, I58
AboutI59, /about-us, /company, I62
Features / ProductI63, /product, /platform, I66
CustomersI67, /case-studies, /clients, I70
IntegrationsI71, /apps, I73
BlogI74, /resources, I76

Fetch the homepage first. Its nav links often reveal the actual paths for pricing, features, and about pages — use those instead of guessing.


Ubersuggest MCP Tools (alternative to DataForSEO)

Mapping from DataForSEO equivalents:

domain_overview

DataForSEO equivalent: dataforseo_labs_google_domain_rank_overview Purpose: Domain-level organic traffic estimate, keyword count, domain score, and backlink summary in one call. Input: root_domain (e.g. competitor.com), country (default: us) Key metrics: domain_score, organic_monthly_traffic, organic_keywords, paid_keywords

DataForSEO equivalent: backlinks_summary Purpose: Domain authority, total backlinks, referring domains count. Input: root_domain Key metrics: domain_authority, total_backlinks, referring_domains

linking_domains

DataForSEO equivalent: backlinks_referring_domains Purpose: List of top domains linking to the target — shows where link equity comes from. Input: root_domain

domain_keywords

DataForSEO equivalent: dataforseo_labs_google_ranked_keywords Purpose: Keywords the domain ranks for, with position and estimated search volume. Input: root_domain, country Tip: Sort by traffic to find their highest-value keywords.

domain_top_pages

DataForSEO equivalent: dataforseo_labs_google_relevant_pages Purpose: Pages driving the most organic traffic — reveals content strategy. Input: root_domain, country

competitors (Ubersuggest)

DataForSEO equivalent: dataforseo_labs_google_competitors_domain Purpose: Find organic competitors by keyword overlap — may surface rivals the user hasn't considered. Input: root_domain, country


Quick Scan (per competitor)

B3

Deep Profile (per competitor)

B4

Multi-Competitor (3+ competitors, alternative stack)

B5

Error Handling (alternative stack)

IssueAction
WebFetch returns empty or an error pageTry https://www.[domain]/ variant; note if site is JS-rendered and flag in profile
Pricing page not found at common pathsCheck homepage nav HTML for pricing link before giving up
Dynamic content shows as "0" or blankJavaScript-rendered counters (headcount, client counts, live stats) return placeholder values via WebFetch — note the gap and flag as "JS-rendered, value unconfirmed" in the profile. Use Firecrawl browser mode if the value is critical.
Ubersuggest returns no data for domainDomain may be too new or too small — note "insufficient data" in profile
Ubersuggest tool not availableCheck MCP connection; fall back to WebFetch of competitor's SEO/press pages for qualitative signals only

Other references

From the same skill.

View all 2 →

Related skills

More from the same category.

View all