100+ integrations are ready to connect to your AI.Connect your first MCP

SpyFu MCP server for your AI

Size up a competitor in one question, see the keywords they beat you on, read the ads they have tested over the years, find keywords worth targeting, and keep your tracked projects and outreach up to date.

PopMCPSpyFu

Give me a full picture of northwindshoes.com: its search traffic, ad spend, top competitors, best keywords and top pages

Supported SpyFu tools

Every endpoint SpyFu documents across its research, account and My SpyFu project APIs, with the everyday tools loaded by default, the rest one search away, and the price of each research call stated up front.

167 tools in the full catalog: 100 read and 67 write. 39 load by default, and the rest are found with tool search.

spyfu_get_keyword_serp_analysis

Returns detailed search engine results page (SERP) analysis for a specific keyword, showing all domains ranking in positions 1-100.

spyfu_get_live_seo_stats

Returns live, aggregated SEO metrics for a given domain, subdomain, path, or URL.

spyfu_list_lost_ranks_keywords

Returns keywords where a domain's organic search ranking positions declined compared to the previous month.

spyfu_list_most_valuable_keywords

Returns keywords that generate the highest organic click volume for a domain.

spyfu_list_newly_ranked_keywords

Returns keywords where a domain recently achieved rankings in the top 100 organic search results.

spyfu_list_organic_outranking_keywords

Compare two domains' organic rankings in one call.

spyfu_list_seo_keywords

Unified endpoint for SEO keyword analyses.

spyfu_list_top_pages

Returns top organic pages for a domain, subdomain, path, or full URL.

spyfu_add_project_keywords

Add new keywords to a project.

spyfu_get_keyword_tracking

Get list of keyword rank tracking data for a project.

spyfu_get_keyword_usage

Get current keyword usage and maximum allowed per user.

spyfu_list_project_keywords

Get list of keywords for a project.

spyfu_create_project

Create a new project.

spyfu_get_keyword_information

Returns comprehensive keyword metrics and intelligence for a list of exact keywords.

spyfu_get_project_overview

One My SpyFu project at a glance: its domains, keyword groups and labels, plus how much of the account's keyword allowance is used.

spyfu_list_keyword_expansions

Performs 5 types of keyword research via keywordSearchType parameter: PhraseMatch (thematic similarities), Questions (interrogative queries), AlsoBuysAdsFor (co-targeted PPC terms), AlsoRanksFor (co-ranking SEO terms), Transactions (commercial intent).

spyfu_list_projects

Returns list of projects belonging to user.

spyfu_list_related_keywords

Returns thematically related keywords that share similar categories and themes with your seed keyword.

spyfu_research_keyword

Everything about one keyword: volume, difficulty and cost, who ranks for it, related keywords, and who has advertised on it.

spyfu_analyze_domain

One site at a glance: latest SEO and PPC stats, top SEO and PPC competitors, most valuable keywords and highest traffic pages.

spyfu_find_matching_domains

Discovers domains matching wildcard patterns and performance criteria for lead generation and competitive prospecting.

spyfu_get_bulk_domain_stats

Returns SEO and PPC metrics for multiple domains in one request.

spyfu_get_domain_stats_history

Returns comprehensive domain statistics for all available historical periods.

spyfu_get_latest_domain_stats

Returns the most recent domain statistics available in SpyFu's database.

spyfu_list_project_domains

Get list of domains for a project.

spyfu_compare_domains

Two sites head to head: latest stats for both, keywords where the competitor ranks above you, and keywords where you rank above them.

spyfu_get_api_spend

What the SpyFu API has cost so far in a month: rows returned and cost in total and per endpoint.

spyfu_get_api_usage_for_month

Returns stats for API usage.

spyfu_list_combined_top_competitors

Returns the top competitors for a domain combining both paid search (PPC) and organic search (SEO) data.

spyfu_list_domain_ad_history

Returns historical ad variations and copy for a specific domain.

spyfu_list_keyword_ad_history

Returns historical advertisers and ad variations for a specific keyword.

spyfu_list_top_ppc_competitors

Returns the top paid search (PPC) competitors for a domain based on shared keyword advertising overlap.

spyfu_list_top_seo_competitors

Returns the top organic search (SEO) competitors for a domain based on shared keyword ranking overlap.

spyfu_get_domain_ranking_history

Returns historical organic ranking data for a domain across multiple keywords within a specified date range.

spyfu_list_domain_paid_serps

Returns paid search results (ads) that a domain appears in across Google search.

spyfu_list_most_successful_ppc_keywords

Returns the most successful paid search keywords for a domain based on search volume and competitive strength.

spyfu_list_new_ppc_keywords

Returns newly acquired paid search keywords that a domain has started advertising on for the first time.

spyfu_list_competing_ppc_keywords

Returns paid search keywords shared across multiple competitor domains.

spyfu_list_competing_seo_keywords

Returns organic search keywords shared across multiple competitor domains.

spyfu_add_contact_phone

Add a phone for a contact.

spyfu_add_contact_social_profile

Add a social media profile for a contact.

spyfu_add_contact_website

Add a website to a contact.

spyfu_bulk_delete_contacts

Delete a list of contacts from a project.

spyfu_confirm_discovered_domain_contact

Confirm a Suggested Contact for a Domain.

spyfu_confirm_discovered_url_contact

Confirm a Suggested Contact for a Link.

spyfu_create_contact

Create a contact.

spyfu_create_domain_contact

Create a contact associated with a domain.

spyfu_create_url_contact

Create a contact associated with a link.

spyfu_delete_contact

Delete a contact.

spyfu_delete_contact_email

Delete an email from a contact.

spyfu_delete_contact_phone

Delete a phone from a contact.

spyfu_delete_contact_social_profile

Delete a social media profile from a contact.

spyfu_delete_contact_website

Delete a website from a contact.

spyfu_get_contact

Get Contact Details (Confirmed Contact).

spyfu_list_contact_phones

Get Contact Phones (Confirmed Contact).

spyfu_list_contact_related_links

Get Contact Related Website (Confirmed Contact).

spyfu_list_contact_social_profiles

Get Contact Social Media (Confirmed Contact).

spyfu_list_contact_websites

Get Contact Websites (Confirmed Contact).

spyfu_list_contacts

Get all distinct Confirmed Contacts for an userId.

spyfu_list_discovered_domain_contacts

Get a list of Discovered Contacts for a Domain.

spyfu_list_discovered_url_contacts

Get a list of Discovered Contacts for a Link.

spyfu_list_domain_contacts

Get a list of Confirmed Contacts for a Domain.

spyfu_list_url_contacts

Get a list of Confirmed Contacts for a Link.

spyfu_move_contact_to_project

Migrate contact to a different project.

spyfu_update_contact

Edit a contacts details.

spyfu_update_contact_phone

Edit a phone for a contact.

spyfu_update_contact_rating

Update the rating for a confirmed contact.

spyfu_update_contact_website

Edit a website for a contact.

spyfu_list_gained_clicks_keywords

Returns keywords where a domain, path, subdomain, page or full URL experienced increased organic clicks compared to the previous month.

spyfu_list_gained_ranks_keywords

Returns keywords where a domain, path, subdomain, page or full URL improved its organic search ranking positions compared to the previous month.

spyfu_list_just_fell_off_keywords

Returns keywords where a domain dropped from the first page (top 10 results) compared to the previous month.

spyfu_list_just_made_it_keywords

Returns keywords where a domain achieved first page rankings (top 10 results) this month after not ranking there previously.

spyfu_list_keywords_where_they_just_surpassed_you

Returns keywords where the query domain recently surpassed the comparison domain in organic search rankings.

spyfu_list_keywords_where_they_outrank_you

Returns keywords where the query domain currently outranks the comparison domain in organic search results.

spyfu_list_lost_clicks_keywords

Returns keywords where a domain experienced decreased organic clicks compared to the previous month.

spyfu_list_most_traffic_top_pages

Returns the pages that generate the most organic traffic for a domain.

spyfu_list_new_top_pages

Returns pages that have recently started generating significant organic traffic for a domain.

spyfu_clone_keyword_group

Clone a keyword group under a new name.

spyfu_create_keyword_group

Add new keyword group to a project.

spyfu_create_project_with_keywords

Create a new project with pre-populated keywords.

spyfu_delete_keyword_group

Remove keyword group from a project.

spyfu_delete_project_keywords

Remove keywords from a project.

spyfu_export_keyword_group

Export all keywords attached to a group.

spyfu_export_project_keywords

Export project keywords as a CSV.

spyfu_get_keyword_group_details

Get overview of keyword group metrics.

spyfu_import_project_keywords

Bulk import keywords with associated groups and/or labels.

spyfu_import_project_keywords_with_ids

Bulk import keywords with associated groups and/or labels.

spyfu_list_keyword_groups

Get list of groups for a project.

spyfu_list_performance_keyword_groups

Get groups of top performance keywords based on domain.

spyfu_move_keyword_group_to_project

Move keyword group from one project to another.

spyfu_move_keywords_to_group

Move keywords from one group to another in the same project.

spyfu_move_keywords_to_project

Move keywords from one project to another.

spyfu_remove_keywords_from_group

Remove keywords from a group.

spyfu_rename_keyword_group

Rename keyword group.

spyfu_undo_delete_project_keywords

Undo a recent keyword deletion.

spyfu_delete_project

Deletes an existing project.

spyfu_find_projects_by_keywords

Find projects that include these terms.

spyfu_find_projects_by_urls

Find projects that include these urls.

spyfu_get_keyword_information_bulk

Returns comprehensive keyword metrics and intelligence for a large list of exact keywords via POST request.

spyfu_import_outreach_items

Import list of line-separated domains/links into a project.

spyfu_list_also_buys_ads_for_keywords

Returns related keywords that top advertisers also buy when targeting your seed keyword.

spyfu_list_also_ranks_for_keywords

Returns related keywords that top-ranking domains for your seed keyword also rank for organically.

spyfu_list_question_keywords

Returns question-based keywords related to your seed topic to inspire content creation and FAQ development.

spyfu_list_transactional_keywords

Returns high-intent keywords with strong buying signals related to your seed topic.

spyfu_move_domain_to_project

Move a domain and all linked data from one project to another.

spyfu_update_project

Updates an existing project.

spyfu_add_project_url

Attach a new url to a project domain.

spyfu_bulk_delete_project_urls

Removes a list of links from a project.

spyfu_create_contact_note

Create a note for a contact.

spyfu_create_contact_task

Create a task for a contact.

spyfu_create_domain_note

Create a note for a domain.

spyfu_create_domain_task

Create a task for a domain.

spyfu_create_url_note

Create a note for a link.

spyfu_create_url_task

Create a task for an url.

spyfu_delete_contact_note

Delete a note for a contact.

spyfu_delete_domain_note

Delete a note for a domain or url.

spyfu_delete_project_url

Detach an existing url from a project domain.

spyfu_delete_task

Delete a task.

spyfu_export_project_urls

Export project urls as a CSV.

spyfu_get_project_url

Get specific url from a project domain.

spyfu_list_contact_notes

Gets a list of notes for a contact.

spyfu_list_contact_tasks

Get tasks for a contact.

spyfu_list_domain_notes

Gets a list of notes for a domain.

spyfu_list_domain_tasks

Get tasks for a domain.

spyfu_list_project_urls

Get list of urls for a project domain.

spyfu_list_url_contexts

Gets a list of associated contexts for an url.

spyfu_list_url_notes

Gets a list of notes for a link.

spyfu_list_url_tasks

Get tasks for an url.

spyfu_update_task

Edit a task.

spyfu_update_url_rating

Updates an url's personalized rating.

spyfu_bulk_delete_project_domains

Removes a list of domains and all attached data from a project.

spyfu_create_contact_event

Create a contact event for a contact.

spyfu_create_domain_contact_event

Create a contact event for a domain.

spyfu_create_url_contact_event

Create a contact event for a URL.

spyfu_delete_contact_event

Delete a contact event.

spyfu_delete_project_domain

Removes a domain and all attached data from a project.

spyfu_export_project_domains

Export project domains as a CSV.

spyfu_get_domain_stats_for_month

Returns domain statistics for a specific month and year.

spyfu_get_project_domain

Get specific domain from a project.

spyfu_list_contact_events

Gets a list of contact event for a contact.

spyfu_list_domain_active_dates

Returns a chronological list of dates for which SpyFu has collected domain statistics data.

spyfu_list_domain_contact_events

Gets a list of contact events for a domain.

spyfu_list_domain_contexts

Gets a list of associated contexts for a domain.

spyfu_list_url_contact_events

Gets a list of contact events for a URL.

spyfu_update_domain_rating

Updates a domain's personalized rating.

spyfu_add_keyword_labels

Add new keyword labels to a project.

spyfu_delete_keyword_labels

Remove keyword labels from a project.

spyfu_export_keyword_label

Export all keywords attached to a label.

spyfu_list_keyword_labels

Get list of keyword labels for a project.

spyfu_remove_keyword_label

Remove a label from a list of keywords.

spyfu_rename_keyword_label

Rename keyword label.

spyfu_get_api_usage_by_day

Returns stats for API usage.

spyfu_get_api_usage_by_method

Returns stats for API usage.

spyfu_list_contact_activity

Get activity history for a contact.

spyfu_list_domain_activity

Get activity history for a domain.

spyfu_list_domain_ad_history_by_date

Returns one row per keyword, search date, and ad variation for a domain.

spyfu_list_keyword_ad_history_with_stats

Returns historical ad variations and advertiser performance statistics for a specific keyword.

spyfu_list_recent_searches

Returns list of recent searches by user.

spyfu_list_relationship_statuses

Get list of project relationship status types.

spyfu_list_url_activity

Get activity history for an url.

spyfu_update_contact_relationship

Update the user's relationship status for a contact.

spyfu_update_domain_relationship

Update the user's relationship status for a project domain.

spyfu_update_url_relationship

Update the user's relationship status for a project url.

spyfu_get_domain_keyword_rankings

Returns historical organic ranking data for a specific domain across multiple specified keywords within a date range.

spyfu_get_keyword_domain_rankings

Returns historical organic ranking data for a specific keyword across multiple specified domains within a date range.

spyfu_list_tags

Gets a list of tags for a domain (domainId), url (domainId and urlId), or contact (contactId).

spyfu_update_tags

Updates a list of tags for a domain (domainId), url (domainId and urlId), or contact (contactId).

Connect SpyFu to Claude, ChatGPT and Claude Code

Credentials off one SpyFu screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.

In SpyFu open Account Settings, then API Usage, and copy the value labelled Base 64 Key. Paste it into PopMCP. That one value holds your API ID and Secret Key, so there is nothing else to fill in.

SpyFu Base 64 Key••••••••••••3f7a
ConnectionVerified

Then just ask for the work

  • “Give me a full picture of northwindshoes.com: its search traffic, ad spend, top competitors, best keywords and top pages”

    • analyze_domain
  • “Which keywords does rivalshoes.com rank above us on, and where are we ahead of them?”

    • compare_domains
    • list_organic_outranking_keywords
  • “Find keywords both of our main rivals rank for that we don't rank for”

    • list_top_seo_competitors
    • list_competing_seo_keywords
  • “Show the ads rivalshoes.com has run on trail running shoes, and which keywords they started buying recently”

    • list_domain_ad_history
    • list_new_ppc_keywords
  • “Research the keyword trail running shoes: volume, difficulty, who ranks, who advertises and related ideas”

    • research_keyword
    • list_keyword_expansions
  • “Which of our keywords lost rankings this month, and how much has the SpyFu API cost us so far?”

    • list_lost_ranks_keywords
    • get_api_spend
  • “Add these keywords to our main SpyFu project, then show what the project is tracking”

    • list_projects
    • add_project_keywords
    • get_project_overview

Use SpyFu from the assistant you already open

One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.

Claude DesktopCustom connector

Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.

Claude WebCustom connector

The same endpoint, registered in the browser. Nothing to install on the machine you are working from.

ChatGPTCustom connector

Register PopMCP as a custom connector, then let ChatGPT read and update the account.

CodexDesktop & CLI

Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.

OpenCodeCoding agent

Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.

ZCodeDesktop app

Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.

SpyFu MCP server questions

What teams ask before putting SpyFu behind an AI client.

What does PopMCP need to connect SpyFu?

One value: the Base 64 Key. In SpyFu open Account Settings, then API Usage, and copy the value with that label. It holds your API ID and Secret Key together, so PopMCP has everything it needs from one paste. The Secret Key on its own is not enough.

Does using SpyFu through PopMCP cost money?

Research calls do, at SpyFu's own prices: SpyFu bills per row returned, and each tool's description states the price per 1,000 rows. Above the API credit included with your plan, SpyFu charges your payment method. Pages default to a small size, a very large page must be confirmed first, and the AI can check the month's spend at any time. PopMCP does not add a charge for SpyFu's API. Connecting and My SpyFu project calls have no per-row charge.

Which SpyFu plans can connect?

SpyFu's pricing guide says API access is included with its Pro + AI and Team/Agency plans. Without API access on the plan, SpyFu refuses the key and PopMCP says so when you connect.

Can the AI change anything in my SpyFu account?

Only in My SpyFu, and only if you allow writes. Research data is read-only by nature. With writes allowed, the AI can manage projects, tracked keywords, keyword groups and labels, link prospects, contacts, notes, tags and tasks. Read-only connections hide all of those tools, and deletions take effect straight away.

Can I look up sites that aren't mine?

Yes, that is what SpyFu is for. Its research data covers competitors' rankings, keywords and ad history, not just your own site. No access to the other site is needed.

Which countries does it cover?

Each research tool takes a country code that picks the Google market, such as US, UK or DE. The default is the US. The list of markets comes from SpyFu and varies slightly by endpoint, and the tool's description shows the codes it accepts.

Do I have to run or host the SpyFu MCP server myself?

No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.

Which AI clients can use this MCP server?

Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, Claude Code, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.

How do I connect SpyFu to Claude Code?

Connect SpyFu in PopMCP first, then run claude mcp add --transport http popmcp https://app.popmcp.com/mcp in a terminal. Inside Claude Code, run /mcp and sign in to PopMCP in the browser window it opens, ticking SpyFu on the consent screen. The SpyFu tools are then available in that session, and no SpyFu credential is stored on your machine.

Why do only 39 of the 167 tools load by default?

Loading 167 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 39-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.

What is the difference between a tool and a trigger?

A tool is something your AI calls, and there are 167 here. A trigger is an event PopMCP watches for on its own. SpyFu has no triggers yet, so everything on this page happens when your AI calls a tool.

Connect SpyFu to your AI in minutes

Launch a hosted MCP endpoint for SpyFu, keep tool access under control, and start testing real workflow prompts right away.

Connect your first MCP