Skip to main content
Glama

Ranksmile

Server Details

AI visibility, Google rankings, Search Console and site audit data for your SEO agent.

Ownership verified
Status
Healthy
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

Score is being calculated.

Available Tools

16 tools
actions__getOne action
Read-onlyIdempotent
Inspect

One action of this workspace with what the user sees: overview, why (with its numbers), steps and which are done, the evidence read on the pages, the pages and prompts involved, the competitor pages behind it, and the content brief for owned actions.

ParametersJSON Schema
NameRequiredDescriptionDefault
action_idYesFrom actions__list.
workspace_idYesFrom workspace__list.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
whyNo
goalYes
briefNo
pagesNo
stepsYes
titleYes
impactNo
statusYes
promptsNo
surfaceNo
evidenceNo
overviewYes
competitor_evidenceNo
actions__listActions
Read-onlyIdempotent
Inspect

Recommended actions for this workspace, highest impact first: goal site (fix the site), owned (write or improve a page), earned (get onto an outside page: surface editorial, ugc or reference) or claims (correct what answers say). Each with impact (1-5), status (new, in_progress, done, declined), topic and steps done. actions__get has the details.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalNo
limitNoMax rows, 1-100 (default 20).
offsetNoRows to skip (default 0). Keep paging while has_more is true.
statusNo
surfaceNo
workspace_idYesFrom workspace__list.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countsYesby_goal and by_status, over all actions of the site.
domainYes
actionsYesid, goal, surface, kind, platform, page_type, status, impact, title, topic, models, steps, steps_done, created_at, done_at.
has_moreYes
workspace_idYes
article__getGet article
Read-onlyIdempotent
Inspect

Get one article: metadata, stored scores, and (optionally) the HTML body. Read the body when judging writing quality; skip it when you only need numbers.

ParametersJSON Schema
NameRequiredDescriptionDefault
article_idYes
content_offsetNoStart the body at this character (default 0); read on while content_truncated is true.
include_contentNoInclude the HTML body (default true).
max_content_charsNoBody characters per call (default 20000, max 50000).

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
slugNo
titleNo
statusNo
languageNo
meta_titleNo
updated_atNo
word_countNo
content_htmlNo
published_atNo
content_scoreNo
ranking_scoreNo
content_lengthYes
target_keywordNo
meta_descriptionNo
content_truncatedNo
article__jobsGeneration jobs
Read-onlyIdempotent
Inspect

The most recent analysis / generation jobs for an article, with status, payload and result. Use this when generated content looks wrong: it shows what the generator was told and what it returned. Payloads and results over 4000 characters are cut to a prefix.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows, 1-100 (default 5).
offsetNoRows to skip (default 0). Keep paging while has_more is true.
article_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
jobsYes
has_moreYes
article_idYes
article__listList articles
Read-onlyIdempotent
Inspect

List articles with their stored scores and word counts. Filter by workspace_id or status. Use this first to find the article ids the other tools take.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows, 1-100 (default 20).
offsetNoRows to skip (default 0). Keep paging while has_more is true.
statusNoExact status filter, e.g. "draft" or "published".
workspace_idNoRestrict to one workspace (default: all accessible).

Output Schema

ParametersJSON Schema
NameRequiredDescription
articlesYes
has_moreYes
article__optimize_logAuto-Optimize history
Read-onlyIdempotent
Inspect

The Auto-Optimize / publish history for an article: before and after score, before and after length, and the run metadata (mode, phase, rejection reason). Use this when Auto-Optimize appears to change nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows, 1-100 (default 10).
offsetNoRows to skip (default 0). Keep paging while has_more is true.
article_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
runsYes
has_moreYes
article_idYes
article__scoreExplain article score
Read-onlyIdempotent
Inspect

Explain an article's content score: the per-slot breakdown, word/heading/paragraph counts against their competitor-derived targets, and every NLP term with its current vs. required usage. This is the tool that says WHY a generated article scores badly.

ParametersJSON Schema
NameRequiredDescriptionDefault
article_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
scoreYescomputed = the SEO score of the current HTML: the sum of the six v7 components, rounded up, out of 100; overall = SEO and AI blended, which is what stored (articles.content_score) holds; model = the formula behind computed.
termsNoEach NLP term: missing (0 uses), low (under target), overuse (past the competitors' range) or ok.
countsYesActual document counts against the competitor-derived targets.
breakdownYesPer-slot points earned vs. available, with the hint explaining the gap.
article_idYes
terms_missingYes
target_keywordNo
audit__overviewSite audit
Read-onlyIdempotent
Inspect

The last site crawl for this workspace: site health and AI-search health (0-100), pages crawled, error and warning counts, and each issue with how many pages it affects, most severe first. Reads the stored crawl; starts nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows, 1-100 (default 20).
offsetNoRows to skip (default 0). Keep paging while has_more is true.
workspace_idYesFrom workspace__list.

Output Schema

ParametersJSON Schema
NameRequiredDescription
domainYes
errorsNo
issuesYesid, title, severity (error|warning|notice), count (pages affected), ai_search.
has_dataYes
has_moreYes
warningsNo
updated_atNo
site_healthNo
workspace_idYes
pages_crawledNo
pages_by_statusNoCrawled pages per bucket: healthy, broken (no answer or 4xx/5xx), haveIssues, redirects, blocked.
ai_search_healthNo
gsc__performanceSearch Console performance
Read-onlyIdempotent
Inspect

The last 30 days of Google Search Console for this workspace's site: clicks, impressions, CTR (%) and average position per query or per page, most clicks first. Pages or queries with many impressions at position 8-20 are the quickest wins.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows, 1-100 (default 50).
offsetNoRows to skip (default 0). Keep paging while has_more is true.
group_byNoDefault query.
workspace_idYesFrom workspace__list.

Output Schema

ParametersJSON Schema
NameRequiredDescription
rowsYeskey (query or page path), clicks, impressions, ctr (%), position.
domainYes
totalsYes
group_byNo
has_moreYes
connectedYes
last_fetchedNo
workspace_idYes
last_fetch_errorNo
rank__keywordsTracked keyword positions
Read-onlyIdempotent
Inspect

Google positions of the keywords this workspace tracks (checked daily): current position (null = not in the checked results), best position ever found, the ranking URL and search volume.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows, 1-100 (default 50).
offsetNoRows to skip (default 0). Keep paging while has_more is true.
workspace_idYesFrom workspace__list.

Output Schema

ParametersJSON Schema
NameRequiredDescription
domainYes
has_moreYes
keywordsYes
workspace_idYes
visibility__overviewAI visibility
Read-onlyIdempotent
Inspect

How often AI answers (ChatGPT, Perplexity, Gemini, Google AI) name this workspace's brand in the latest scan: the brand score, the brands named instead, the score per topic, the trend over the last scans, and every tracked prompt with its intent, tags, per-engine score and mention rate, least-mentioned first. The prompts at 0 are the gaps content can close; visibility__prompt shows why one is lost. The site-wide parts (overview, competitors, topics, history, scans_total, unanswered_prompts) come on the first page only; later pages carry the next prompts.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows, 1-100 (default 20).
offsetNoRows to skip (default 0). Keep paging while has_more is true.
workspace_idYesFrom workspace__list.

Output Schema

ParametersJSON Schema
NameRequiredDescription
brandYes
domainYes
topicsNoFirst page only. Per topic, weakest first: topic, prompts, mention_rate, previous_mention_rate (the scan before; null when none or not asked then), visibility_score.
historyNoFirst page only. Last completed scans, oldest first: scan_id, finished_at, visibility_score, mention_rate (null while a scan is still extracting brands).
promptsYesTracked prompts, least-mentioned first: prompt_id, topic, intent (informational|commercial|transactional|null), tags, text, mention_rate, previous_mention_rate (the scan before; null when none or not asked then), avg_position, per_model (model, score), brands_named.
has_moreYes
overviewNoFirst page only. visibility_score (0-100), mention_rate (% of answers naming the brand), avg_position, per_model. Null before the first scan.
competitorsNoFirst page only. Brands the answers name in at least two answers, plus every competitor the user tracks (listed first, tracked: true): brand, domain, mention_rate, avg_position, visibility_score, tracked.
scans_totalNoFirst page only. Completed scans of this site so far.
workspace_idYes
scan_finished_atNo
unanswered_promptsNoFirst page only. Prompts every engine failed to answer in this scan, so they have no rate: prompt_id, topic, text. visibility__prompt shows the errors.
visibility__promptAI visibility of one prompt
Read-onlyIdempotent
Inspect

One tracked prompt in the latest scan: each engine's answer, the brands it names (with sentiment and quotes), the pages it cites, the sub-queries the engine searched (fan-out), and the stored "how to get cited" advice. Use it to see why a prompt is lost, which pages to get onto, and how buyers phrase the question.

ParametersJSON Schema
NameRequiredDescriptionDefault
prompt_idYesFrom visibility__overview.
workspace_idYesFrom workspace__list.

Output Schema

ParametersJSON Schema
NameRequiredDescription
tagsNo
textYes
topicNo
adviceYessummary, article_keyword, scan_finished_at (the scan it was made for: it can be older than the answers), actions (title, detail, type, target). Null when none was made for this prompt.
intentNo
answersYesPer engine: model, status (answered|refused|error), answer (first 6000 chars), answer_truncated, own_cited, own_position, brands_analyzed (false while brands are still being read from it, so brands [] means not read yet), brands (brand, domain, sentiment, quotes), citations (url, domain, title), fan_out_queries.
prompt_idYes
workspace_idYes
scan_finished_atNo
visibility__sourcesPages AI answers cite
Read-onlyIdempotent
Inspect

The pages (by: "url") or sites (by: "domain") the latest scan's AI answers cite, most cited first, each with its type (UGC, Editorial, Reference, Institutional, Corporate, Competitor, You, Other). Per page: whether the answers citing it name the brand, whether the page itself does, and the brands named instead. gap: true marks pages that help competitors and not the brand: Editorial ones are outreach targets, UGC ones community threads, Competitor ones show what to out-write.

ParametersJSON Schema
NameRequiredDescriptionDefault
byNoDefault url.
limitNoMax rows, 1-100 (default 25).
offsetNoRows to skip (default 0). Keep paging while has_more is true.
gap_onlyNoPages only: keep the gap pages. Default false.
workspace_idYesFrom workspace__list.

Output Schema

ParametersJSON Schema
NameRequiredDescription
byYes
rowsYesurl: url, domain, type, title (the page's own once read, else the one the answer gave), http_status, times_cited, models, answer_names_brand, page_names_brand (null until read), brands_named, gap. domain: domain, type, used (% of answers citing it), citations.
domainYes
has_moreYes
type_sharesYesEach type's share (%) of all citations: type, share, citations.
workspace_idYes
distinct_domainsYesDistinct sites cited: under 5 is a narrow source base.
scan_finished_atNo
workspace__get_contextGet workspace context
Read-onlyIdempotent
Inspect

What Ranksmile knows about a workspace: the brand name and notes the editor writes from, the voices, the competitors found in search, and the research log (the newest 20 entries of the last 90 days, with age_days). Call it before SEO work. Before paying for research, reuse a log entry under 30 days old. missing lists what is still empty.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idYesFrom workspace__list.

Output Schema

ParametersJSON Schema
NameRequiredDescription
domainYes
voicesNo
missingYes
brand_nameNo
competitorsNoDomains competing in search: domain, appearances, avg_position.
research_logYesThe newest 20 entries of the last 90 days, newest first: id, summary, author, created_at, age_days.
workspace_idYes
brand_knowledgeYes
workspace__listList workspaces
Read-onlyIdempotent
Inspect

List the Ranksmile workspaces the connected account can access, with their primary domain.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
workspacesYes
workspace__update_contextUpdate workspace context
Destructive
Inspect

Save what you learned so the editor and other agents use it. Ops apply in order; if one is invalid, none is applied. To ADD a fact to the brand notes use {"append_brand_knowledge": "..."}: it keeps everything already there. {"brand_knowledge": "..."} REPLACES the whole notes ("" clears them): use it only to rewrite or shorten, after reading them with workspace__get_context. The notes hold at most 4000 characters. {"append_research_log": ": . Verdict: "} records research you did (max 500 chars). Confirm facts with the user before storing them. Returns the updated context.

ParametersJSON Schema
NameRequiredDescriptionDefault
updatesYes
workspace_idYesFrom workspace__list.

Output Schema

ParametersJSON Schema
NameRequiredDescription
domainYes
voicesNo
missingYes
brand_nameNo
competitorsNoDomains competing in search: domain, appearances, avg_position.
research_logYesThe newest 20 entries of the last 90 days, newest first: id, summary, author, created_at, age_days.
workspace_idYes
brand_knowledgeYes

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 16 tool updates
    • First observedactions__get
    • First observedactions__list
    • First observedarticle__get
    • First observedarticle__jobs
    • First observedarticle__list
    • First observedarticle__optimize_log
    • First observedarticle__score
    • First observedaudit__overview
    • First observedgsc__performance
    • First observedrank__keywords
    • First observedvisibility__overview
    • First observedvisibility__prompt
    • First observedvisibility__sources
    • First observedworkspace__get_context
    • First observedworkspace__list
    • First observedworkspace__update_context

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to access self-hosted SEO data and workflows, including keyword research, rank tracking, competitor insights, backlinks, site audits, and AI visibility.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Provides AI-visibility scoring and site auditing capabilities for websites, enabling agents to check how sites appear in AI engines like ChatGPT and Perplexity, run full SEO/security audits, and monitor changes over time.
    15
    107 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to run SEO audits and reporting over a user's own Search Console, Google Analytics, Bing, and keyword/competitor provider data, including page/index status, traffic comparisons, backlinks, and local crawl/internal-link analysis.
    1,975 npm
    585
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources