mcpField
S
Semrush MCP Server

Semrush MCP Server

Local
github.com/mrkoobluBusiness & Marketing39Updated 7w ago

About Semrush MCP Server

Semrush MCP is a community-maintained, self-hosted tool that provides Semrush API data through an MCP server and a semrush command line tool. It suits SEO and marketing analysts and coding agents that can run shell commands.

Key features

  1. 01Domain and URL analytics
  2. 02Keyword research and difficulty scoring
  3. 03Backlink analysis
  4. 04Traffic and audience analytics (requires .Trends)
  5. 05Projects and Site Audit management

Use cases

  1. 01Querying keyword and competitor data from an AI assistant
  2. 02Running Semrush queries from a terminal or coding agent
  3. 03Analyzing a domain's backlinks and rank changes

MCP support

This project is an MCP server that exposes about 77 tools over stdio, covering domain, keyword, backlink and Site Audit data.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Semrush MCP

MCP Server & CLI for keyword research, domain analytics, backlinks, traffic analysis, and competitive intelligence.

A community-maintained, self-hosted tool that provides Semrush API data through two entry points: an MCP server for AI assistants like Claude Desktop and Cursor, and a semrush CLI for direct terminal use — ideal for developers and AI coding agents like Claude Code that can run shell commands on your behalf. One install gives you both.

Quick Start

npm install -g github:mrkooblu/semrush-mcp
export SEMRUSH_API_KEY=your_api_key_here

After installing, you have two commands:

  • semrush — CLI for terminal and agent use
  • semrush-mcp — MCP server on stdio for AI clients

CLI:

semrush domain semrush.com           # Domain overview
semrush kw "seo tools"               # Keyword overview
semrush backlinks semrush.com        # Backlink analysis

MCP server (add to your AI client config):

{
  "mcpServers": {
    "semrush-mcp": {
      "command": "npx",
      "args": ["-y", "github:mrkooblu/semrush-mcp"],
      "env": {
        "SEMRUSH_API_KEY": "your-api-key"
      }
    }
  }
}

Features

  • Domain Analytics — Overview, rank tracking, rank history, organic/paid keywords, competitors, ads history, shopping, unique pages
  • URL Analytics — Organic/paid keywords, rank, rank history per URL
  • Subdomain Analytics — Rank, rank history, organic keywords per subdomain
  • Subfolder Analytics — Organic/paid keywords, rank, rank history, unique pages per subfolder
  • Keyword Research — Overview, related keywords, broad match, questions, SERP organic/paid results, ads history, difficulty
  • Backlink Analysis — Backlinks, referring domains, overview, pages, anchors, TLD distribution, categories
  • Traffic Analytics — Summary, sources, destinations, geo, subdomains, subfolders, top pages, rank, social media (requires .Trends)
  • Audience Intelligence — Audience insights, demographics, purchase conversion, interests (requires .Trends)
  • Projects API — List, create, update, delete projects
  • Site Audit — Audit info, snapshots, issues, pages, history, launch crawls
  • Keyword Gap Analysis — Compare two domains' keyword profiles side by side (CLI only)
  • API Units Balance — Check remaining API credits

All capabilities are available through both the MCP server (77 tools) and the CLI.

Installation

Install globally from GitHub
npm install -g github:mrkooblu/semrush-mcp
Or clone and link locally
git clone https://github.com/mrkooblu/semrush-mcp.git
cd semrush-mcp
npm install && npm run build && npm link

Set your API key in the environment or a .env file:

export SEMRUSH_API_KEY=your_api_key_here

MCP Setup

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "semrush-mcp": {
      "command": "npx",
      "args": ["-y", "github:mrkooblu/semrush-mcp"],
      "env": {
        "SEMRUSH_API_KEY": "your-api-key"
      }
    }
  }
}
Cursor
  1. Go to Settings > MCP Servers > Add Server
  2. Configure:
    • Name: Semrush MCP
    • Type: command
    • Command: node
    • Arguments: /path/to/semrush-mcp/dist/index.js
    • Environment Variables: SEMRUSH_API_KEY=your_api_key
Other MCP Clients

Any MCP-compatible client can connect using stdio transport. Point it at semrush-mcp or node dist/index.js with the SEMRUSH_API_KEY environment variable set.

CLI Usage

The semrush CLI is built for both human use and AI coding agents like Claude Code that can invoke shell commands directly. All commands support -d, --database <db> (country code, default: us), -l, --limit <n>, and -f, --format <text|json>.

Quick Overview

Auto-detects keyword vs domain:

semrush q "seo tools"              # Keyword overview
semrush q example.com              # Domain overview
Domain Analytics
semrush domain semrush.com                    # Domain overview
semrush d example.com --organic -l 30         # Organic keywords
semrush d example.com --paid -l 20            # Paid keywords
semrush d example.com --competitors -l 10     # Competitors
Keyword Research
semrush kw "content marketing"                # Basic overview
semrush kw "seo" --related -l 20              # Related keywords
semrush kw "marketing" --questions -l 10      # Question-based keywords
semrush kw "email marketing" --broad -l 15    # Broad match keywords
semrush kw "seo tools" --organic -l 10        # SERP organic results
semrush kw "ppc software" --paid -l 10        # SERP paid results
Keyword Difficulty
semrush kd "seo" "content marketing" "link building"
Backlinks
semrush bl example.com                        # Backlink overview
semrush bl example.com --domains -l 20        # Referring domains
Traffic Analytics

Requires .Trends API subscription.

semrush traffic example.com                   # Traffic summary
semrush traffic example.com --sources         # Traffic sources
Keyword Gap Analysis
semrush gaps mysite.com competitor.com -l 50
API Units Balance
semrush units

Available MCP Tools

Domain Analytics (13 tools)
ToolDescription
semrush_domain_overviewDomain overview — traffic, keywords, rankings across all databases
semrush_domain_rankDomain rank in a specific database
semrush_domain_rank_historyHistorical rank data for a domain
semrush_rank_differenceDomains with biggest rank changes
semrush_domain_organic_keywordsOrganic keywords for a domain
semrush_domain_paid_keywordsPaid keywords for a domain
semrush_competitorsOrganic search competitors
semrush_paid_competitorsPaid search competitors
semrush_domain_ads_historyDomain's ad history over time
semrush_domain_organic_uniqueUnique organic pages for a domain
semrush_domain_adwords_uniqueUnique paid ad pages for a domain
semrush_domain_shoppingShopping/PLA keywords for a domain
semrush_domain_shopping_uniqueUnique shopping ad pages
URL Analytics (5 tools)
ToolDescription
semrush_url_organicOrganic keywords for a specific URL
semrush_url_adwordsPaid keywords for a specific URL
semrush_url_rankRank data for a specific URL
semrush_url_rank_historyHistorical rank data for a URL
semrush_url_ranksRank across all databases for a URL
Subdomain Analytics (4 tools)
ToolDescription
semrush_subdomain_rankRank data for a subdomain
semrush_subdomain_ranksRank across all databases for a subdomain
semrush_subdomain_rank_historyHistorical rank data for a subdomain
semrush_subdomain_organicOrganic keywords for a subdomain
Subfolder Analytics (7 tools)
ToolDescription
semrush_subfolder_organicOrganic keywords for a subfolder
semrush_subfolder_adwordsPaid keywords for a subfolder
semrush_subfolder_rankRank data for a subfolder
semrush_subfolder_ranksRank across all databases for a subfolder
semrush_subfolder_rank_historyHistorical rank data for a subfolder
semrush_subfolder_organic_uniqueUnique organic pages in a subfolder
semrush_subfolder_adwords_uniqueUnique paid ad pages in a subfolder
Backlinks (7 tools)
ToolDescription
semrush_backlinksBacklinks for a domain/URL
semrush_backlinks_domainsReferring domains
semrush_backlinks_overviewBacklinks summary stats
semrush_backlinks_pagesPages with most backlinks
semrush_backlinks_anchorsAnchor text distribution
semrush_backlinks_tldTLD distribution of backlinks
semrush_backlinks_categoriesCategory distribution of backlinks
Keyword Research (10 tools)
ToolDescription
semrush_keyword_overviewKeyword overview across all databases
semrush_keyword_overview_single_dbDetailed keyword data for specific database
semrush_batch_keyword_overviewAnalyze up to 100 keywords at once
semrush_related_keywordsRelated keyword discovery
semrush_broad_match_keywordsBroad match / alternate queries
semrush_phrase_questionsQuestion-based keywords
semrush_keyword_organic_resultsDomains ranking in organic results
semrush_keyword_paid_resultsDomains in paid search results
semrush_keyword_ads_history12-month history of domains bidding on a keyword
semrush_keyword_difficultyDifficulty index for ranking in top 10
Traffic & Audience (17 tools, requires .Trends subscription)
ToolDescription
semrush_traffic_summaryTraffic summary for domains
semrush_traffic_sourcesTraffic sources breakdown
semrush_traffic_destinationsWhere traffic goes after visiting
semrush_traffic_geoGeographic distribution of traffic
semrush_traffic_subdomainsTraffic by subdomain
semrush_traffic_subfoldersTraffic by subfolder
semrush_traffic_top_pagesHighest-traffic pages
semrush_traffic_rankTraffic rank over time
semrush_traffic_social_mediaSocial media traffic breakdown
semrush_audience_insightsAudience overlap between domains
semrush_purchase_conversionPurchase conversion metrics
semrush_household_distributionHousehold size demographics
semrush_income_distributionIncome demographics
semrush_education_distributionEducation level demographics
semrush_occupation_distributionOccupation demographics
semrush_audience_interestsAudience interest categories
semrush_traffic_accuracyTraffic data accuracy estimates
Projects & Site Audit (13 tools)
ToolDescription
semrush_list_projectsList all projects
semrush_get_projectGet project details
semrush_create_projectCreate a new project
semrush_update_projectUpdate project settings
semrush_delete_projectDelete a project
semrush_site_audit_infoSite audit configuration and status
semrush_site_audit_snapshotsList audit snapshots
semrush_site_audit_snapshot_detailGet snapshot details
semrush_site_audit_issuesAudit issue metadata
semrush_site_audit_pagesList audited pages
semrush_site_audit_page_detailPage-level audit details
semrush_site_audit_historyAudit history
semrush_site_audit_launchLaunch a new audit crawl
Utility (1 tool)
ToolDescription
semrush_api_units_balanceCheck API units balance
CLI-Only Commands
CLI CommandDescription
semrush gaps <d1> <d2>Keyword gap analysis between two domains

Configuration

Requires SEMRUSH_API_KEY in environment or .env file.

VariableDefaultDescription
SEMRUSH_API_KEY(required)Your Semrush API key
API_CACHE_TTL_SECONDS300Cache TTL for API responses
API_RATE_LIMIT_PER_SECOND10Maximum API requests per second
NODE_ENVdevelopmentEnvironment mode
LOG_LEVELinfoLogging level
API Units Consumption

API requests consume units from your Semrush account. Different reports have different costs:

ToolAPI Units per Line
semrush_keyword_overview10
semrush_keyword_overview_single_db10
semrush_batch_keyword_overview10
semrush_keyword_organic_results10
semrush_keyword_paid_results20
semrush_broad_match_keywords20
semrush_related_keywords40
semrush_phrase_questions40
semrush_keyword_difficulty50
semrush_keyword_ads_history100

Check your balance anytime with semrush units or the semrush_api_units_balance MCP tool.

Development

git clone https://github.com/mrkooblu/semrush-mcp.git
cd semrush-mcp
npm install
cp .env.example .env   # add your SEMRUSH_API_KEY
npm run dev              # MCP server in dev mode (tsx, hot reload)
npm run build            # Compile TypeScript to dist/
npm test                 # Run all tests
npm run test:unit        # Unit tests only (no API key needed)
npm run test:integration # Integration tests (requires SEMRUSH_API_KEY)
npm run lint             # ESLint
npm run format           # Prettier
Git Hooks

This project uses Husky for git hooks:

  • Pre-commit: lint-staged, ESLint, TypeScript type-check, unit tests, secret detection
  • Pre-push: uncommitted changes check, full build, integration tests (requires SEMRUSH_API_KEY)

Why Self-Host?

This self-hosted tool is for users who need more control:

  • Full control over API calls and caching — configure TTL, inspect raw responses
  • Custom rate limiting — set your own requests-per-second limits
  • Self-hosted / air-gapped — runs entirely on your machine, no external MCP endpoint
  • CLI for agents — AI coding agents can invoke semrush directly without MCP
  • Open source — MIT licensed, fork and customize to your needs

Security

  • Never share your Semrush API key publicly
  • API key provides access to your API units balance
  • Exposing credentials can lead to unauthorized API usage and unexpected charges

Hosted Alternative

Semrush also offers an official hosted MCP connector at https://mcp.semrush.com/v1/mcp — no setup required, authenticate with your Semrush account. See Getting Started with MCP for details.

This is a personal project and not an official Semrush product.

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.