Skip to main content
Glama

Semrush MCP Server

by metehan777

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

Related MCP server: SEO AI Assistant

Prerequisites

  • Node.js 18+

  • A Semrush API key (get one at https://www.semrush.com/api/)

Installation

  1. Clone this repository or create a new directory:

mkdir semrush-mcp cd semrush-mcp
  1. Create the following directory structure:

semrush-mcp/ ├── src/ │ └── index.ts ├── package.json ├── tsconfig.json ├── .env.example ├── .gitignore └── README.md
  1. 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 analyze

  • database (optional): Database code (default: "us")

3. domain_organic_search

Get organic search keywords for a domain.

Parameters:

  • domain (required): Domain to analyze

  • database (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 analyze

  • target_type (optional): "domain" or "url" (default: "domain")

5. competitor_research

Find organic competitors for a domain.

Parameters:

  • domain (required): Domain to analyze

  • database (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 analyze

  • database (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 phrase

  • database (optional): Database code (default: "us")

  • limit (optional): Number of results (default: 10)

Database Codes

Common database codes for different regions:

  • us - United States

  • uk - United Kingdom

  • ca - Canada

  • au - Australia

  • de - Germany

  • fr - France

  • es - Spain

  • it - Italy

  • br - Brazil

  • in - 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

  1. API Key Issues: Ensure your SEMRUSH_API_KEY environment variable is set correctly

  2. Rate Limits: Semrush API has rate limits. Check your plan's limits

  3. Database Codes: Make sure you're using valid database codes for your target regions

License

MIT

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/metehan777/semrush-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server