# MisarSEO Muse connector

From musedirectory.ai, the independent directory of Meta Muse connectors. Not affiliated with Meta.

## MisarSEO

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

- Record: https://musedirectory.ai/connector/misarseo
- Category: Marketing & Ads
- Developer: Misar AI (https://www.misarseo.com)
- Muse status: Extra setup. Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
- Health: Working, 723ms, checked 2026-10-29T11:26:45Z
- Endpoint: https://api.misar.io/seo/mcp
- Auth: Needs an access key; Pricing: unknown
- Screening: Screened, no issues found (2026-10-29T11:26:45Z)
- Source: Found in the official MCP Registry (io.github.Misar-AI/misarseo-mcp) https://registry.modelcontextprotocol.io/v0/servers?search=io.github.Misar-AI%2Fmisarseo-mcp

SEO platform connecting to search data providers for keyword research, rank tracking across markets, competitor monitoring, site audits, and organic traffic analysis. Muse can help marketers research keywords, track ranking positions, identify content gaps, and monitor competitor changes.

Example request: "Show me which keywords my competitors rank for that I don't, and what content I should create to compete in those areas."

How to connect: Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use MisarSEO to help me. It is a free service with an MCP server at https://api.misar.io/seo/mcp. It needs an API key from Misar AI; ask me to enter it through your secure credential prompt. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Tools:
- 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

Screening checks:
- MCP handshake: pass (Answered in 723ms)
- Domain against threat feeds (Cloudflare security DNS): pass (api.misar.io, www.misarseo.com not flagged)
- Published packages against the OSV malicious-package database: pass (No malicious-package advisories)
- Hidden instructions or invisible characters in tool text: pass (120 tools read, nothing found)
- Inputs asking for passwords, card numbers or seed phrases: pass (None found)
- Domain and redirects: pass (No redirects off the domain)
- AI review of purpose and tool behavior: pass (No concerns)
