Sign In

tracetify-mcp

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

tracetify-mcp - npm Package Compare versions

Comparing version
0.3.0
to
0.3.1
+1
-1
package.json
{
"name": "tracetify-mcp",
"mcpName": "io.github.tracetify/tracetify-mcp",
"version": "0.3.0",
"version": "0.3.1",
"description": "MCP server for Tracetify — trace how any product actually grew, from inside Claude Code or Cursor.",

@@ -6,0 +6,0 @@ "keywords": [

+59
-12
# tracetify-mcp
MCP server for [Tracetify](https://tracetify.com) — trace how any product
actually grew, without leaving Claude Code or Cursor.
actually grew, read your own Search Console, and audit a site, without leaving
Claude Code or Cursor.

@@ -11,8 +12,26 @@ Most competitive tools tell you where a product stands **today**. Tracetify

Full setup guide and example questions: **[tracetify.com/mcp](https://tracetify.com/mcp)**
## Setup
1. Sign in at [tracetify.com](https://tracetify.com) and create an API key
in the dashboard.
2. Add the server to your MCP client config:
Create an API key in the [dashboard](https://tracetify.com/dashboard/ai), then
pick one of the two transports.
**Claude Code — one command:**
```
claude mcp add tracetify -e TRACETIFY_API_KEY=ttfy_... -- npx -y tracetify-mcp
```
**Or skip the install entirely** — nothing to install, not even Node:
```
claude mcp add --transport http tracetify https://tracetify.com/api/mcp --header "Authorization: Bearer ttfy_..."
```
Same tools, same balance; the server runs on our side.
**Claude Desktop / Cursor** take the same JSON (Cursor reads
`~/.cursor/mcp.json`):
```json

@@ -30,7 +49,4 @@ {

Claude Code: `claude mcp add tracetify -e TRACETIFY_API_KEY=ttfy_... -- npx -y tracetify-mcp`
**Codex** uses TOML in `~/.codex/config.toml` — note the snake_case table name:
Cursor takes the same JSON in `~/.cursor/mcp.json`. Codex uses TOML in
`~/.codex/config.toml` — note the snake_case table name:
```toml

@@ -43,18 +59,49 @@ [mcp_servers.tracetify]

## Try asking
Your agent picks the right tool on its own — these are real questions, not
placeholders:
- *How did photoai.com get its first users? Cite the sources.*
- *My page ranks #12 for "ai headshot generator" — what should I change to reach page one?*
- *We just deployed — audit example.com and fix what you find.*
- *Where can I get my new SaaS listed for real dofollow links?*
If your agent ever reaches for the wrong tool, say `trace <domain>` and it will
come straight here.
## Tools
Tools that cost credits quote the price first and wait for you to say yes.
Reading existing reports never costs anything.
| Tool | Cost | What it does |
| --- | --- | --- |
| `search_reports` | free | Find existing growth reports by domain |
| `read_report` | free | Read a full report (timeline & verdict follow your account's unlocks) |
| `start_trace` | credits | Trace a new competitor from 12 sources (~60–90s); returns a cached report for free when a fresh one exists |
| `read_report` | free | Read a full report — timeline & verdict follow your account's unlocks |
| `start_trace` | 10 credits | Rebuild a competitor's growth from 12 sources (~60–90s); a fresh cached report comes back free |
| `get_trace` | free | Poll a running trace |
| `unlock_report` | credits | Permanently unlock a report's full timeline, evidence & SEO detail (idempotent — never charges twice) |
| `unlock_report` | 10 credits | Permanently unlock a report's full timeline, evidence & SEO detail (idempotent — never charges twice) |
| `gsc_overview` | free | Your own Search Console: clicks, impressions, period comparison |
| `gsc_queries` | free | Your real ranking keywords with position and CTR — find what sits at #5–20 |
| `gsc_pages` | free | Your pages by search performance, including high-impression low-CTR ones |
| `site_audit_start` | 3 credits | Crawl a site for broken links, missing titles, redirect chains, thin content |
| `site_audit_get` | free | Poll an audit and read the issue list grouped by severity |
| `research_domain_overview` | 8 credits | Estimated organic traffic and top keywords for any domain |
| `research_backlinks` | 8 credits | Referring domains, authority and anchor texts |
| `research_brand_lookup` | 30 credits | How AI assistants cite a brand: platforms, mentions, associated entities |
| `backlink_directories` | 8 credits | Hand-verified directories that actually give dofollow links (billed once per day) |
Fresh traces draw from your Tracetify credit balance — the same balance the
Everything draws from your Tracetify credit balance — the same balance the
website uses. No seats, no per-tool add-ons. Top up at
[tracetify.com/pricing](https://tracetify.com/pricing).
## What this package does
It is a thin protocol adapter: MCP tool calls in, Tracetify HTTP API calls out.
No business logic, no data of its own — your API key never leaves your machine
except as an `Authorization` header to `tracetify.com`.
## License
MIT

@@ -155,3 +155,14 @@ /**

def.name,
{ title: def.title, description: def.description, inputSchema },
{
title: def.title,
description: def.description,
inputSchema,
// manifest 的 {readOnly, destructive} → 协议的 ToolAnnotations。
// 只读工具宿主可"一律允许",计费工具保持逐次确认;注解是提示,
// 服务端的计费确认不因此少一行
annotations: {
readOnlyHint: def.annotations.readOnly,
destructiveHint: def.annotations.destructive,
},
},
async (args) => call(buildRestRequest(def, args))

@@ -158,0 +169,0 @@ );

@@ -6,2 +6,6 @@ {

"name": "search_reports",
"annotations": {
"readOnly": true,
"destructive": false
},
"title": "Search growth reports",

@@ -25,2 +29,6 @@ "description": "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.",

"name": "read_report",
"annotations": {
"readOnly": true,
"destructive": false
},
"title": "Read a growth report",

@@ -44,2 +52,6 @@ "description": "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).",

"name": "start_trace",
"annotations": {
"readOnly": false,
"destructive": false
},
"title": "Trace how a product grew",

@@ -69,2 +81,6 @@ "description": "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.",

"name": "get_trace",
"annotations": {
"readOnly": true,
"destructive": false
},
"title": "Check a running trace",

@@ -88,2 +104,6 @@ "description": "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.",

"name": "unlock_report",
"annotations": {
"readOnly": false,
"destructive": false
},
"title": "Unlock full timeline & evidence",

@@ -107,2 +127,6 @@ "description": "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.",

"name": "gsc_overview",
"annotations": {
"readOnly": true,
"destructive": false
},
"title": "Search Console overview",

@@ -126,2 +150,6 @@ "description": "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).",

"name": "gsc_queries",
"annotations": {
"readOnly": true,
"destructive": false
},
"title": "Search Console queries",

@@ -145,2 +173,6 @@ "description": "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.",

"name": "gsc_pages",
"annotations": {
"readOnly": true,
"destructive": false
},
"title": "Search Console pages",

@@ -164,2 +196,6 @@ "description": "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.",

"name": "site_audit_start",
"annotations": {
"readOnly": false,
"destructive": false
},
"title": "Start a site audit",

@@ -195,2 +231,6 @@ "description": "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.",

"name": "site_audit_get",
"annotations": {
"readOnly": true,
"destructive": false
},
"title": "Read a site audit",

@@ -214,2 +254,6 @@ "description": "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.",

"name": "research_domain_overview",
"annotations": {
"readOnly": false,
"destructive": false
},
"title": "Domain SEO overview",

@@ -233,2 +277,6 @@ "description": "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).",

"name": "research_backlinks",
"annotations": {
"readOnly": false,
"destructive": false
},
"title": "Backlink profile",

@@ -252,2 +300,6 @@ "description": "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.",

"name": "research_brand_lookup",
"annotations": {
"readOnly": false,
"destructive": false
},
"title": "AI search visibility",

@@ -271,2 +323,6 @@ "description": "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.",

"name": "backlink_directories",
"annotations": {
"readOnly": false,
"destructive": false
},
"title": "Verified directory list",

@@ -273,0 +329,0 @@ "description": "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.",