Semust

Semust SEO Tools MCP

Documentation

Semust MCP Server

Version 1.4.0 Python 3.10+ License: MIT

Ask Claude about your SEO and advertising data in plain language. This MCP server connects Claude Desktop (and Cursor) to your Semust account — keywords, pages, traffic trends, SEO reports, Google Analytics, Google Ads, Yandex Metrica, Bing Webmaster, and more.

"Show me my top keywords for the last month"

"Which pages are losing traffic?"

"How is my organic traffic compared to last month?"

"Which landing pages convert best?"

"How are my Google Ads campaigns performing?"


How It Works

You ask Claude a question
        |
Claude Desktop (on your machine)
        |
   MCP Server (on your machine) ---- Your API key stays here, never sent to Claude
        |
   Semust API (semust.com)
        |
   Your Google Search Console, Analytics & Ads data
        |
   Results sent back to Claude
        |
Claude answers with SEO insights

Your API key never leaves your machine. Claude only sees the SEO data, not your credentials.


What You Can Ask

Once set up, just talk to Claude naturally:

Traffic & Performance

  • "How is my site performing this month?"
  • "Show me daily traffic for the last 30 days"
  • "Is my traffic growing or declining?"

Keywords

  • "What are my top 20 keywords?"
  • "Which keywords are on page 2? Those are my quick wins"
  • "Find long-tail keyword opportunities"

Google Analytics

  • "Where does my traffic come from?"
  • "How is organic vs paid traffic performing?"
  • "Which landing pages convert best?"
  • "Show me mobile vs desktop breakdown"
  • "Which pages have the worst engagement?"

Rank Tracker

  • "Where do I rank for my keywords?"
  • "Which keywords gained or lost positions?"
  • "How many keywords are on page 1?"

AI Rank Tracker

  • "Am I appearing in Google's AI Overviews?"
  • "Which competitors are cited in AI answers?"

Indexing Monitor

  • "Are all my pages indexed?"
  • "What's my indexing health score?"

Yandex Metrica

  • "How is my Yandex traffic?"
  • "What are people searching on Yandex?"
  • "Show me traffic sources from Yandex"

Bing Webmaster

  • "How are my pages doing on Bing?"
  • "Show me Bing crawl issues"
  • "What are my Bing backlinks?"

Google Ads

  • "How are my campaigns performing?"
  • "How much am I spending and what's my ROAS?"
  • "What search terms trigger my ads?"
  • "Show me ad performance by country"
  • "Which conversion types am I getting?"

Content Analysis

  • "Which pages are losing traffic? I need to refresh them"
  • "Show me my worst performing content"
  • "Do I have keyword cannibalization issues?"

Reports

  • "Generate a monthly SEO report for May 2026"
  • "Which keywords gained or lost traffic this month?"
  • "Find low CTR keywords I should optimize"
  • "Give me a complete SEO + analytics report"

Content Ideas

  • "What questions are people asking that lead to my site?"
  • "Show me long-tail keywords with 4+ words"

Quick Start

Step 1: Get Your API Key

Log in to Semust > Settings > API Key > Copy.

Make sure you have at least one project with Google Search Console connected.

Step 2: Download & Install

Option A: Download ZIP (easiest)

Download ZIP > Extract to a folder you'll remember.

Option B: Git Clone

git clone https://github.com/semust/semust-mcp.git

Then install dependencies:

cd semust-mcp
pip install -r requirements.txt

Step 3: Configure Claude Desktop

Find your Claude Desktop config file:

Windows (Microsoft Store version)

Open File Explorer and paste this in the address bar:

%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\

Open claude_desktop_config.json

Windows (Direct install)

Open File Explorer and paste this in the address bar:

%APPDATA%\Claude\

Open claude_desktop_config.json

Mac
~/Library/Application Support/Claude/claude_desktop_config.json

Add mcpServers to the file. If the file already has content, merge this into the existing JSON:

{
  "mcpServers": {
    "semust": {
      "command": "python",
      "args": ["C:\\full\\path\\to\\semust-mcp\\semust_mcp.py"],
      "env": {
        "SEMUST_API_KEY": "your-api-key-here",
        "SEMUST_BASE_URL": "https://api.semust.com/v1/mcp"
      },
      "alwaysAllow": [
        "list_projects",
        "get_keywords", "get_pages", "get_performance",
        "report_cannibalization", "report_monthly_summary", "report_long_tail",
        "report_winner_loser", "report_questions", "report_content_decay",
        "report_striking_distance", "report_low_ctr", "report_thin_content",
        "ga_get_overview", "ga_get_traffic_sources", "ga_get_pages",
        "ga_get_geo", "ga_get_devices", "ga_get_key_events",
        "ga_report_traffic_trends", "ga_report_landing_page_performance",
        "ga_report_channel_comparison", "ga_report_engagement_analysis",
        "gads_get_campaigns", "gads_get_daily_metrics", "gads_get_geo",
        "gads_get_devices", "gads_get_search_terms",
        "gads_report_performance_overview", "gads_report_spend_analysis",
        "gads_report_conversion_breakdown",
        "rank_get_keywords", "rank_get_overview", "rank_get_history",
        "rank_report_gainers_losers", "rank_report_distribution",
        "ai_rank_get_overview", "ai_rank_get_keywords", "ai_rank_get_domains",
        "indexing_get_status", "indexing_get_history",
        "ym_get_overview", "ym_get_traffic", "ym_get_pages",
        "ym_get_geo", "ym_get_devices", "ym_get_search_phrases",
        "bing_get_query_stats", "bing_get_page_stats", "bing_get_crawl_stats",
        "bing_get_crawl_issues", "bing_get_rank_traffic", "bing_get_link_counts",
        "bing_get_keyword_stats", "bing_get_url_traffic", "bing_get_url_links"
      ]
    }
  }
}

Important: Replace the path with the actual location of semust_mcp.py on your machine.

Windows: Use double backslashes: C:\\Users\\you\\semust-mcp\\semust_mcp.py

If python doesn't work: Use the full Python path instead, e.g.: C:\\Users\\you\\AppData\\Local\\Programs\\Python\\Python312\\python.exe

alwaysAllow: This list lets Claude use Semust tools without asking for permission each time. All tools are read-only and safe to auto-approve. Remove this field if you prefer to approve each tool call manually.

Quit Claude Desktop completely (right-click system tray icon > Quit) and reopen it.

Step 4: Verify

In a new Claude chat, look for the tools icon (hammer/wrench) near the text input. Click it — you should see "semust-mcp" with 56 tools.

Type: "Show me my projects" — Claude should list your Semust projects.


Security

WhatWhereWho can see it
Your API key.env file or Claude Desktop config on your machineOnly you
MCP serverRuns as a local process on your machineOnly you
SEO data (keywords, pages, etc.)Sent from Semust API to Claude via MCPYou and Claude
Your API keyNever sent to Claude or AnthropicNo one else
  • The MCP server runs locally on your computer — it is not a cloud service
  • Your Semust API key is used only for direct requests from your machine to api.semust.com
  • Claude sees the SEO data responses but never your API key or authentication credentials
  • The .env file is in .gitignore — it won't be accidentally committed to git
  • The server refuses to start if SEMUST_BASE_URL is http:// (non-localhost) — your key is never sent in plaintext
  • Protect your Claude Desktop config file — anyone with read access to it can read your API key
  • SEO data passed to Claude is treated as user-trusted content; if your Search Console contains spam queries with embedded instructions, the model may act on them — this is inherent to all MCP tools that surface third-party data

Available Tools (56)

Projects

ToolDescription
list_projectsList all projects with integration status — always runs first

Search Console — Data

ToolDescription
get_keywordsTop keywords by clicks with growth metrics
get_pagesTop pages by clicks with growth metrics
get_performanceDaily traffic overview with before/after comparison

Search Console — Reports

ToolDescription
report_cannibalizationPages competing for the same keyword
report_monthly_summaryFull monthly SEO report with YoY comparison
report_long_tailLong-tail keyword opportunities (3+ words)
report_winner_loserKeywords gaining or losing traffic
report_questionsQuestion-type queries (FAQ/content ideas)
report_content_decayPages losing traffic over time
report_striking_distanceKeywords on page 2-3 (quick wins)
report_low_ctrLow CTR items with click improvement potential
report_thin_contentUnderperforming content for audit

Google Analytics — Data

ToolDescription
ga_get_overviewCore metrics (users, sessions, bounce rate) with comparison
ga_get_traffic_sourcesTraffic by channel, source, medium, campaign, referrer
ga_get_pagesTop pages, entry pages, exit pages
ga_get_geoVisitors by country, region, or city
ga_get_devicesDevice category, browser, or OS breakdown
ga_get_key_eventsKey events (conversions) with counts

Google Analytics — Reports

ToolDescription
ga_report_traffic_trendsDaily metrics with growth analysis and patterns
ga_report_landing_page_performanceLanding page conversion rates (organic)
ga_report_channel_comparisonChannel comparison with previous period
ga_report_engagement_analysisPage engagement quality tiers

Google Ads — Data

ToolDescription
gads_get_campaignsCampaign performance with metrics and sorting
gads_get_daily_metricsDaily impressions, clicks, cost, conversions
gads_get_geoPerformance by country/geography
gads_get_devicesDevice breakdown (mobile, desktop, tablet)
gads_get_search_termsSearch terms triggering ads (Search campaigns)

Google Ads — Reports

ToolDescription
gads_report_performance_overviewAccount overview with rankings and type breakdown
gads_report_spend_analysisSpend trends and per-campaign cost breakdown
gads_report_conversion_breakdownConversion actions with counts and values

Rank Tracker

ToolDescription
rank_get_keywordsKeyword rankings with position and changes
rank_get_overviewDistribution, visibility score, yesterday's changes
rank_get_historyDaily average position history
rank_report_gainers_losersKeywords that gained/lost rankings
rank_report_distributionPosition distribution breakdown

AI Rank Tracker

ToolDescription
ai_rank_get_overviewAI Overview visibility summary and score
ai_rank_get_keywordsPer-keyword AI Overview presence and positions
ai_rank_get_domainsTop domains cited in AI Overviews

Indexing Monitor

ToolDescription
indexing_get_statusHealth score, indexed/not-indexed, coverage, warnings
indexing_get_historyDaily indexing counts over time

Yandex Metrica

ToolDescription
ym_get_overviewComprehensive analytics: visitors, pageviews, bounce rate, daily trends
ym_get_trafficTraffic source breakdown (sources, search engines, social)
ym_get_pagesPage performance (top, landing, exit, titles)
ym_get_geoGeographic visitor data (countries, regions, cities)
ym_get_devicesDevice/browser/OS breakdown
ym_get_search_phrasesYandex search keywords driving visits

Bing Webmaster

ToolDescription
bing_get_query_statsSearch query statistics with clicks, impressions, CTR, position
bing_get_page_statsPage-level search performance
bing_get_crawl_statsCrawl statistics over time
bing_get_crawl_issuesCrawl errors and issues
bing_get_rank_trafficDaily impressions and clicks trend
bing_get_link_countsInbound link counts per URL
bing_get_keyword_statsKeyword volume data (requires keyword param)
bing_get_url_trafficPer-URL traffic data (requires url param)
bing_get_url_linksInbound links for a specific URL (requires url param)

Cursor Setup

Add the same MCP server in Cursor: Settings > MCP Servers > Add Server (stdio type).

Use the same command, args, and env values from the Claude Desktop config above.


Troubleshooting

ProblemSolution
Tools icon not showingQuit Claude Desktop fully from system tray, reopen
python not recognizedUse full Python path in config (see Step 3)
"Invalid API key" (401)Double-check your key in Semust Settings
"User not active" (403)You need a paid plan — semust.com/fiyatlar
"Search Console not connected"Connect GSC in Semust > Project Settings > Integrations
"Google Analytics not connected"Connect GA4 in Semust > Project Settings > Integrations
"Google Ads not connected"Connect Google Ads in Semust > Project Settings > Integrations
"Yandex Metrica not connected"Connect Yandex Metrica in Semust > Project Settings > Integrations
"Bing Webmaster not connected"Connect Bing Webmaster in Semust > Project Settings > Integrations
Claude asks permission for every toolAdd alwaysAllow to your config (see Step 3 above)
No data / empty resultsGSC data has a 2-day delay — Claude handles this automatically
Config file not foundMake sure Claude Desktop is installed and has been opened at least once

Requirements

  • Python 3.10+
  • Claude Desktop or Cursor
  • A Semust account with an active subscription
  • Google Search Console, Google Analytics, Google Ads, Yandex Metrica, and/or Bing Webmaster connected to at least one project

License

MIT — see LICENSE