Skip to main content
Glama
Semrush MCP Server

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: SE Ranking MCP Server

Prerequisites

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")

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)

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)

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

Available Tools

7 tools
competitor_researchC

Find organic competitors for a domain

Inputs: domain (required), database, limit.

domain_adwordsC

Get paid search (Google Ads) keywords for a domain

Inputs: domain (required), database, limit.

domain_overviewC

Get domain analytics overview including organic traffic, keywords, and authority score

Inputs: domain (required), database.

keyword_overviewC

Get keyword metrics including search volume, difficulty, and CPC

Inputs: phrase (required), database.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap. For example, backlinks_overview focuses on backlink analysis, competitor_research identifies competitors, domain_adwords and domain_organic_search target paid vs. organic keywords respectively, domain_overview provides general analytics, keyword_overview gives keyword metrics, and related_keywords offers keyword suggestions. An agent can easily differentiate them.

    Naming Consistency5/5

    All tools follow a consistent snake_case pattern with descriptive names that clearly indicate their function. The naming convention is uniform across all tools, such as domain_adwords, domain_organic_search, and keyword_overview, making them predictable and easy to understand.

    Tool Count5/5

    With 7 tools, the server is well-scoped for SEO and domain analysis. Each tool serves a specific and necessary function within this domain, such as backlink analysis, competitor research, keyword metrics, and domain overviews, ensuring a balanced and focused toolset.

    Completeness4/5

    The toolset covers core SEO workflows comprehensively, including backlinks, competitors, keywords, and domain analytics. A minor gap exists in the lack of tools for updating or managing data (e.g., adding custom keywords or tracking changes), but agents can work around this with the provided read-only operations.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      C
      quality
      Not graded
      maintenance
      Enables 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.
      76
      10,722 npm
      -
    • A
      license
      C
      quality
      D
      maintenance
      Connects AI assistants to SE Ranking's SEO and project management APIs to enable natural language queries for keyword research, backlink analysis, and technical audits. It supports comprehensive tasks including competitive analysis, domain traffic tracking, and AI search visibility monitoring.
      100
      1
      Apache 2.0
    • A
      license
      Not graded
      quality
      D
      maintenance
      Connects AI assistants to SEO APIs for backlinks analysis, keyword research, and traffic analysis.
      6 npm
      28
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Integrates with the Babbar.tech SEO API to enable AI assistants to perform advanced SEO analysis, competitor research, backlink auditing, and content gap identification.
      2
      MIT