A MCP server for retrieving backlink information for any domain(SEO).
A MCP (Model Control Protocol) SEO tool service based on Ahrefs data. Includes features such as backlink analysis, keyword research, traffic estimation, and more.
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
@哥飞社群
.
🔍 Backlink Analysis
🎯 Keyword Research
📊 Traffic Analysis
🚀 Performance Optimization
pip install seo-mcp
Or use uv
:
uv pip install seo-mcp
Clone the repository:
git clone https://github.com/cnych/seo-mcp.git cd seo-mcp
Install dependencies:
pip install -e . # Or uv pip install -e .
Set the CapSolver API key:
export CAPSOLVER_API_KEY="your-capsolver-api-key"
You can run the service in the following ways:
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.
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 keywordcountry
(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 analyzecountry
(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 analyzecountry
(string): Country code (default: "us")Returns:
{ "difficulty": 45, "serp": [...], "related": [...] }
For development:
git clone https://github.com/cnych/seo-mcp.git cd seo-mcp uv sync
CAPSOLVER_API_KEY
environment variableMIT License - See LICENSE file
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!