Context7
Up-to-date docs for AI agents
作者提供的说明(英文原文)
Research keywords, track rankings, audit sites, monitor backlinks and AI-search visibility — from…
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
MISARSEO_API_KEY, MISARSEO_BASE_URL, Authorization标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 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/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"misarseo": {
"url": "https://api.misar.io/seo/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}粘贴到项目中的 .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"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"misarseo": {
"type": "http",
"url": "https://api.misar.io/seo/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}粘贴到项目中的 .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_BASE_URL envAuthorization 机密 必填 HTTP header这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
工具名称和描述与服务器在 2026年11月7日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。
list_projectsLists 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_dashboardOne 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_keywordsResearch 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_keywordsSave 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_keywordsLists 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_intentClassify 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_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. Parent Topic is the related keyword whose SERP shares the
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_k
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
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 sugg
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). Reuses the EXACT
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. Use this first for domain research. `backlinks` and `referringDomains` are ALWAYS null on this tool — no data provider feeds them here,
get_domain_batchDomain 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_historyDomain-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_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. FREE (no credits), but this is a MUTATION — idempotent per UTC day, so calling it twice in
find_serp_competitorsCompares 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_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. The inverse of find_serp_competitors, which asks who competes for a keyword set. CHARGES CREDITS: one ranked-keyw
list_competitor_monitorsCompetitor 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_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. Checked once a day; the first snapshot is captured on the NEXT sche
remove_competitor_monitorStops 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_changesTimeline 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_trackerRead-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_keywordsAdds 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_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. Use it to answer 'is this domain's visibility trending up or down' without re-checking anything. FREE: databa
get_rank_moversNewcomers 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_historyPer-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_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). FREE: database only, no SEO data provider is called and no credits are spent. Modeled on the one step AccuRanke
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. FREE: database only, no SEO data provider is called and no credits are spent. Reuses `ra
list_rank_annotationsChart 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_annotationAdds 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_annotationRemoves 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_cannibalisationTracked 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_urlSets 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_tagsLists 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_tagAttaches 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_checkChecks 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_trackerCreates 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_keywordsLists 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_keywordsRemoves 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_auditStarts 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_statusProgress 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_comparisonCompare 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_vitalsCore 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_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). Derives entirely from already-computed crawl data — no new wor
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). No new computation — reads the same audit_pages/audit_issues columns already powering the i
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). Derives entirely from structured data already extracted at crawl time — no new c
get_search_console_performanceQuery 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_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. Use it to answer 'is this page indexed? why not?'. Read-only and FREE (no credits
get_search_console_coverageMisarSEO'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_performanceMisarSEO'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_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. Read-only — needs only the `webmasters.readonly` scop
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 buck
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). This compares the SUM of named per-query clicks/impressions against the pr
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. Read-only and FREE (no credits) — Searc
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). Read-only and FREE (no credits), and makes NO live Search Con
get_backlinks_overviewReturns 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_intersectFinds 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_entriesDisavow 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_entryDisavow 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_entryDisavow 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.
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 Misar-AI 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
在 2185 毫秒内响应(HTTP 200)
无需登录
已读取 60 个工具描述,未发现针对 AI 的隐藏指令
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 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
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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.
npx -y @smithery/cli install misar/misarseo-mcp --client claude
claude mcp add misarseo -- npx -y @misarseo/mcp@latest
{
"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/.
{
"mcpServers": { "misarseo": { "type": "streamable-http", "url": "https://api.misar.io/seo/mcp", "headers": { "Authorization": "Bearer mseo_your_key_here" } } } }
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.
| Tool | Description |
|---|---|
list_projects | Lists the active projects in the user's organization. |
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. |
research_keywords | Research keyword data (search volume, difficulty, CPC, related ideas) for 1-5 seed keywords in one call — one research run per seed. |
save_keywords | Save keywords to a project's saved-keywords list. |
list_saved_keywords | Lists keywords saved to a project, with whatever metrics have been cached for them (search volume, difficulty, CPC) and their tags. |
classify_keyword_intent | Classify 1-200 keywords' search intent from their wording: informational, navigational, commercial, transactional, or unknown. |
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. |
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_keyword_history/get_rank_volatility_index) already use. |
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 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_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 suggestions. |
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). |
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. |
get_domain_batch | Domain batch analysis: one authority row per domain, up to 100 at once. |
get_domain_authority_history | Domain-authority history: the stored trend of dated authority snapshots for one project+domain, oldest first. |
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. |
find_serp_competitors | Compares domains competing in search results for a supplied keyword set. |
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. |
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). |
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. |
remove_competitor_monitor | Stops monitoring one competitor URL. |
get_competitor_monitor_changes | Timeline of DETECTED changes for one monitored competitor URL, newest first — a check that found nothing does not appear here. |
get_rank_tracker | Read-only access to rank tracker configs and their latest results. |
add_rank_tracking_keywords | Adds keywords to an existing rank tracker config. |
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. |
get_rank_movers | Newcomers and fast climbers for a tracker's OWN domain, over a window. |
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. |
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). |
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. |
list_rank_annotations | Chart notes on a rank tracker's own timeline — 'deployed new title tags', 'algorithm update' — oldest first. |
add_rank_annotation | Adds a chart note to a rank tracker's own timeline. |
remove_rank_annotation | Removes a chart note from a rank tracker's own timeline. |
list_rank_cannibalisation | Tracked keywords whose latest ranking URL is not the target URL you declared for them (see set_rank_keyword_target_url). |
set_rank_keyword_target_url | Sets or clears the URL you intend to rank for a tracked keyword. |
list_rank_keyword_tags | Lists the tags in use on one rank tracker, plus the project's whole tag vocabulary. |
update_rank_keyword_tag | Attaches or detaches ONE tag across a selection of tracked keywords (up to 500 keyword IDs per call). |
get_brave_search_rank_check | Checks where a project's domain (or an explicit targetDomain) ranks in REAL Brave Search results for one keyword. |
create_rank_tracker | Creates a rank tracker config (domain + market + devices + schedule) for a project and returns its configId. |
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 }. |
remove_rank_tracking_keywords | Removes keywords from a rank tracker by their tracking-keyword IDs (from list_rank_tracking_keywords). |
start_site_audit | Starts a MisarSEO site crawl/audit from startUrl. |
get_site_audit_status | Progress of a site audit started by start_site_audit: { status, pagesCrawled, pagesTotal, lighthouseTotal, lighthouseCompleted, lighthouseFailed, currentPhase, startedAt, completedAt }. |
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. |
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. |
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). |
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). |
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). |
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. |
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. |
get_search_console_coverage | MisarSEO's own index-coverage report for the connected property: which URLs are indexed, excluded, or errored, and why. |
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. |
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. |
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 bucket. |
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). |
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. |
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). |
| `get_backli
只显示了开头部分;其余内容请在仓库中阅读