semrush-mcp
If you are the rightful owner of semrush-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Semrush MCP Server provides access to Semrush API functionality for AI assistants, enabling comprehensive domain and keyword analytics.
Semrush MCP Server
An MCP (Model Context Protocol) server that provides access to Semrush API functionality for AI assistants.
Features
- Domain Overview: Get comprehensive domain analytics including organic traffic, keywords, and authority score
- Keyword Research: Analyze keyword metrics including search volume, difficulty, and CPC
- Organic Search Analysis: Retrieve organic search keywords and rankings for any domain
- Paid Search Analysis: Get Google Ads keywords and PPC data for domains
- Backlinks Overview: Get backlink metrics and analysis for domains or specific URLs
- Competitor Research: Identify and analyze organic competitors
- Related Keywords: Discover related keywords and search suggestions
Prerequisites
- Node.js 18+
- A Semrush API key (get one at https://www.semrush.com/api/)
Installation
- Clone this repository or create a new directory:
mkdir semrush-mcp
cd semrush-mcp
- Create the following directory structure:
semrush-mcp/
āāā src/
ā āāā index.ts
āāā package.json
āāā tsconfig.json
āāā .env.example
āāā .gitignore
āāā README.md
- Save the provided files in their respective locations
Then manually:
npm install
npm run build
Configuration
Set your Semrush API key as an environment variable:
export SEMRUSH_API_KEY="your-api-key-here"
Or create a .env
file:
SEMRUSH_API_KEY=your-api-key-here
Usage with Claude Desktop
Add the server to your Claude Desktop configuration file (claude_desktop_config.json
):
{
"mcpServers": {
"semrush": {
"command": "node",
"args": ["/path/to/semrush-mcp-server/dist/index.js"],
"env": {
"SEMRUSH_API_KEY": "your-api-key-here"
}
}
}
}
Available Tools
1. domain_overview
Get comprehensive domain analytics.
Parameters:
domain
(required): Domain to analyze (e.g., "example.com")database
(optional): Database code (default: "us")
2. keyword_overview
Get keyword metrics and data.
Parameters:
phrase
(required): Keyword phrase to analyzedatabase
(optional): Database code (default: "us")
3. domain_organic_search
Get organic search keywords for a domain.
Parameters:
domain
(required): Domain to analyzedatabase
(optional): Database code (default: "us")limit
(optional): Number of results (default: 10)offset
(optional): Offset for pagination (default: 0)
4. backlinks_overview
Get backlinks overview for a domain or URL.
Parameters:
target
(required): Domain or URL to analyzetarget_type
(optional): "domain" or "url" (default: "domain")
5. competitor_research
Find organic competitors for a domain.
Parameters:
domain
(required): Domain to analyzedatabase
(optional): Database code (default: "us")limit
(optional): Number of competitors (default: 10)
6. domain_adwords
Get paid search (Google Ads) keywords for a domain.
Parameters:
domain
(required): Domain to analyzedatabase
(optional): Database code (default: "us")limit
(optional): Number of results (default: 10)
7. related_keywords
Get related keywords and suggestions for a seed keyword.
Parameters:
phrase
(required): Seed keyword phrasedatabase
(optional): Database code (default: "us")limit
(optional): Number of results (default: 10)
Database Codes
Common database codes for different regions:
us
- United Statesuk
- United Kingdomca
- Canadaau
- Australiade
- Germanyfr
- Francees
- Spainit
- Italybr
- Brazilin
- India
Development
To run the server in development mode:
npm run dev
Example Usage in Claude
Once configured, you can use natural language to access Semrush data:
- "Analyze the domain example.com using Semrush"
- "What's the search volume for 'digital marketing' keyword?"
- "Show me the top organic keywords for techcrunch.com"
- "Find competitors for shopify.com"
- "Get backlink data for https://metehan.ai/blog/semrush-mcp/"
- "What related keywords can you find for 'content marketing'?"
- "Show me the Google Ads keywords that amazon.com is bidding on"
Troubleshooting
- API Key Issues: Ensure your SEMRUSH_API_KEY environment variable is set correctly
- Rate Limits: Semrush API has rate limits. Check your plan's limits
- Database Codes: Make sure you're using valid database codes for your target regions
License
MIT