Audits websites for search engine and AI readability, ranks fixes by impact, and checks improvements live.
mttr reads websites as search engines and AI assistants do, identifies technical issues ranked by priority, and verifies fixes. Tools check structured data, SSL certificates, X cards, multi-location SEO, and track changes across rescans. Requires signup and API key.
Try asking Muse: "Show me the top fixes needed on my website to improve how Google and AI assistants read it."
Source: Found in the official MCP Registry (si.mttr/mttr) · First listed October 29, 2026
Each bar is one check, every 15 minutes. Green means it answered. Last checked 2 h ago.
What Muse can see: It does not ask you to sign in, so it cannot see your accounts. It only sees what Muse sends it from your request.
Before it acts: Read what Muse plans to do before you approve it, and remove the app from Muse when you stop using it.
musedirectory.ai is not part of Meta. More about how Muse handles your information
Not in Muse's Connectors list yet, but Muse can still use it. Copy the request below and paste it into Muse. 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.
https://mttr.si/mcpNot in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
mttr is a remote MCP server, so any assistant that can add a custom connector by link can use it. Same link, same tools.
In ChatGPT, open Settings, then Connectors (called Apps & Connectors on some accounts).
Under Advanced settings, switch on Developer mode. That is what lets you add a connector by link.
Choose Create, give it a name, paste the link as the MCP server URL, and save. If it needs a sign-in, ChatGPT asks for it here.
Start a chat, open the tools menu, pick the connector, and ask. ChatGPT asks before it runs a tool the first time.
Custom connectors need a paid ChatGPT plan, and on Team, Enterprise and Edu accounts only an admin can add them. Our "Working" label means the server answered us; it cannot tell whether your plan lets you add it. All connectors that work in ChatGPT
In Claude, open Settings, then Connectors.
Choose Add custom connector, give it a name, and paste the link.
If it needs a sign-in, Claude sends you to it. Then turn the connector on in a chat from the tools menu and ask.
Custom connectors are available on paid Claude plans; on Team and Enterprise accounts an admin may need to add them. Our "Working" label means the server answered us; it cannot tell whether your plan lets you add it. All connectors that work in Claude
https://mttr.si/mcpResponse time at the last check: 396ms. Worked in n/a of checks over 30 days.
Screened, no issues found
Screening looks for known threats and hidden instructions at the time of the check, and runs again weekly and whenever the tool list changes. It cannot see the server's code, so only connect what you need and review what Muse asks to do. How screening works.
mttr_sitesLists the sites mttr has read, each with its latest score, page count and the rule to fix first.mttr_siteOne site as its latest run found it: the score and its letter `grade`, the four stages with theirs (`grades`), its `rank` among every ranked site ({place, of}), the towns it serves (`served`, from its structured data, its town pages and its own place), and every fix in order withmttr_briefThe fix list for a site as Markdown, written to be acted on: what to fix, in what order, how, why, and on which pages. Start here.mttr_planThe plan for a site: the fixes worth the most as ordered steps, each with what to do, a few of its pages and the points it is worth, and the words to hand an agent to work through them.mttr_pagesThe pages of a site from its latest run, with status, depth, words and the rules each fails. Can be narrowed to the pages failing one rule.mttr_pageOne page of a site: what it says about itself, the rules it fails with the fix for each, and the pages that link to it and that it links to.mttr_product_checkChecks one live product page's structured data the way the free schema checker does: each Product, ProductGroup and Offer field by field against the fields Google lists for merchant listings (name, image, offers, price above zero, priceCurrency in ISO 4217, availability, shippingmttr_agent_viewReads one live page the way an agent does, the free "What an agent reads" tool: robots.txt asked first, so a page closed to mttr is not fetched; then its main content as Markdown with words and an estimated token count (about 4 characters a token), and what helped or hurt the reamttr_schema_createMakes JSON-LD for one page from the fields given, as the free schema creator does, and fetches nothing. Types: LocalBusiness, Organization, Product, Article, BreadcrumbList, Service, Event, WebSite, each with the fields Google's own structured data pages mark required or recommenmttr_x_cardTests one live link's X card, the free X card tester: robots.txt asked first, so a page closed to mttr is not fetched; then its twitter: tags against what X's archived card docs list (one twitter:card, the site, title, image and its size, and for a player card an https twitter:plmttr_locationsGrades a brand's location pages together, the free multi-location grader: robots.txt asked first, so a site closed to mttr is not read; then its home page and sitemap, and up to 25 location pages, state and city listings followed down to the places and subpages every location hasmttr_ssl_checkChecks one public host's SSL certificate, the free SSL certificate checker: one TLS handshake on port 443 with the name sent as SNI and nothing sent but the handshake. Whether the certificate is valid for the name, who issued it, valid from and until with the days left (a warningmttr_changesWhat the latest run of a site changed against the run before it: the score, rules now passing, rules newly failing, and pages added and removed. Call it after a rescan is done. For a site whose server sends its own counts, "visits" sets people, people an assistant sent and crawlemttr_rescanAsks mttr to read a site again, after it has been changed. Returns a job to watch with mttr_job. A site is read at most once every ten minutes.mttr_citationsWhat assistants were found to cite for a site, question by question, from lookups already made, and the credits left for more. Costs nothing.mttr_citeAsks ChatGPT, Gemini and Perplexity one question with web search on, and says whether each cites the site, where, whether it names it without citing it, and who it cites instead. Paid in mttr credits; mttr_citations shows the price and the balance first. Only the assistants mttr mttr_signupSigns the person up with their email, the one call that works before mttr has a key for them. It answers their key, shown once, and the command that connects with it. Connect again with the key: it reads any public site’s report at once, and claiming their site with mttr_claim admttr_claimStarts claiming a site for the person: the TXT record or the file that proves they control it. Put either one up, then call mttr_claim_check. A claimed site joins their account: its Search Console figures, visits, citations and rivals, their work board and their progress page. Anmttr_claim_checkChecks the record or file from mttr_claim and, once it is found, adds the site to the person's account. A new DNS record can take a few minutes to be seen.mttr_listNames a site the person has claimed on the public leaderboard, with a link to its report, or with show false takes its name off again so it goes by an anonymous code. Only a claimed site can be named.mttr_log_workTells mttr what you did on a site, after each step: what you planned, changed, checked, or where you got stuck, what you found along the way, the files you touched and the rules you worked on. It shows on your person’s progress page, and mttr reads these to get better. Never sendmttr_approvals_setSets how you work on one of the person's claimed sites: automatic, where you deploy each change as you go, or approve, where you propose each change with mttr_propose and deploy it only once the person approves. Turning approve off is emailed to the person. mttr_proposals({ site mttr_proposeBefore you deploy a change to a site set to approve, proposes it to the person: mttr keeps it and emails them what the change is, the rule and pages, your summary marked as your words, and an Approve and a Decline link, each working once and lapsing after 72 hours. Then wait: calmttr_proposalWhere one proposal stands: pending, approved, declined or expired, with "deploy" true only once the person approved it, and their reason when they declined. Poll it every few minutes after mttr_propose; deploy only when it says approved.mttr_proposalsThe person's proposals, newest first, each with where it stands, for one site or all of them. With a site, it also says whether that site is set to approve or automatic: check it before you start work on a site.mttr_todoThe person's work across their sites, as their progress page shows it: the next fix to make, with the words to work from, then every other fix by worth, what slipped back, what a read has checked fixed, and sites changed since their last read that need reading again. A fix countsmttr_content_brainA claimed site's content brain as files to save under .mttr/brain/ in its repository: what the business does and where, how its pages read, the facts its structured data states, what is worth writing, and every brief so far. Read it before writing any page.mttr_content_nextThe brief for the page most worth writing next on a claimed site: the question, why, the kind of page and its path, the facts to use, the voice, and the rules it will be held to. mttr does not write the page; you or your person do. At most three briefs are open at once. When the mttr_content_doneSays where a content brief's page went on the site, by the brief's id from mttr_content_next and the page's path. The brief goes live when a later read finds that page, and keeps where the site stood then. Ask for a read with mttr_rescan after.mttr_content_dropDrops one of your open content briefs for a site, by its id, freeing its place among the three open at once. A dropped brief is never handed out again.mttr_content_postsBriefs for posts about a page that went live from one of your content briefs: for X and for LinkedIn, the point of the page, one fact of the site's own that carries it, the link, the voice, and the characters left (X counts a link as 23). mttr writes no post and posts nothing; yomttr_queueWhat the person queued for you from their mttr, oldest first: each task with its id, its site, and the words to work from. Check it when you start, and whenever an answer says tasks are waiting.mttr_queue_doneSays a queued task is done, by its id from mttr_queue. The fix itself counts only once a later read finds it passing, so ask for a fresh read with mttr_rescan.mttr_progress_linkA private link to the person's progress page: their sites, every read, what each changed, and what this agent has asked. Signed with this key; it lapses after the days asked (30 if none, 90 at most) or when the key is rotated. Hand it only to the person.mttr_portfolioThe person's portfolio, private to them: one score across every site they have claimed, half for what was improved while they held each site, three tenths for where the sites stand now, and a fifth for search traffic, not counted yet. Every site by its real name with what it givemttr_portfolio_setChanges the person's portfolio: publish or hide it, a display name (shown as chosen by its holder, not checked; null clears it), a home site that says who is behind it (one of their sites proved by DNS or a file), or whether one site is named on it or goes by its code. A site is mttr_portfolio_vetoFor the owner of a site: takes it out of every portfolio but their own, at once, or with out false puts it back. Needs the site proved with this key by DNS or a file. To keep a site in portfolios but take its name off, call mttr_list with show false.mttr_jobHow a rescan stands: waiting, running, done or failed, and how many reads are ahead of it.mttr_eventsThe newest things that happened: reads asked for, finished and failed, scores that moved, rules that were fixed.mttr_crawlsThe crawl as it stands: the sites being read now, the next in line, and how the reads that ended over the last 1, 7 or 30 days ended.https://mttr.si/mcpNot in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use mttr to help me. It is a free service with an MCP server at https://mttr.si/mcp. It does not need an API key. 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.
At the last check (October 29, 2026, 23:16 UTC) the endpoint was working, answering in 396ms. It is checked every 15 minutes.
It was screened on October 29, 2026 with the result "screened, no issues found". Screening checks the domain against threat feeds and reads the tools for hidden instructions and requests for passwords or card numbers. It cannot see the server's code, so grant only the access you need.
It exposes 40 tools, including mttr_sites, mttr_site, mttr_brief, mttr_plan. For example, you could ask Muse: "Show me the top fixes needed on my website to improve how Google and AI assistants read it."
This listing was added from public sources (Found in the official MCP Registry (si.mttr/mttr)). If you build mttr, claim it to correct the details and get your badge.
Paste this on your site or README. It always shows the latest check.
<a href="https://musedirectory.ai/connector/mttr"><img src="https://musedirectory.ai/badge/mttr.svg" alt="mttr on musedirectory.ai" width="236" height="40"></a>