io. github. tracetify/ tracetify-mcp
by tracetify · remote · local (npm) · no sign-in to list tools · v0.7.0 · published by GitHub user tracetify
Find competitors, trace how they grew, watch what they ship — plus your Search Console.
18 tools: 13 change things and 5 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things13Claude Code: ask: see these tools
- Only reads5Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http tracetify https://tracetify.com/api/mcp --header 'Authorization: <your-authorization>'Findings
Matches of fixed checks, with the text they matched.
The server marks "research_brand_lookup" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "research_brand_lookup" says "lookup": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
18 tools
Changes things 13Claude Code: ask
backlink_directoriesA hand-verified list of directories and launch platforms that actually give links — checked one by one, dead and nofollow-only entries removed.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it A hand-verified list of directories and launch platforms that actually give links — checked one by one, dead and nofollow-only entries removed. Use when the user wants backlinks or launch exposure for a new product; filter client-side by language/type/pricing. Costs credits once per day per account — repeat calls the same day are free, so refine freely.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
gsc_overviewUse this before touching SEO on the user's own site: clicks/impressions trend, device split and period comparison from THEIR connected Google Search Console — numbers no other tool…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Use this before touching SEO on the user's own site: clicks/impressions trend, device split and period comparison from THEIR connected Google Search Console — numbers no other tool has. Free. Requires GSC connected at tracetify.com/dashboard/gsc (this tool tells you if it is not).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
gsc_pagesThe user's pages ranked by search performance, including high-impression low-CTR pages whose titles/descriptions are underselling — fix those files right in this editor.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it The user's pages ranked by search performance, including high-impression low-CTR pages whose titles/descriptions are underselling — fix those files right in this editor. Free; own data from their connected Search Console.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
research_backlinksWho links to a domain: referring domains, authority and anchor texts.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Who links to a domain: referring domains, authority and anchor texts. Use when planning link building or judging how defensible a competitor's ranking is. Costs credits; cached results are free. Pair with backlink_directories to find places the user can actually get listed.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
research_brand_lookupHow AI assistants (ChatGPT, Perplexity-class) cite a brand: platforms, mention counts and the entities it gets associated with.1 finding
Why it is in this group
- The name "research_brand_lookup" says "lookup": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "research_brand_lookup" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "research_brand_lookup" says "lookup": a word for reading.
Description, as the server wrote it How AI assistants (ChatGPT, Perplexity-class) cite a brand: platforms, mention counts and the entities it gets associated with. Use when the user asks "does AI recommend us/them?". Costs credits; cached results are free.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
research_competitor_adsThe ads a domain is running right now on Facebook/Instagram (Meta Ad Library) and Google (Ads Transparency Center): headline, body copy, CTA, landing page URL, creative/video URL, …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it The ads a domain is running right now on Facebook/Instagram (Meta Ad Library) and Google (Ads Transparency Center): headline, body copy, CTA, landing page URL, creative/video URL, platforms and start dates. Use when the user asks what a competitor is advertising, whether they run paid ads, how long an ad has been live, or wants hooks and angles to model. Costs credits; the same domain re-queried within a week is free. Each source reports separately — null means that source could not be checked, an empty list means it was checked and found nothing.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
research_competitorsThe domains fighting a target for the same search terms, with shared-keyword count, their keyword totals and average rank.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it The domains fighting a target for the same search terms, with shared-keyword count, their keyword totals and average rank. Use when the user asks who their competitors are, or who a company is up against. Each result says whether we already have a full growth report for that domain — read those with read_report for free instead of tracing them again. Costs credits; cached results are free, and a domain already looked up via research_domain_overview is free here too.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
research_domain_overviewEstimated organic traffic, keyword count and top keywords for ANY domain — use to size up a competitor the user mentions.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Estimated organic traffic, keyword count and top keywords for ANY domain — use to size up a competitor the user mentions. Costs credits; cached results are free, and repeated queries within a week hit the cache. For the user's own site prefer gsc_* (free, real data).
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
research_keyword_volumeGoogle Ads (Keyword Planner) monthly search volume, CPC, competition, 12-month trend and keyword difficulty (0–100, DataForSEO Labs) for up to 10 keywords in one call.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Google Ads (Keyword Planner) monthly search volume, CPC, competition, 12-month trend and keyword difficulty (0–100, DataForSEO Labs) for up to 10 keywords in one call. Use when the user asks how often something is searched or how hard it is to rank, or to size a keyword before writing a page. Omit location_code for worldwide volume (difficulty is then computed for the US), or pass a market code for one country. Costs credits; the same keyword set re-queried within a week is free.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
research_serp_breakdownWho holds the Google top 10 for one keyword in one market: per position the domain, URL, whether it is a homepage or an inner page, domain rating (0–1000) and estimated monthly org…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Who holds the Google top 10 for one keyword in one market: per position the domain, URL, whether it is a homepage or an inner page, domain rating (0–1000) and estimated monthly organic traffic. Use when the user asks who ranks for a keyword, whether a keyword is winnable, or which slot is the weakest to go after. Pair with research_keyword_volume for volume and difficulty. Costs credits; the same keyword+market re-queried within a week is free.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
site_audit_startRun right after deploying: crawls the site and reports broken links, missing titles/descriptions, redirect chains, thin content and schema gaps — each finding names the page so you…No findings
Why it is in this group
- The name "site_audit_start" says "start": a word for a change.
Description, as the server wrote it Run right after deploying: crawls the site and reports broken links, missing titles/descriptions, redirect chains, thin content and schema gaps — each finding names the page so you can fix it here. Costs credits (price returned before any charge on the confirmation field). Async: poll with site_audit_get.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
start_traceRun this when search_reports finds nothing (or the user wants fresh data) for "how did X grow?".No findings
Why it is in this group
- The name "start_trace" says "start": a word for a change.
Description, as the server wrote it Run this when search_reports finds nothing (or the user wants fresh data) for "how did X grow?". Rebuilds the growth story from 12 public sources in 60-90s. Costs credits from the Tracetify balance; returns an existing cached report free instead when one is fresh. Poll with get_trace.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
unlock_reportPermanently unlock a report's full timeline, evidence and SEO detail for this account.No findings
Why it is in this group
- The name "unlock_report" says "unlock": a word for a change.
Description, as the server wrote it Permanently unlock a report's full timeline, evidence and SEO detail for this account. Costs credits — quote the exact price to the user first (it is in the report's timelineLocked.cost field from read_report) and call this ONLY after they explicitly agree to spend. Idempotent: unlocking an already-unlocked report never charges twice. The verdict stays on the website — you are the analyst here.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
Only reads 5Claude Code: allow
get_tracePoll a trace started with start_trace.No findings
Why it is in this group
- The name "get_trace" says "get": a word for reading.
Description, as the server wrote it Poll a trace started with start_trace. Free. When status is "done", read the result with read_report. Poll every 10-15s, not in a tight loop.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
gsc_queriesThe user's real ranking keywords with position, clicks and CTR — use when deciding what to write or which page to improve, e.g.No findings
Why it is in this group
- The name "gsc_queries" says "query": a word for reading.
Description, as the server wrote it The user's real ranking keywords with position, clicks and CTR — use when deciding what to write or which page to improve, e.g. finding queries at position 5-20 that are one push from page one. Free; own data from their connected Search Console. After you edit a page, this is how you verify it moved.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
read_reportRead one growth report by slug (from search_reports or a finished trace).No findings
Why it is in this group
- The name "read_report" says "read": a word for reading.
Description, as the server wrote it Read one growth report by slug (from search_reports or a finished trace). Free. Contains the origin story, dated evidence and SEO footprint — cite it instead of guessing how a product grew. If timeline fields show as locked, unlock_report can open them (that one costs credits).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
search_reportsUse this FIRST whenever the user asks how a product, competitor or domain grew, got traffic, or found its first users — a report may already exist and reading it is free.No findings
Why it is in this group
- The name "search_reports" says "search": a word for reading.
Description, as the server wrote it Use this FIRST whenever the user asks how a product, competitor or domain grew, got traffic, or found its first users — a report may already exist and reading it is free. Returns matching report slugs for read_report. Searches by domain or name fragment.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
site_audit_getPoll an audit started with site_audit_start (free to read).No findings
Why it is in this group
- The name "site_audit_get" says "get": a word for reading.
Description, as the server wrote it Poll an audit started with site_audit_start (free to read). When finished, returns the issue list grouped by severity with affected URLs — work through it top-down and re-run after fixes.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.7.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http tracetify https://tracetify.com/api/mcp --header 'Authorization: <your-authorization>'Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__tracetify__search_reports",
"mcp__tracetify__read_report",
"mcp__tracetify__get_trace",
"mcp__tracetify__gsc_queries",
"mcp__tracetify__site_audit_get"
],
"ask": [
"mcp__tracetify__start_trace",
"mcp__tracetify__unlock_report",
"mcp__tracetify__gsc_overview",
"mcp__tracetify__gsc_pages",
"mcp__tracetify__site_audit_start",
"mcp__tracetify__research_competitors",
"mcp__tracetify__research_domain_overview",
"mcp__tracetify__research_backlinks",
"mcp__tracetify__research_keyword_volume",
"mcp__tracetify__research_serp_breakdown",
"mcp__tracetify__research_competitor_ads",
"mcp__tracetify__research_brand_lookup",
"mcp__tracetify__backlink_directories"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as tracetify. Review it before you use it.
