SEOLinkMap Private MCP Server and Agentic SEO

Statistical SEO intelligence for AI agents. Access correlation coefficients, p-values, and SERP-specific analysis through natural language.

Important: The data this server returns is computed and trusted. The language model reading it can still change the meaning in the retelling. Verify any recommendation against the underlying SEOLinkMap data before changing a live site.

Quick Start

Connecting takes one URL and one sign-in. Your MCP URL is on the SEOLinkMap dashboard, top right, and every client below takes that same URL.

Prerequisites:
  • Active SEOLinkMap account
  • Your unique MCP URL (found in dashboard, top right)
  • MCP-compatible client (see integrations below)

Find Your MCP URL

Log into SEOLinkMap, open the Dashboard, and copy the MCP URL from the top right corner. It looks like this:

https://seolinkmap.com/private-mcp/{YOUR-UNIQUE-UUID}

Connect Your Client

The server speaks MCP over HTTP with OAuth, so any client that can add a remote MCP server can add this one. The first call from a new client opens a SEOLinkMap sign-in in your browser.

Claude.ai

Add the server as a connector in Claude.ai:

  1. Open Claude.ai Settings
  2. Go to Connectors
  3. Click "Add custom connector"
  4. Paste your SEOLinkMap MCP URL: https://seolinkmap.com/private-mcp/{YOUR_UUID}
  5. Complete the SEOLinkMap sign-in

Claude Desktop

Claude Desktop shares connectors with Claude.ai. Add the server under Settings, then Connectors, and it appears in the desktop app on the same account.

Claude Code

Add from the terminal:

claude mcp add --transport http seolinkmap https://seolinkmap.com/private-mcp/{YOUR_UUID}

How To Do SEO With Claude Code walks the full loop -- reading the audit, editing the source, and remeasuring the live page.

Claude API

The Messages API connects to remote MCP servers through the MCP connector. Name the server once in mcp_servers and expose its tools with an mcp_toolset entry:

import anthropic
client = anthropic.Anthropic()
response = client.beta.messages.create(
    model="claude-opus-5",
    max_tokens=16000,
    betas=["mcp-client-2025-11-20"],
    mcp_servers=[{
        "type": "url",
        "url": "https://seolinkmap.com/private-mcp/{YOUR_UUID}",
        "name": "seolinkmap",
        "authorization_token": "{OAUTH_ACCESS_TOKEN}"
    }],
    tools=[{
        "type": "mcp_toolset",
        "mcp_server_name": "seolinkmap"
    }],
    messages=[{
        "role": "user",
        "content": "Switch to client-website.com and tell me what to work on next"
    }]
)

The access token comes from completing the SEOLinkMap OAuth flow once from your application.

VS Code with GitHub Copilot

Add to your VS Code MCP configuration:

{
  "mcpServers": {
    "seolinkmap": {
      "type": "http",
      "url": "https://seolinkmap.com/private-mcp/{YOUR_UUID}"
    }
  }
}

Cursor IDE

Configure in Cursor's MCP settings:

{
  "mcpServers": {
    "seolinkmap": {
      "type": "http",
      "url": "https://seolinkmap.com/private-mcp/{YOUR_UUID}",
      "description": "SEOLinkMap statistical SEO analysis"
    }
  }
}

Windsurf IDE

Add to Windsurf MCP configuration:

{
  "mcpServers": {
    "seolinkmap": {
      "type": "http",
      "url": "https://seolinkmap.com/private-mcp/{YOUR_UUID}",
      "name": "SEOLinkMap"
    }
  }
}

Other Clients And Custom Code

Any MCP client library that supports the HTTP transport and OAuth connects to the same URL. There is nothing SEOLinkMap-specific to implement: the client discovers the tools over the standard protocol and your sign-in scopes what they can see.

Protocol Support: Your SEOLinkMap MCP server supports HTTP transport, making it compatible with any client that can make HTTP requests and handle OAuth authentication.

What The Server Does

It puts every dataset SEOLinkMap holds on a project in front of the agent, and it puts the platform's own prioritised to-do list first. An agent that starts with get_next_actions gets the same ordered answer the dashboard shows, and every other tool drills into one item on that list.

The read side covers the crawl, the audit, internal links, Search Console rankings, Analytics traffic, keyword data, the change log, competitor research statistics, backlink prospects and AI Overview tracking. The write side records what was done to the site and moves outreach through its states, so the work an agent does lands on the client's report.

Paid operations queue rather than run. A crawl, a layout recalculation, a competitor research order, a prospecting order or a new tracked prompt all wait for a human to approve them on the dashboard or hand the agent an approval code. Prices are on the pricing page.

Example Agent Conversations

Complete SEO Audit

You: "Switch to client-website.com and show me the top 3 things to fix"

Agent Response: Switches project, reads the prioritised list from get_next_actions, and relays its first three items with the audit pages and correlation ranges behind each one.

Statistical Validation

You: "What does my competitor research say about title length for 'SEO tools'?"

Agent Response: Returns the correlation coefficient, p-value and confidence interval for title length on that keyword's SERP, the observed range across the ranking pages, and which of the four resource allocation buckets the factor landed in.

Content Optimization

You: "Analyze this draft title against the research targets: 'Complete SEO Tools Analysis Guide'"

Agent Response: Measures the draft with the same code that measured the ranking pages and places it beside their ranges, metric by metric.

Available Tools

The tools come in families, and each family below opens with what it lets an agent do. Read the opening paragraph of each and skip the cards unless you are building an agent and need the parameters.

Where To Start

Three tools frame every session. One returns the prioritised to-do list, one returns the accuracy notice an agent should carry into any SEO advice, and one describes the platform and the account behind the connection.

get_next_actions

The platform's prioritised to-do list for the active project, returned as prose in the order it should be acted on. Answers "how is this project doing" and "what do I do next" in every wording.

Parameters: None
Requires: an active project, so call switch_project first
Use Case: "What should I work on for this site?"

llm_seo_warning

SEOLinkMap's standing accuracy notice: models can state invented facts, and SEO changes affect a live site, so verify recommendations against the data first.

Parameters: None
Use Case: Read at the start of an SEO conversation and before acting on a recommendation

get_platform_info

What the platform can do, the agency context behind this connection, and the features available to it

Optional: includeStats (usage statistics and project counts)
Use Case: "What can SEOLinkMap do for me?"

Projects And Account

Data is scoped per project, and an agency can hold fifty or more, so the agent lists projects and the user picks one before anything else runs. New projects queue for approval like any other paid operation.

list_projects

All projects on the authenticated agency

Parameters: None
Use Case: "Show me all my client websites"

switch_project

Set the active project for every later call. The user chooses; the agent does not pick one on its own.

Required: identifier (project ID, name, or domain)
Use Case: "Switch to client-website.com"

create_new_project

Queue a new target website for addition to the account

Required: website (URL with scheme), name (short and distinct)
Optional: notes (for the approver)
Use Case: "Add new-client.com as a project"

account_info

Credits and the status of queued operations

Parameters: None
Use Case: "How many credits do I have?"

Site Audit

The audit is the last scheduled pass over the crawl, grouped by category and issue. The summary shows only issues with findings, and the pages tool lists what each issue touches.

get_audit_summary

Every audit category and issue that has findings, with counts

Parameters: None
Use Case: "What is wrong with this site?"

get_audit_issue_pages

Paginated pages affected by one audit issue

Required: issue_type (from get_audit_summary, e.g. title_too_short)
Optional: limit (default 100, max 500), offset
Use Case: "Which pages have short titles?"

Page data comes from the stored crawl. The list tool finds pages, the page tool details one, and the two link tools walk the internal link graph in either direction.

list_pages

Pages in the active project with basic metrics

Optional: limit (default 10, max 100), offset
Use Case: "Show me all pages on this site"

get_page

Detailed data for one page

Required: identifier (numeric ID, URL pattern, or title keywords)
Use Case: "Analyze the homepage"

Internal links pointing to one page

Required: page_id
Use Case: "What pages link to my homepage?"

Internal links from one page

Required: page_id
Use Case: "What does this page link to?"

Content Analysis

These measure text or a live URL with the same code that measured the pages in the correlation sets, so a draft can be placed beside the ranking pages metric by metric. The URL tool also audits the page live against the scheduled audit's rules, which is how an agent confirms a fix landed.

analyze_text_content

Readability, word count, headings, keyword analysis and structure for any text. Strip markup first.

Required: content
Optional: target_keyword, include_ngrams (default true)
Use Case: "Analyze this article for SEO factors"

analyze_url_content

Fetch and measure a live page on the active project host, and audit it against the current rules. Nothing is stored.

Required: url (on the active project host exactly)
Optional: target_keyword, include_ngrams, refresh_robots
Use Case: "Does https://client.com/new-page still fail the audit?"

clean_ai_chars

Strip hidden Unicode, odd spaces, special dashes and smart quotes from text

Required: text
Use Case: Clean generated copy before it is published

Rankings, Traffic And Keywords

Rankings come from Google Search Console and traffic from Google Analytics, each connected on the project's settings page. Keyword data draws on both plus the crawl and any competitor research.

get_ranking_data

Search Console rankings and clicks for pages and keywords

Optional: page_id, days (default 30, max 90), limit (default 10, max 500), offset, aggregated (default true)
Requires: Google Search Console integration
Use Case: "How are my rankings trending?"

get_traffic_data

Google Analytics traffic for pages

Optional: page_id, days (default 30, max 90)
Requires: Google Analytics integration
Use Case: "Which pages get the most traffic?"

get_keyword_data

Keyword information and associations for the active project

Optional: page_id, limit (default 10, max 500)
Use Case: "What keywords does this page rank for?"

The Change Log

The change log is what ranking and traffic movements get explained against. The crawler logs on-page edits it detects between crawls. The agent logs what the crawler cannot see: links won, redirects, schema, sitemap and robots work, a Business Profile change, or the date of a Google update.

get_seo_actions

What was done to the site over a period, newest first. Link churn from the crawler is excluded by default.

Optional: start_date, end_date, days (default 30, max 730), page_id, url, scope (all, page, site), action_type, include_link_churn, limit (default 25, max 500), offset
Use Case: "What changed in the weeks before rankings dropped?"

log_seo_action

Record one change actually made to the site. Do not log on-page edits the crawler will detect on its own.

Required: action_type
Optional: page_id or url (page-level types), details (old_value and new_value where there is a before and after), notes
Use Case: "Log the backlink we got from example.org today"

Competitor Research

Competitor research measures the pages that rank for one keyword and reports which factors correlate with position on that SERP. The tools return the written action plan, the correlation statistics with their four resource allocation buckets, and the backlink picture. Two tiers exist, standard and premium; the pricing page has what each includes.

list_competitor_researches

Competitor research orders on the active project

Parameters: None
Use Case: "What competitor research do I have?"

get_competitor_research_action_plan

The written reports from one order, and with a keyword_id the measured verdict for that keyword: build a page, fix the one you have, or earn links to it

Required: research_id
Optional: keyword_id (call once per keyword you intend to discuss)
Use Case: "What does the research say I should do for 'seo tools'?"

get_serp_correlations

Correlation data for one keyword's SERP, with each factor classified CRITICAL, OPPORTUNITY, GAMBLE or AVOID

Optional: research_id, keyword (required when the research has several), metric_name
Returns: Correlation coefficients, p-values, confidence intervals, observed ranges
Requires: Competitor research on the keyword
Use Case: "What factors correlate with rankings for keyword X?"

Backlinks from Search Console referring domains and competitor research, with guidance

Optional: page_id, limit (default 10, max 500), include_guidance (default true)
Use Case: "Where do my links come from?"

queue_competitor_research

Order research on a list of keywords. Queues for approval.

Required: keywords (array), tier (standard or premium)
Optional: notes (for the approver)
Use Case: "Research competitors for these 5 keywords"

The Backlink Prospector reads dozens of SERPs per keyword and returns the sites worth writing to, each with a contact route and a drafted pitch. Its tools cover read, write, order and detailed reports: list orders, work the prospects as a queue, record what came of each outreach, and order more keywords. Sending happens in the user's own mail tool, never here.

Completed prospecting orders with keyword and prospect counts

Parameters: None
Use Case: "What prospecting have I run?"

Every prospect in one order as a work queue: domain, viability, contact route and outreach state

Required: order_id
Optional: status (not_contacted, contacted, responded_yes, responded_no, link_secured, dead_lead), followup_due, viable_only (default true), include_pitch, limit (default 25, max 200), offset
Use Case: "Who have we not contacted yet?"

One order in depth. With a keyword_id, each prospect's reasoning, contact route and drafted outreach email.

Required: order_id
Optional: keyword_id (from completed_keywords), viable_only
Use Case: "Show me the prospects for 'seo tools' with their pitches"

Record the outcome of outreach to one prospect: move its state, add notes, or save the rewritten pitch

Required: prospect_id
Optional: contact_status, user_notes (up to 5000 characters), suggested_email_pitch
Use Case: "Mark example.org as contacted"

Order prospecting on a list of keywords. Queues for approval.

Required: keywords (array)
Optional: notes (for the approver)
Use Case: "Find link prospects for these 3 keywords"

AI Visibility

AI Visibility tracks, every day, whether Google shows an AI Overview for a prompt and whether this project is cited in it. Its tools cover write, read and order: list the tracked prompts, read the verdict and the citation rate with its confidence interval, and queue a new prompt, which waits for human approval like every other paid operation.

list_ai_visibility

Prompts this project tracks, with state, observation count and monthly cost

Optional: limit (default 25, max 200), offset
Use Case: "What prompts are we tracking?"

get_ai_visibility_results

The verdict for one prompt, then the evidence: Overview rate and citation rate over the trailing 30 days, each with a 95% Wilson interval

Required: prompt_id (from list_ai_visibility)
Optional: days (per-day captures to include, default 7, max 90, 0 for statistics only)
Use Case: "How often are we cited for 'best seo tool for agencies'?"

queue_ai_visibility

Start daily tracking of one prompt. Queues for approval.

Required: prompt (question-shaped, 4 to 12 words), prompt_type (unbranded, comparative, problem, branded)
Optional: country (ISO alpha-2, default US), state (US only), notes
Use Case: "Track 'which seo tool shows internal links' from the US"

Crawls And Approvals

A crawl re-fetches the site; a layout recalculation recomputes PageRank and the link map from the pages already crawled at half the credit cost. Both queue with an estimated cost, and both wait for a human. The human approves on the dashboard, or hands the agent an approval code to submit.

queue_crawl

Queue an updated crawl and analysis. Returns queue ID and estimated cost.

Optional: notes (for the approver)
Use Case: "Update my site analysis"

queue_layout

Queue a PageRank and layout recalculation without re-fetching. The right call when links changed but content did not.

Optional: notes (for the approver)
Use Case: "Recalculate the link map after the nav change"

approval_code

Submit an approval code to activate a queued operation

Required: code (from the user)
Use Case: Complete a paid operation after the user approves it

Knowledge Base

The SEOLinkMap article corpus is searchable from the same connection, so an agent can cite the documentation for a feature it is using.

Search the SEOLinkMap articles

Required: query
Use Case: "How does SEOLinkMap classify a factor as CRITICAL?"

fetch

The full text of one article by ID

Required: id (from search)
Use Case: Read the article a search result pointed at

Authentication And Permissions

SEOLinkMap is the OAuth provider for its own MCP server. The client sends you to a SEOLinkMap sign-in, and you sign in however you sign in to SEOLinkMap: Google, LinkedIn, GitHub, or a SEOLinkMap username and password. The token the client receives is scoped to your account.

The agent sees only the projects your account can see and only the project it has switched to. It cannot edit your website. Anything that costs credits queues for approval, and the approval is yours, on the dashboard or by handing the agent a code.

Errors

Errors come back as instructions rather than codes. When a call cannot proceed, the response says what blocked it and what to do next in plain language written for the model reading it: no project selected, so list projects and switch first; no ranking data, so connect Search Console on the settings page; an order saved but short of credits, and where credits are bought.

That means an agent rarely needs error handling of its own. It reads the sentence and follows it.

Why SERP-Specific Statistics

Generic SEO advice is a global average, and the SERP you are competing on is a local forecast. The correlation data here is measured on the ten pages ranking for one keyword, with outliers removed and the relationship tested for significance, so it can and does contradict the average from one keyword to the next.

Each factor lands in one of four buckets. CRITICAL is what every ranking page already satisfies. OPPORTUNITY is where the ranking pages vary and the SERP says the factor matters. GAMBLE is a relationship too thin to confirm. AVOID has no measured relationship with rank. SEO Resource Allocation explains how the buckets are derived.

Support

Connection and tool problems go to SEOLinkMap support. Account and billing live on the dashboard, and missing ranking or traffic data is almost always the Google integration on the project's settings page.

What Does the Math Say
About Your Site?

Finding out is free and takes minutes.

Recent Articles

What Do I Do Next? Get Your SEO Steps in Plain English

Stop deciding what to work on. Every dashboard answers what to do next, in order, in plain English, from your own data.

Analytics and Reporting

Three charts put what you changed on the same timeline as what Google did about it: a calendar heat map, a page quadrant and a trend line with action pins.

Keyword Management and Research

The keyword management interface sits under the Keywords tab in the visualization, where you assign keywords to pages with volume and a 0 to 100 difficulty.

Complete SEOLinkMap Master Workflow

Crawl and fix the audit, research one keyword, build AI visibility, then prospect backlinks. The SEOLinkMap workflow in order.

Managing Page Relationships (internal links)

Create internal links by drawing on the LinkMap or entering them in the Relationships tab, with link text, planned links and PageRank.

Sharing Your LinkMap Projects

Share a read-only LinkMap with clients: custom URL, required expiry, and toggles for the audit report and snapshot timeline.

Popular Articles

Connect Your AI Chat Tool to MCP Servers

Paste one URL into Claude, ChatGPT, or VS Code to connect an MCP server. Current setup steps for each platform.

SEOLinkMap MCP Server Complete Guide

Every user gets this futuristic webpage free to chat with your own data, or wire it into your agentic workflow.

SEO Report Builder

Drag widgets onto a page, click each one to set it up, and send your client a link that shows current numbers every time they open it. Free with every account.

Analytics and Reporting

Three charts put what you changed on the same timeline as what Google did about it: a calendar heat map, a page quadrant and a trend line with action pins.

Agency Team Roles And Permissions

Five roles, three permission layers, and no per-seat fee on any tier. How to set up and run an SEOLinkMap agency team.

Project Management Guide

A project comes before the visualization and the optimization tools, and its domain setting decides which version of your pages LinkMap analyzes.

Other Categories

Chat with your own SEO data
Connect Claude, ChatGPT, or any AI chat to your private MCP server and ask "what should I fix first?" It answers from your data - crawls, rankings, competitor research, backlinks - and can even queue new analysis for you.

Wire it into your agentic system and it can re-measure a page while your agents work on it - change, measure, repeat.

Free and paid tiers have your own private MCP server alongside the dashboard you'd expect.

No account yet? The public server below answers anything about features, pricing, or support - and will pull a real SERP correlation analysis, methodology and raw data included.
https://seolinkmap.com/mcp