原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

MisarSEO MCP Server

作者:Misar-AI版本 1.0.0i★ –i电脑或云端
注册名称io.github.Misar-AI/misarseo-mcp

安装

概览

作者提供的说明(英文原文)

Research keywords, track rankings, audit sites, monitor backlinks and AI-search visibility — from…

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 电脑或云端
  • 传输方式: stdio, Streamable HTTP
  • 分类: 搜索与 AI 记忆
  • 你需要填写:MISARSEO_API_KEY, Authorization

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。

你需要

  • 在云端运行无需安装任何东西,通过互联网连接
  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。

或者在你的电脑上运行

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "misarseo": {
      "command": "npx",
      "args": [
        "-y",
        "@misarseo/mcp"
      ],
      "env": {
        "MISARSEO_API_KEY": "your-value",
        "MISARSEO_BASE_URL": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add --transport http misarseo https://api.misar.io/seo/mcp --header 'Authorization: your-value'

或者在你的电脑上运行

claude mcp add misarseo --env MISARSEO_API_KEY=your-value --env MISARSEO_BASE_URL=your-value -- npx -y @misarseo/mcp

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "misarseo": {
      "url": "https://api.misar.io/seo/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

或者在你的电脑上运行

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "misarseo": {
      "command": "npx",
      "args": [
        "-y",
        "@misarseo/mcp"
      ],
      "env": {
        "MISARSEO_API_KEY": "your-value",
        "MISARSEO_BASE_URL": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "misarseo": {
      "type": "http",
      "url": "https://api.misar.io/seo/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

或者在你的电脑上运行

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "misarseo": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@misarseo/mcp"
      ],
      "env": {
        "MISARSEO_API_KEY": "your-value",
        "MISARSEO_BASE_URL": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • MISARSEO_API_KEY 机密 env
    Your MisarSEO API key (mseo_…). Create one at https://seo.misar.io/ai.
  • MISARSEO_BASE_URL env
    Override the API base URL. Only needed for self-hosted instances.
  • Authorization 机密 必填 HTTP header
    MisarSEO API key. Format: Bearer mseo_… — create one at https://seo.misar.io/ai

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

工具名称和描述与服务器在 2026年11月7日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。

  • list_projects

    Lists the active projects in the user's organization. FREE — database only, charges no credits. Use this whenever you need a `projectId` for another MisarSEO tool. Returns `{id, name, domain, url}` per project; pass the `id` value as `projectId`. `domain` is null for a project th

  • get_dashboard

    One card per active project in the caller's organization: latest audit health, rank-tracker status, and trailing-7-day web-analytics sessions. FREE: database only. No SEO data provider is called and no credits are spent — GSC and backlinks are deliberately excluded from this view

  • research_keywords

    Research keyword data (search volume, difficulty, CPC, related ideas) for 1-5 seed keywords in one call — one research run per seed. Returns `results`, one entry per seed with `ok` — a single bad seed won't fail the batch. CHARGES CREDITS ON THE PAID DATA PROVIDER: per seed, ~30-

  • save_keywords

    Save keywords to a project's saved-keywords list. FREE — database only, charges no credits. Idempotent: re-saving an existing keyword is a no-op. If tags are provided, missing tags may be created. Tags are appended to whatever tags a keyword already carries. Ask the user for conf

  • list_saved_keywords

    Lists keywords saved to a project, with whatever metrics have been cached for them (search volume, difficulty, CPC) and their tags. FREE — reads MisarSEO's own database, runs no provider lookup and charges no credits. Filter by keyword text with `search`; page through with `page`

  • classify_keyword_intent

    Classify 1-200 keywords' search intent from their wording: informational, navigational, commercial, transactional, or unknown. Uses the SAME wording heuristic keyword research already applies as its free-tier fallback, made directly callable for a keyword list with no research/vo

  • get_keyword_potential

    Parent Topic and Traffic Potential for one keyword, built from real SERP overlap across a BOUNDED set (up to 5) of related keywords — not a full keyword-to-URL reverse index, which this codebase's free stack does not have. Parent Topic is the related keyword whose SERP shares the

  • get_keyword_serp_overview

    Per-keyword SERP overview: a fresh live SERP snapshot for the keyword, PLUS — when this exact keyword happens to already be tracked in this project's rank tracking — its historical position trend and SERP volatility, read straight from the SAME rank-tracking services (`get_rank_k

  • get_keyword_strategy

    Keyword Strategy Builder: a volume -> cluster -> page -> brief pipeline over 1-500 pasted keywords, composed entirely from existing pieces — the same bulk keyword lookup, the same shared-phrase clustering engine the saved-keyword Topic Clusters feature and get_topic_research both

  • get_topic_research

    Content ideas for a seed keyword, composed from three sources this codebase already fetches for other features: the SERP for the seed (titles of pages already ranking for it), PAA-style questions (real autocomplete completions reframed as questions), and autocomplete keyword sugg

  • get_keyword_list_share_of_voice

    Share of Voice across a saved keyword list: the project's own domain plus up to 3 competitor domains, scored over a saved-keyword tag ("a saved keyword list" in this codebase IS a saved-keyword tag — omit tagId/tagName to mean every saved keyword in the project). Reuses the EXACT

  • get_domain_overview

    Returns a high-level view of a domain's organic footprint: estimated organic traffic, organic keyword count, and a 0-100 domain authority score. Use this first for domain research. `backlinks` and `referringDomains` are ALWAYS null on this tool — no data provider feeds them here,

  • get_domain_batch

    Domain batch analysis: one authority row per domain, up to 100 at once. FREE — no paid provider call, unlike get_domain_overview. `organicTraffic`, `organicKeywords`, `backlinks` and `referringDomains` are ALWAYS null on every row — batch mode never attempts the per-domain paid r

  • get_domain_authority_history

    Domain-authority history: the stored trend of dated authority snapshots for one project+domain, oldest first. FREE (no credits) — reads back snapshots already captured, no provider call. Empty until at least one snapshot exists: get_domain_overview auto-captures one whenever `dom

  • capture_domain_authority_snapshot

    Capture a domain-authority snapshot now: calls the same free resolver get_domain_overview already uses and records today's reading, so get_domain_authority_history has a trend to read back. FREE (no credits), but this is a MUTATION — idempotent per UTC day, so calling it twice in

  • find_serp_competitors

    Compares domains competing in search results for a supplied keyword set. Useful for market and search-intelligence reports; not radius-based local SEO. The inverse of get_keyword_gap, which asks what one competitor ranks for that we do not. CHARGES CREDITS ON THE PAID DATA PROVID

  • get_keyword_gap

    Compares the project's own domain against up to 3 competitor domains and classifies every keyword a competitor ranks for as missing / behind / tied / ahead / unknown. The inverse of find_serp_competitors, which asks who competes for a keyword set. CHARGES CREDITS: one ranked-keyw

  • list_competitor_monitors

    Competitor page change detection: the specific competitor URLs monitored for a project, with `lastCheckedAt` (null until the first scheduled check reaches it). FREE — database only, no credits spent. Use get_competitor_monitor_changes for the actual detected-change timeline of on

  • add_competitor_monitor

    Start monitoring one competitor page for changes: title/meta, a real line-level content diff (added/removed/unchanged line counts — never a fabricated similarity score), outbound links, and structured-data types. Checked once a day; the first snapshot is captured on the NEXT sche

  • remove_competitor_monitor

    Stops monitoring one competitor URL. Its historical snapshots and detected changes are deleted along with it (cascading delete) — unlike rank tracking's competitor removal, there is no separate archive kept.

  • get_competitor_monitor_changes

    Timeline of DETECTED changes for one monitored competitor URL, newest first — a check that found nothing does not appear here. Each entry's summary is a real diff: line-level content added/removed/unchanged counts with a short sample (never a fabricated similarity score), plus ti

  • get_rank_tracker

    Read-only access to rank tracker configs and their latest results. With `trackerId`, returns the config plus the latest snapshot per keyword. Without it, lists all trackers in the project. FREE — reads stored MisarSEO state only, runs no SERP query and charges no credits. To trig

  • add_rank_tracking_keywords

    Adds keywords to an existing rank tracker config. Returns `{ added, addedIds }` — `added` counts only genuinely new keywords; anything already tracked for this config is silently skipped, so `added` can legitimately be lower than the number of keywords sent. FREE: database only,

  • get_rank_config_trend

    Per-run keyword-position-distribution buckets for a tracker, oldest first — how many tracked keywords sit in the top 3, 4-10, 11-20, or outside the top 20, per check run. Use it to answer 'is this domain's visibility trending up or down' without re-checking anything. FREE: databa

  • get_rank_movers

    Newcomers and fast climbers for a tracker's OWN domain, over a window. `newlyRanking` is keywords that started ranking during the window (no earlier position, or an earlier position of null). `fastClimbers` is keywords that ranked at both ends of the window and gained at least `m

  • get_rank_keyword_history

    Per-keyword position series over time, oldest first — the same series the app's SERP-history chart draws for one tracked keyword. FREE: database only. No SEO data provider is called and no credits are spent. A `position` of `null` means checked but not found within that check's `

  • get_rank_volatility_index

    SERP volatility index across recent runs — how much this tracker's own positions churned run over run, derived entirely from already-stored history (no new SERP calls). FREE: database only, no SEO data provider is called and no credits are spent. Modeled on the one step AccuRanke

  • get_rank_ai_overview_trend

    AI Overview presence trend across a tracker's keywords, oldest first — what share of tracked keywords showed Google's AI Overview in the SERP, per check run, and how that has moved over time. FREE: database only, no SEO data provider is called and no credits are spent. Reuses `ra

  • list_rank_annotations

    Chart notes on a rank tracker's own timeline — 'deployed new title tags', 'algorithm update' — oldest first. FREE: database only, no SEO data provider is called and no credits are spent. Config-level, not per-keyword or per-device: a deploy or algorithm change is a fact about the

  • add_rank_annotation

    Adds a chart note to a rank tracker's own timeline. FREE: database only, no SEO data provider is called and no credits are spent. Config-level, not per-keyword or per-device. A config can hold at most 100 notes.

  • remove_rank_annotation

    Removes a chart note from a rank tracker's own timeline. FREE: database only, no SEO data provider is called and no credits are spent. Succeeds whether or not `id` matched an existing note.

  • list_rank_cannibalisation

    Tracked keywords whose latest ranking URL is not the target URL you declared for them (see set_rank_keyword_target_url). FREE: database only, no SEO data provider is called and no credits are spent. NOT the same detector as get_cannibalisation_report (Search Console-based), which

  • set_rank_keyword_target_url

    Sets or clears the URL you intend to rank for a tracked keyword. Feeds list_rank_cannibalisation — set this for the keywords you care about, then check for a mismatch after the next run. FREE: database only, no SEO data provider is called and no credits are spent.

  • list_rank_keyword_tags

    Lists the tags in use on one rank tracker, plus the project's whole tag vocabulary. Use it to find tag IDs before calling update_rank_keyword_tag, and to see how a tracker with hundreds of keywords is already organised. FREE: database only. No SEO data provider is called and no c

  • update_rank_keyword_tag

    Attaches or detaches ONE tag across a selection of tracked keywords (up to 500 keyword IDs per call). One tag per call — applying three tags takes three calls. FREE: database only. No SEO data provider is called and no credits are spent. The tag is the project's EXISTING saved-ke

  • get_brave_search_rank_check

    Checks where a project's domain (or an explicit targetDomain) ranks in REAL Brave Search results for one keyword. Brave has run its own independent crawler and index since 2023 — a genuinely separate, separately-licensed data source, distinct from this server's free SearXNG/opens

  • create_rank_tracker

    Creates a rank tracker config (domain + market + devices + schedule) for a project and returns its configId. Next, add keywords with add_rank_tracking_keywords. Positions are collected by the SCHEDULED check ('daily' or 'weekly'; 'manual' means never on a schedule) and read with

  • list_rank_tracking_keywords

    Lists the keywords tracked by ONE rank tracker: `{ keywords, totalCount, page, pageSize }`, each row `{ id, configId, keyword, searchVolume, keywordDifficulty, cpc, metricsFetchedAt, createdAt }`. It returns NO positions and runs no check — read positions with get_rank_tracker. T

  • remove_rank_tracking_keywords

    Removes keywords from a rank tracker by their tracking-keyword IDs (from list_rank_tracking_keywords). The keywords stop being checked; their past position snapshots are deliberately kept, so history survives. FREE: database only.

  • start_site_audit

    Starts a MisarSEO site crawl/audit from startUrl. Returns `{ jobId, auditId }` (the same id twice) with HTTP 202; the crawl then runs in the background — poll it with get_site_audit_status. FREE of SEO credits, but it CONSUMES ONE of the organization's monthly audits from its pla

  • get_site_audit_status

    Progress of a site audit started by start_site_audit: `{ status, pagesCrawled, pagesTotal, lighthouseTotal, lighthouseCompleted, lighthouseFailed, currentPhase, startedAt, completedAt }`. `status` is 'running', 'completed' or 'failed' — poll until it is 'completed' or 'failed'; t

  • get_audit_comparison

    Compare a site audit against an earlier one: which issues are new, which were fixed, how many persist, and the health-score delta. Only pages BOTH crawls visited are compared, so a shorter crawl never reports the pages it missed as fixed — those are reported separately as notComp

  • get_audit_core_web_vitals

    Core Web Vitals report: LCP/INP/CLS per page/strategy this audit already ran Lighthouse against, classified against Google's own published thresholds. No new fetch — reads audit_lighthouse_results, the same table the results UI already renders as raw numbers. LAB DATA ONLY, never

  • get_audit_https_report

    HTTPS Report: percentage of pages secure, mixed-content and insecure-link counts, homepage HTTPS-path status, and HTTP URLs in an HTTPS site's sitemap — for a project's latest completed crawl (or a named earlier one). Derives entirely from already-computed crawl data — no new wor

  • get_audit_internal_links

    Internal Link Report: outbound/inbound internal link counts per page, orphan pages, dead ends, and click-depth distribution for a project's latest completed crawl (or a named earlier one). No new computation — reads the same audit_pages/audit_issues columns already powering the i

  • get_audit_structured_data

    Structured Data Report: pages grouped by schema.org @type, which pages have none, and which pages carry an unparseable JSON-LD block — for a project's latest completed crawl (or a named earlier one). Derives entirely from structured data already extracted at crawl time — no new c

  • get_search_console_performance

    Query the connected Search Console property's Search Analytics: clicks, impressions, CTR, and average position by query/page/country/device/date. First-party data — use it for what already ranks, near-ranking queries, and pages with real demand. ctr is a 0-1 fraction; position is

  • inspect_urls

    Run Google Search Console's URL Inspection on up to 10 URLs of the connected property: index/coverage state, last crawl time, Google-selected vs declared canonical, and mobile/rich-results verdicts. Use it to answer 'is this page indexed? why not?'. Read-only and FREE (no credits

  • get_search_console_coverage

    MisarSEO's own index-coverage report for the connected property: which URLs are indexed, excluded, or errored, and why. FREE (no credits) and makes NO call to Google — unlike get_search_console_performance, this reads `gscUrlCoverage`, populated by a nightly scan built on the URL

  • get_search_console_hourly_performance

    MisarSEO's own retained HOURLY Search Console totals for the connected property — the hourly counterpart to get_search_console_performance's daily archive. FREE (no credits) and makes NO call to Google: reads MisarSEO's own Postgres. Unlike the daily archive, a wider date range d

  • get_search_console_sitemaps

    Search Console sitemaps.list/sitemaps.get: every sitemap submitted for the connected property and its processing status (pending, last downloaded, warning/error counts, per-content-type submitted counts), or one named sitemap. Read-only — needs only the `webmasters.readonly` scop

  • get_gsc_ctr_by_position

    CTR by ranking position: the site's own historical Search Console clicks/impressions bucketed by position (1-3, 4-10, 11-20, 21+ — mirroring this codebase's existing rank-tracking position-distribution buckets), with the REAL clicks-weighted CTR this project achieved at each buck

  • get_gsc_anonymous_queries

    Anonymized-query estimate: Search Console omits some rare queries entirely from a query-dimensioned response to protect searcher privacy (Google's own documented behaviour, not this codebase's assumption). This compares the SUM of named per-query clicks/impressions against the pr

  • get_cannibalisation_report

    Finds the queries where the project's connected Search Console property competes with itself: two or more of its own pages drawing impressions for the same query, splitting that query's clicks, click signals and ranking history across URLs. Read-only and FREE (no credits) — Searc

  • get_content_decay_report

    Finds pages whose clicks declined by a meaningful amount between two adjacent windows, read entirely from MisarSEO's own archived Search Console history (the top-200-per-day per-page archive the nightly sync fills in). Read-only and FREE (no credits), and makes NO live Search Con

  • get_backlinks_overview

    Returns a backlinks profile summary (total backlinks, referring domains, referring pages, rank) plus the top referring domains by backlink count. CHARGES CREDITS ON THE PAID DATA PROVIDER (~200-500 typical): two lookups per call, the summary and one page of referring domains. UNA

  • get_link_intersect

    Finds the domains that link to 2–4 of the project's competitors but NOT to the project itself. Every row is a site that has already demonstrated it will link to something in this space, which is what makes it the most actionable backlink report there is. CHARGES CREDITS — the mos

  • list_disavow_entries

    Disavow file management: every disavow entry for a project, oldest first. FREE (no credits). Use export_disavow_file to get the actual Google-format .txt content.

  • add_disavow_entry

    Disavow file management: mark one URL or domain for disavowal. FREE (no credits), but this is a MUTATION. entryType 'url' disavows exactly that page (value must be a full absolute URL); entryType 'domain' disavows the whole domain AND its subdomains (value is a bare host, no sche

  • remove_disavow_entry

    Disavow file management: remove one disavow entry by id (from list_disavow_entries). FREE (no credits), but this is a MUTATION. Succeeds whether or not entryId existed.

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 Misar-AI 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • ✓ 通过

    端点有响应

    在 2185 毫秒内响应(HTTP 200)

  • – 不适用

    使用 OAuth 登录

    无需登录

  • ✓ 通过

    工具描述中没有隐藏指令

    已读取 60 个工具描述,未发现针对 AI 的隐藏指令

与“搜索与 AI 记忆”中的其他服务器比较i

  • 星标数多于此分类中其他 5662 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 5662 个服务器的 65% 更新
  • 基础检查结果等于或优于此分类中其他 5662 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

MisarSEO MCP Server 安全吗?

它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:MISARSEO_API_KEY, Authorization

它在我的电脑上运行还是在云端?

两种方式都可以:安装在你的电脑上,或者连接云端版本。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(1.0.0)于21天前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。

有什么可以替代它?

同一分类中有:Context7, Codebase Memory, Exa

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Context7

作者:upstash

Up-to-date docs for AI agents

电脑或云端★ 64,224MIT昨天更新
安装

Codebase Memory

作者:DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

在你的电脑上运行★ 48,148MIT21天前更新
安装

Exa

作者:exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

在云端运行★ 5,213MIT2个月前更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

MisarSEO MCP Server

Research keywords, track rankings, audit sites, monitor backlinks and AI-search visibility — from any AI assistant.

180 tools · 6 prompts · 3 resources · 6 agent skills

Works with Claude (Desktop, Code, and web), Cursor, VS Code, Windsurf, Cline, Zed, Gemini CLI, ChatGPT, and any other MCP-compatible client — over stdio or Streamable HTTP.


Install

Smithery (recommended)
npx -y @smithery/cli install misar/misarseo-mcp --client claude
Claude Code
claude mcp add misarseo -- npx -y @misarseo/mcp@latest
Manual (any client)
{

"mcpServers": { "misarseo": { "command": "npx", "args": ["-y", "@misarseo/mcp@latest"], "env": { "MISARSEO_API_KEY": "mseo_your_key_here" } } } }

Ready-made configs for every client live in connectors/.

Remote (no install)
{

"mcpServers": { "misarseo": { "type": "streamable-http", "url": "https://api.misar.io/seo/mcp", "headers": { "Authorization": "Bearer mseo_your_key_here" } } } }


Authentication

Create an API key at https://seo.misar.io/ai (AI & MCP → create an API key) — it starts with mseo_ — and give it to the server in one of three ways: the MISARSEO_API_KEY environment variable, your MCP client's env block, or { "api_key": "mseo_…" } in ~/.misarseo/config.json.

Self-hosted instances: set MISARSEO_BASE_URL.


Tools

ToolDescription
list_projectsLists the active projects in the user's organization.
get_dashboardOne card per active project in the caller's organization: latest audit health, rank-tracker status, and trailing-7-day web-analytics sessions.
research_keywordsResearch keyword data (search volume, difficulty, CPC, related ideas) for 1-5 seed keywords in one call — one research run per seed.
save_keywordsSave keywords to a project's saved-keywords list.
list_saved_keywordsLists keywords saved to a project, with whatever metrics have been cached for them (search volume, difficulty, CPC) and their tags.
classify_keyword_intentClassify 1-200 keywords' search intent from their wording: informational, navigational, commercial, transactional, or unknown.
get_keyword_potentialParent Topic and Traffic Potential for one keyword, built from real SERP overlap across a BOUNDED set (up to 5) of related keywords — not a full keyword-to-URL reverse index, which this codebase's free stack does not have.
get_keyword_serp_overviewPer-keyword SERP overview: a fresh live SERP snapshot for the keyword, PLUS — when this exact keyword happens to already be tracked in this project's rank tracking — its historical position trend and SERP volatility, read straight from the SAME rank-tracking services (get_rank_keyword_history/get_rank_volatility_index) already use.
get_keyword_strategyKeyword Strategy Builder: a volume -> cluster -> page -> brief pipeline over 1-500 pasted keywords, composed entirely from existing pieces — the same bulk keyword lookup, the same shared-phrase clustering engine the saved-keyword Topic Clusters feature and get_topic_research both already use, a text-match against the project's own crawled pages, and a BOUNDED number of AI-gateway content-brief calls (one per cluster among the top few by measured volume, gated by the shared AI-gateway budget).
get_topic_researchContent ideas for a seed keyword, composed from three sources this codebase already fetches for other features: the SERP for the seed (titles of pages already ranking for it), PAA-style questions (real autocomplete completions reframed as questions), and autocomplete keyword suggestions.
get_keyword_list_share_of_voiceShare of Voice across a saved keyword list: the project's own domain plus up to 3 competitor domains, scored over a saved-keyword tag ("a saved keyword list" in this codebase IS a saved-keyword tag — omit tagId/tagName to mean every saved keyword in the project).
get_domain_overviewReturns a high-level view of a domain's organic footprint: estimated organic traffic, organic keyword count, and a 0-100 domain authority score.
get_domain_batchDomain batch analysis: one authority row per domain, up to 100 at once.
get_domain_authority_historyDomain-authority history: the stored trend of dated authority snapshots for one project+domain, oldest first.
capture_domain_authority_snapshotCapture a domain-authority snapshot now: calls the same free resolver get_domain_overview already uses and records today's reading, so get_domain_authority_history has a trend to read back.
find_serp_competitorsCompares domains competing in search results for a supplied keyword set.
get_keyword_gapCompares the project's own domain against up to 3 competitor domains and classifies every keyword a competitor ranks for as missing / behind / tied / ahead / unknown.
list_competitor_monitorsCompetitor page change detection: the specific competitor URLs monitored for a project, with lastCheckedAt (null until the first scheduled check reaches it).
add_competitor_monitorStart monitoring one competitor page for changes: title/meta, a real line-level content diff (added/removed/unchanged line counts — never a fabricated similarity score), outbound links, and structured-data types.
remove_competitor_monitorStops monitoring one competitor URL.
get_competitor_monitor_changesTimeline of DETECTED changes for one monitored competitor URL, newest first — a check that found nothing does not appear here.
get_rank_trackerRead-only access to rank tracker configs and their latest results.
add_rank_tracking_keywordsAdds keywords to an existing rank tracker config.
get_rank_config_trendPer-run keyword-position-distribution buckets for a tracker, oldest first — how many tracked keywords sit in the top 3, 4-10, 11-20, or outside the top 20, per check run.
get_rank_moversNewcomers and fast climbers for a tracker's OWN domain, over a window.
get_rank_keyword_historyPer-keyword position series over time, oldest first — the same series the app's SERP-history chart draws for one tracked keyword.
get_rank_volatility_indexSERP volatility index across recent runs — how much this tracker's own positions churned run over run, derived entirely from already-stored history (no new SERP calls).
get_rank_ai_overview_trendAI Overview presence trend across a tracker's keywords, oldest first — what share of tracked keywords showed Google's AI Overview in the SERP, per check run, and how that has moved over time.
list_rank_annotationsChart notes on a rank tracker's own timeline — 'deployed new title tags', 'algorithm update' — oldest first.
add_rank_annotationAdds a chart note to a rank tracker's own timeline.
remove_rank_annotationRemoves a chart note from a rank tracker's own timeline.
list_rank_cannibalisationTracked keywords whose latest ranking URL is not the target URL you declared for them (see set_rank_keyword_target_url).
set_rank_keyword_target_urlSets or clears the URL you intend to rank for a tracked keyword.
list_rank_keyword_tagsLists the tags in use on one rank tracker, plus the project's whole tag vocabulary.
update_rank_keyword_tagAttaches or detaches ONE tag across a selection of tracked keywords (up to 500 keyword IDs per call).
get_brave_search_rank_checkChecks where a project's domain (or an explicit targetDomain) ranks in REAL Brave Search results for one keyword.
create_rank_trackerCreates a rank tracker config (domain + market + devices + schedule) for a project and returns its configId.
list_rank_tracking_keywordsLists the keywords tracked by ONE rank tracker: { keywords, totalCount, page, pageSize }, each row { id, configId, keyword, searchVolume, keywordDifficulty, cpc, metricsFetchedAt, createdAt }.
remove_rank_tracking_keywordsRemoves keywords from a rank tracker by their tracking-keyword IDs (from list_rank_tracking_keywords).
start_site_auditStarts a MisarSEO site crawl/audit from startUrl.
get_site_audit_statusProgress of a site audit started by start_site_audit: { status, pagesCrawled, pagesTotal, lighthouseTotal, lighthouseCompleted, lighthouseFailed, currentPhase, startedAt, completedAt }.
get_audit_comparisonCompare a site audit against an earlier one: which issues are new, which were fixed, how many persist, and the health-score delta.
get_audit_core_web_vitalsCore Web Vitals report: LCP/INP/CLS per page/strategy this audit already ran Lighthouse against, classified against Google's own published thresholds.
get_audit_https_reportHTTPS Report: percentage of pages secure, mixed-content and insecure-link counts, homepage HTTPS-path status, and HTTP URLs in an HTTPS site's sitemap — for a project's latest completed crawl (or a named earlier one).
get_audit_internal_linksInternal Link Report: outbound/inbound internal link counts per page, orphan pages, dead ends, and click-depth distribution for a project's latest completed crawl (or a named earlier one).
get_audit_structured_dataStructured Data Report: pages grouped by schema.org @type, which pages have none, and which pages carry an unparseable JSON-LD block — for a project's latest completed crawl (or a named earlier one).
get_search_console_performanceQuery the connected Search Console property's Search Analytics: clicks, impressions, CTR, and average position by query/page/country/device/date.
inspect_urlsRun Google Search Console's URL Inspection on up to 10 URLs of the connected property: index/coverage state, last crawl time, Google-selected vs declared canonical, and mobile/rich-results verdicts.
get_search_console_coverageMisarSEO's own index-coverage report for the connected property: which URLs are indexed, excluded, or errored, and why.
get_search_console_hourly_performanceMisarSEO's own retained HOURLY Search Console totals for the connected property — the hourly counterpart to get_search_console_performance's daily archive.
get_search_console_sitemapsSearch Console sitemaps.list/sitemaps.get: every sitemap submitted for the connected property and its processing status (pending, last downloaded, warning/error counts, per-content-type submitted counts), or one named sitemap.
get_gsc_ctr_by_positionCTR by ranking position: the site's own historical Search Console clicks/impressions bucketed by position (1-3, 4-10, 11-20, 21+ — mirroring this codebase's existing rank-tracking position-distribution buckets), with the REAL clicks-weighted CTR this project achieved at each bucket.
get_gsc_anonymous_queriesAnonymized-query estimate: Search Console omits some rare queries entirely from a query-dimensioned response to protect searcher privacy (Google's own documented behaviour, not this codebase's assumption).
get_cannibalisation_reportFinds the queries where the project's connected Search Console property competes with itself: two or more of its own pages drawing impressions for the same query, splitting that query's clicks, click signals and ranking history across URLs.
get_content_decay_reportFinds pages whose clicks declined by a meaningful amount between two adjacent windows, read entirely from MisarSEO's own archived Search Console history (the top-200-per-day per-page archive the nightly sync fills in).

| `get_backli

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx