SEO MCP

SEO MCP

A MCP SEO tool service based on Ahrefs data, offering backlink analysis, keyword research, traffic estimation, and more.

Category
Visit Server

README

Add to Cursor Add to VS Code Add to Claude Add to ChatGPT Add to Codex Add to Gemini

SEO MCP

A MCP (Model Control Protocol) SEO tool service based on Ahrefs data. Includes features such as backlink analysis, keyword research, traffic estimation, and more.

中文

Overview

This service provides an API to retrieve SEO data from Ahrefs. It handles the entire process, including solving the CAPTCHA, authentication, and data retrieval. The results are cached to improve performance and reduce API costs.

This MCP service is for educational purposes only. Please do not misuse it. This project is inspired by @哥飞社群.

Features

  • 🔍 Backlink Analysis

    • Get detailed backlink data for any domain
    • View domain rating, anchor text, and link attributes
    • Filter educational and government domains
  • 🎯 Keyword Research

    • Generate keyword ideas from a seed keyword
    • Get keyword difficulty score
    • View search volume and trends
  • 📊 Traffic Analysis

    • Estimate website traffic
    • View traffic history and trends
    • Analyze popular pages and country distribution
    • Track keyword rankings
  • 🚀 Performance Optimization

    • Use CapSolver to automatically solve CAPTCHA
    • Response caching

Installation

Prerequisites

  • Python 3.10 or higher
  • CapSolver account and API key (register here)

Install from PyPI

pip install seo-mcp

Or use uv:

uv pip install seo-mcp

Manual Installation

  1. Clone the repository:

    git clone https://github.com/cnych/seo-mcp.git
    cd seo-mcp
    
  2. Install dependencies:

    pip install -e .
    # Or
    uv pip install -e .
    
  3. Set the CapSolver API key:

    export CAPSOLVER_API_KEY="your-capsolver-api-key"
    

Usage

Run the service

You can run the service in the following ways:

Use in Cursor IDE

In the Cursor settings, switch to the MCP tab, click the +Add new global MCP server button, and then input:

{
  "mcpServers": {
    "SEO MCP": {
      "command": "uvx",
      "args": ["--python", "3.10", "seo-mcp"],
      "env": {
        "CAPSOLVER_API_KEY": "CAP-xxxxxx"
      }
    }
  }
}

You can also create a .cursor/mcp.json file in the project root directory, with the same content.

API Reference

The service provides the following MCP tools:

get_backlinks_list(domain: str)

Get the backlinks of a domain.

Parameters:

  • domain (string): The domain to analyze (e.g. "example.com")

Returns:

{
  "overview": {
    "domainRating": 76,
    "backlinks": 1500,
    "refDomains": 300
  },
  "backlinks": [
    {
      "anchor": "Example link",
      "domainRating": 76,
      "title": "Page title",
      "urlFrom": "https://referringsite.com/page",
      "urlTo": "https://example.com/page",
      "edu": false,
      "gov": false
    }
  ]
}

keyword_generator(keyword: str, country: str = "us", search_engine: str = "Google")

Generate keyword ideas.

Parameters:

  • keyword (string): The seed keyword
  • country (string): Country code (default: "us")
  • search_engine (string): Search engine (default: "Google")

Returns:

[
  {
    "keyword": "Example keyword",
    "volume": 1000,
    "difficulty": 45,
    "cpc": 2.5
  }
]

get_traffic(domain_or_url: str, country: str = "None", mode: str = "subdomains")

Get the traffic estimation.

Parameters:

  • domain_or_url (string): The domain or URL to analyze
  • country (string): Country filter (default: "None")
  • mode (string): Analysis mode ("subdomains" or "exact")

Returns:

{
  "traffic_history": [...],
  "traffic": {
    "trafficMonthlyAvg": 50000,
    "costMontlyAvg": 25000
  },
  "top_pages": [...],
  "top_countries": [...],
  "top_keywords": [...]
}

keyword_difficulty(keyword: str, country: str = "us")

Get the keyword difficulty score.

Parameters:

  • keyword (string): The keyword to analyze
  • country (string): Country code (default: "us")

Returns:

{
  "difficulty": 45,
  "serp": [...],
  "related": [...]
}

Development

For development:

git clone https://github.com/cnych/seo-mcp.git
cd seo-mcp
uv sync

How it works

  1. The user sends a request through MCP
  2. The service uses CapSolver to solve the Cloudflare Turnstile CAPTCHA
  3. The service gets the authentication token from Ahrefs
  4. The service retrieves the requested SEO data
  5. The service processes and returns the formatted results

Troubleshooting

  • CapSolver API key error:Check the CAPSOLVER_API_KEY environment variable
  • Rate limiting:Reduce request frequency
  • No results:The domain may not be indexed by Ahrefs
  • Other issues:See GitHub repository

License

MIT License - See LICENSE file

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured