seo-backlinks
This server lets AI agents query backlink data, domain authority metrics, and expired domain listings powered by Common Crawl (4.3B backlinks, 262M hosts ranked).
check_domain: Retrieve Domain Rating (DR 0–100), harmonic centrality rank, PageRank, and total referring domains count for any domain.get_referring_domains: See which domains link to a target site, with anchor context and authority rank — useful for competitor research and link-building outreach.get_domain_info: Fetch metadata including page count, content categories, and structural information for on-page SEO audits.get_expired_domains: Discover freshly-expired domains that still carry real backlinks, useful for domain investors, PBN builders, and content marketers seeking aged domains with existing authority.get_top_hosts: Retrieve a ranked list of the most authoritative hosts across the web for niche benchmarking and competitive research.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@seo-backlinksWhat's the domain rating of nytimes.com?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
seo-backlinks MCP Server
MCP server that lets Claude, Cursor, Windsurf, Cline, and other AI agents check backlinks, domain rating, and expired-domain drops directly via seo-backlinks.net.
Built on Common Crawl data — 4.3B backlinks indexed, 262M hosts ranked.
What it does
Ask Claude:
"What's the Domain Rating of nytimes.com?"
"Show me the top 10 sites linking to stripe.com"
"List today's expired domains with backlinks under $50 potential"
"Compare backlink profiles of ahrefs.com vs semrush.com"
Claude will use this MCP server to query the seo-backlinks API and give you the answer inline.
Related MCP server: DataForSEO MCP Server
Tools
Tool | What it does |
| Get DR (0-100), rank, and referring domains count for any domain |
| List sites that link TO a target (competitor research, outreach) |
| Detailed metadata + structure for a domain |
| Today's freshly-expired domains that still have real backlinks |
| Top-ranked hosts across the web (from Common Crawl) |
Install (Claude Desktop)
Add to your claude_desktop_config.json:
{
"mcpServers": {
"seo-backlinks": {
"command": "npx",
"args": ["-y", "seo-backlinks-mcp"],
"env": {
"SEO_BACKLINKS_API_KEY": "your_api_key_here"
}
}
}
}Config file location:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Get a free API key: seo-backlinks.net/sign-up (3 checks/day free, paid plans start at $29/mo with 7-day trial).
Restart Claude Desktop after editing config.
Install (Cursor / Windsurf / Cline)
Same idea — add to your MCP settings. Point to the npx -y seo-backlinks-mcp command with SEO_BACKLINKS_API_KEY env var.
Install (local dev)
git clone https://github.com/mouhabmzibra-rgb/mcp-seo-backlinks
cd mcp-seo-backlinks
npm install
npm run build
SEO_BACKLINKS_API_KEY=your_key node dist/index.jsEnvironment variables
SEO_BACKLINKS_API_KEY— your API key (get free at seo-backlinks.net)SEO_BACKLINKS_API_BASE— override API endpoint (defaulthttps://api.seo-backlinks.net)
Pricing
The MCP server is MIT-licensed and free. The underlying seo-backlinks.net service:
Free tier — 3 domain checks per day (no card)
Starter — $29/mo, 1000 checks/mo, 7-day free trial
Pro — $99/mo, 10,000 checks/mo + full API, 7-day free trial
Support
Website: https://seo-backlinks.net
Issues: https://github.com/mouhabmzibra-rgb/mcp-seo-backlinks/issues
License
MIT
Available Tools
5 toolscheck_domainA
Check backlink authority for any domain. Returns Domain Rating (DR 0-100), harmonic centrality rank, PageRank, and total referring domains count. Data comes from Common Crawl (4.3B backlinks indexed, 262M hosts). Use this when the user asks about a site's backlink profile, authority, or wants to compare domains.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | The domain to check (e.g., 'nytimes.com', 'openai.com'). Omit protocol and 'www.' prefix — they're stripped automatically. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. It reveals the data source (Common Crawl) and indexed size, which adds transparency. However, it does not mention rate limits, caching behavior, or data freshness—information that would be helpful for a read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences: action, output, usage guidance. No wasted words, front-loaded with purpose. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Single required parameter with full schema coverage; output explained in description. No output schema needed as description lists returned fields. No omitted critical details for a simple authority check tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear description of domain parameter (stripping protocol/www). Description adds example values and clarifies cleanup behavior, exceeding what schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool checks backlink authority for a domain, listing specific metrics (DR, centrality, PageRank, referring domains). Distinguishes from siblings such as get_referring_domains (focused on backlinks) and get_domain_info (likely different info).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises usage when user asks about backlink profile, authority, or domain comparison. Does not provide when-not-to-use or alternatives, but the context is clear enough given the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_domain_infoA
Get detailed sitemap-style info for a domain: metadata, page count, content categories, and structural info. Useful for on-page SEO audits.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain to inspect |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It states the tool returns information (read operation) but does not explicitly disclose that it is non-destructive, safe, or any potential side effects. The behavior is implied but not detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first defines the action and output, second adds practical use case. No wasted words or repetition, well front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (1 parameter, no output schema), the description sufficiently covers purpose, output aspects, and use case. It could mention return format but is adequate for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameter 'domain' is described in the schema. The description adds context by explaining the output ('sitemap-style info') but does not add new meaning to the parameter beyond 'Domain to inspect'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get') and resource ('domain') and lists exact outputs (metadata, page count, content categories, structural info), clearly distinguishing it from siblings like check_domain and get_expired_domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear use case ('Useful for on-page SEO audits.'), giving context for when to use the tool. However, it lacks explicit guidance on when not to use it or mention of alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_expired_domainsA
Get today's freshly-expired domains that have real backlinks. Useful for domain investors, PBN builders, and content marketers hunting for aged domains with existing authority. Returns rank + backlink count for each drop.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date in YYYY-MM-DD format (default: latest available) | |
| limit | No | Max drops to return (default 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the output includes rank and backlink count, and implies the data is fresh ('today's', 'freshly-expired'). However, it does not cover rate limits, authentication needs, or what happens on empty results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with the main action front-loaded. Every sentence adds value, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description provides a good summary of output fields (rank + backlink count) and use cases. It covers the main functionality but could mention error handling or data freshness explicitly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description does not add additional meaning to the parameters beyond the schema, but it does hint at the date usage ('today's'). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves today's freshly-expired domains with real backlinks, specifying the exact resource and verb. It distinguishes from sibling tools (check_domain, get_domain_info, etc.) which focus on existing domains, not expired ones.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description identifies target users (domain investors, PBN builders) and use cases, providing clear context for when to use this tool. However, it does not explicitly state when not to use it or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_referring_domainsA
List domains that link TO the target domain, sorted by authority. Returns backlinks with anchor context and rank of each referring site. Use this when the user wants to see WHO links to a site, do competitor research, or find link-building opportunities.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of referring domains to return (default 10, max depends on plan) | |
| domain | Yes | Target domain (e.g., 'stripe.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states the tool lists domains sorted by authority and returns backlinks with anchor context and rank. However, it omits details on error handling, data freshness, pagination, or required authentication. This is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states core function and sorting, second provides use cases. Front-loaded, no redundant information, every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description explains return values (backlinks with anchor context and rank). Lacks details on pagination and error handling, but covers essentials. Sibling tools are distinct, so role is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. Description adds minimal value beyond schema: limit default and plan-dependent max are already in schema; domain example is also in schema. No additional parameter context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list domains that link TO the target domain' and resource 'referring domains', with sorting by authority. It also explains output (backlinks with anchor context and rank), distinguishing it from siblings like check_domain or get_domain_info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use: 'when the user wants to see WHO links to a site, do competitor research, or find link-building opportunities.' No when-not-to-use or alternatives, but context is clear and siblings are non-overlapping.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_top_hostsA
Get the top-ranked hosts across the entire web (from Common Crawl). Useful for research, comparison baselines, or finding top players in a niche.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of top hosts to return (default 25, max 1000) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It only mentions the data source (Common Crawl) but does not disclose any behavioral traits such as rate limits, caching, return format, or whether the list is precomputed or dynamic. This is insufficient for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first states the purpose, the second adds usage guidance. No extraneous information, front-loaded, and highly readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (single parameter, no output schema), the description is adequate for basic understanding but lacks behavioral details and return format, which would be expected given the absence of annotations. It is minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single 'limit' parameter with description including default and max. The tool description adds no additional semantics beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'top-ranked hosts across the entire web (from Common Crawl)'. It distinguishes from sibling tools like check_domain, get_domain_info, etc., which focus on specific domains rather than a ranked list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage context ('useful for research, comparison baselines, or finding top players in a niche') but does not explicitly state when not to use or contrast with sibling tools. Guidance is implicit rather than comparative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v0.1.0- First observed
check_domain - First observed
get_domain_info - First observed
get_expired_domains - First observed
get_referring_domains - First observed
get_top_hosts
TDQS
Scored across 5 tools
Each tool targets a distinct aspect of SEO backlinks: domain authority, site info, expired domains, linking domains, and top hosts. No overlap in purpose.
Most tools use 'get_', but 'check_domain' breaks the pattern with 'check_'. Otherwise consistent snake_case.
Five tools is appropriate for a focused SEO backlinks server, covering core functionality without being excessive or sparse.
Missing page-level backlink analysis, comparison tools, or monitoring capabilities. Basic domain-level checks are covered, but gaps exist for deeper SEO workflows.
Maintenance
Related MCP Connectors
- VibeSEOOAuthdev.vibeseo
SEO research, audits, backlinks, GSC, and content workflow tools for AI agents.
Enables AI assistants to natively interact with the Serpzilla link-building marketplace.
SEO & marketing toolkit for AI agents: GA4, Search Console, AdSense, GTM, PageSpeed, Trends.
SEO Backlinks MCP — backlink intelligence via DataForSEO Backlinks API
Related MCP Servers
- AlicenseDqualityDmaintenanceEnables LLMs to interact with DataForSEO and other SEO APIs through natural language, allowing for keyword research, SERP analysis, backlink analysis, and local SEO tasks.1007,607 npm82MIT
- AlicenseCqualityNot gradedmaintenanceEnables AI assistants to interact with DataForSEO APIs and obtain SEO data including SERP results, keyword research, on-page metrics, backlink analysis, and domain analytics through a standardized interface.767,607 npm-
- AlicenseNot gradedqualityFmaintenanceConnects AI assistants to SEO APIs for backlinks analysis, keyword research, and traffic analysis.7 npm28MIT

Babbar MCP Serverofficial
AlicenseNot gradedqualityDmaintenanceIntegrates with the Babbar.tech SEO API to enable AI assistants to perform advanced SEO analysis, competitor research, backlink auditing, and content gap identification.2MIT