Semrush MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NODE_ENV | No | Environment mode (default: development). | development |
| LOG_LEVEL | No | Logging level (default: info). | info |
| SEMRUSH_API_KEY | Yes | Your Semrush API key. | |
| API_CACHE_TTL_SECONDS | No | Cache TTL for API responses (default: 300). | 300 |
| API_RATE_LIMIT_PER_SECOND | No | Maximum API requests per second (default: 10). | 10 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| semrush_domain_overviewC | Get domain overview data including organic/paid search traffic, keywords, and rankings |
| semrush_domain_rankC | Get domain ranking in a specific database |
| semrush_domain_rank_historyC | Get historical ranking data for a domain |
| semrush_rank_differenceC | Get winners and losers — domains with biggest ranking changes |
| semrush_domain_organic_keywordsC | Get organic keywords for a specific domain |
| semrush_domain_paid_keywordsC | Get paid keywords for a specific domain |
| semrush_competitorsB | Get competitors for a specific domain in organic search |
| semrush_paid_competitorsB | Get paid search competitors for a domain |
| semrush_domain_ads_historyC | Get ads history for a domain over last 12 months |
| semrush_domain_organic_uniqueB | Get unique organic keywords grouped by URL for a domain |
| semrush_domain_adwords_uniqueC | Get unique paid ads for a domain |
| semrush_domain_shoppingC | Get PLA (Product Listing Ads) search keywords for a domain |
| semrush_domain_shopping_uniqueC | Get unique shopping ads for a domain |
| semrush_url_organicB | Get organic keywords for a specific URL |
| semrush_url_adwordsB | Get paid keywords for a specific URL |
| semrush_url_rankC | Get ranking data for a specific URL |
| semrush_url_rank_historyC | Get historical ranking data for a specific URL |
| semrush_url_ranksC | Get ranking data for a URL across all databases |
| semrush_subdomain_rankC | Get ranking data for a subdomain in a specific database |
| semrush_subdomain_ranksB | Get ranking data for a subdomain across all databases |
| semrush_subdomain_rank_historyB | Get historical ranking data for a subdomain |
| semrush_subdomain_organicC | Get organic keywords for a subdomain |
| semrush_subfolder_organicB | Get organic keywords for a subfolder (e.g. domain.com/blog/) |
| semrush_subfolder_adwordsC | Get paid keywords for a subfolder |
| semrush_subfolder_rankC | Get ranking data for a subfolder in a specific database |
| semrush_subfolder_ranksC | Get ranking data for a subfolder across all databases |
| semrush_subfolder_rank_historyB | Get historical ranking data for a subfolder |
| semrush_subfolder_organic_uniqueB | Get unique organic keywords grouped by URL for a subfolder |
| semrush_subfolder_adwords_uniqueC | Get unique paid ads for a subfolder |
| semrush_backlinksC | Get backlinks for a specific domain or URL |
| semrush_backlinks_domainsB | Get referring domains for a specific domain or URL |
| semrush_backlinks_overviewC | Get backlinks overview summary stats for a target |
| semrush_backlinks_pagesC | Get indexed pages with backlink data for a target |
| semrush_backlinks_anchorsC | Get anchor text distribution for a target |
| semrush_backlinks_tldC | Get referring domains by TLD for a target |
| semrush_backlinks_categoriesB | Get domain categories for a target based on backlinks |
| semrush_keyword_overviewC | Get overview data for a specific keyword |
| semrush_related_keywordsB | Get related keywords for a specific keyword |
| semrush_keyword_overview_single_dbC | Get detailed overview data for a keyword from a specific database (10 API units per line) |
| semrush_batch_keyword_overviewA | Analyze up to 100 keywords at once in a specific database (10 API units per line) |
| semrush_keyword_organic_resultsB | Get domains ranking in Google's top 100 for a keyword (10 API units per line) |
| semrush_keyword_paid_resultsC | Get domains in Google's paid search results for a keyword (20 API units per line) |
| semrush_keyword_ads_historyB | Get domains that bid on a keyword in the last 12 months (100 API units per line) |
| semrush_broad_match_keywordsB | Get broad matches and alternate search queries for a keyword (20 API units per line) |
| semrush_phrase_questionsC | Get question-based keywords related to a term (40 API units per line) |
| semrush_keyword_difficultyA | Get difficulty index for ranking in Google's top 10 (50 API units per line) |
| semrush_traffic_summaryC | Get traffic summary data for domains (requires .Trends API access) |
| semrush_traffic_sourcesB | Get traffic sources data for a domain (requires .Trends API access) |
| semrush_traffic_destinationsB | Get outbound traffic destinations for a domain (requires .Trends) |
| semrush_traffic_geoC | Get geographic distribution of traffic for a domain (requires .Trends) |
| semrush_traffic_subdomainsC | Get subdomain traffic distribution for a domain (requires .Trends) |
| semrush_traffic_subfoldersC | Get subfolder traffic distribution for a domain (requires .Trends) |
| semrush_traffic_top_pagesC | Get top pages by traffic for a domain (requires .Trends) |
| semrush_traffic_rankC | Get traffic rank for a domain (requires .Trends) |
| semrush_traffic_social_mediaC | Get social media traffic distribution for a domain (requires .Trends) |
| semrush_audience_insightsC | Get audience overlap and similarity data between domains (requires .Trends) |
| semrush_purchase_conversionA | Get purchase conversion rate for a domain (requires .Trends, desktop only) |
| semrush_household_distributionC | Get household size distribution of audience (requires .Trends) |
| semrush_income_distributionC | Get income distribution of audience (requires .Trends) |
| semrush_education_distributionB | Get education level distribution of audience (requires .Trends) |
| semrush_occupation_distributionC | Get occupation distribution of audience (requires .Trends) |
| semrush_audience_interestsC | Get audience interest categories for a domain (requires .Trends) |
| semrush_traffic_accuracyB | Get data accuracy score for traffic analytics (requires .Trends) |
| semrush_list_projectsA | List all Semrush projects |
| semrush_get_projectC | Get details of a specific Semrush project |
| semrush_create_projectC | Create a new Semrush project |
| semrush_update_projectA | Update a Semrush project name |
| semrush_delete_projectC | Delete a Semrush project |
| semrush_site_audit_infoC | Get site audit information for a project |
| semrush_site_audit_snapshotsC | List site audit snapshots for a project |
| semrush_site_audit_snapshot_detailC | Get detailed site audit snapshot data |
| semrush_site_audit_issuesC | Get issue metadata for site audit |
| semrush_site_audit_pagesC | List pages from a site audit |
| semrush_site_audit_page_detailB | Get detailed audit data for a specific page |
| semrush_site_audit_historyC | Get site audit crawl history |
| semrush_site_audit_launchC | Launch a new site audit crawl for a project |
| semrush_api_units_balanceA | Check the remaining API units balance |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/mrkooblu/semrush-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server