rankcontrol 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -5
- package/package.json +1 -1
- package/src/cli.mjs +1 -7
- package/src/client.mjs +0 -1
- package/src/login.mjs +0 -2
- package/src/mcp.mjs +2 -9
package/README.md
CHANGED
|
@@ -29,7 +29,7 @@ The env var wins over the stored config when both exist. Scopes are set per key;
|
|
|
29
29
|
|
|
30
30
|
```bash
|
|
31
31
|
# Visibility and citations
|
|
32
|
-
npx rankcontrol funnel # AI crawls / AI visits
|
|
32
|
+
npx rankcontrol funnel # AI crawls / AI visits (30d)
|
|
33
33
|
npx rankcontrol score # composite visibility score + subscores (AI/Google/Bing)
|
|
34
34
|
npx rankcontrol visibility --days 60 # daily AI visibility score trend
|
|
35
35
|
npx rankcontrol sov --days 30 # share of voice vs competitors
|
|
@@ -68,7 +68,6 @@ npx rankcontrol detect-links https://example.com/sitemap.xml
|
|
|
68
68
|
npx rankcontrol add-pages https://example.com/pricing
|
|
69
69
|
|
|
70
70
|
# Leads and analytics
|
|
71
|
-
npx rankcontrol leads --limit 100 # captured leads with AI source attribution
|
|
72
71
|
npx rankcontrol traffic --days 30 # page views, visitors, bounce rate, time on page
|
|
73
72
|
npx rankcontrol engagement # per-page views, citations, sparkline
|
|
74
73
|
npx rankcontrol analytics-sources # which source writes traffic/crawler data
|
|
@@ -154,7 +153,7 @@ Or in `.mcp.json` / Cursor `mcp.json`:
|
|
|
154
153
|
|
|
155
154
|
| Tool | What it does |
|
|
156
155
|
|---|---|
|
|
157
|
-
| `get_overview_funnel` | AI crawls / AI visits
|
|
156
|
+
| `get_overview_funnel` | AI crawls / AI visits, last 30 days |
|
|
158
157
|
| `get_visibility_score` | Composite score (50% AI + 30% Google + 20% Bing) with subscores |
|
|
159
158
|
| `get_visibility_trend` | Daily visibility score from stored weekly citation checks |
|
|
160
159
|
| `get_share_of_voice` | Your citation rate vs competitor mention rates + your share |
|
|
@@ -190,7 +189,6 @@ Or in `.mcp.json` / Cursor `mcp.json`:
|
|
|
190
189
|
|
|
191
190
|
| Tool | What it does |
|
|
192
191
|
|---|---|
|
|
193
|
-
| `list_leads` | Captured leads with AI model / query / page attribution |
|
|
194
192
|
| `get_traffic_overview` | Page views, visitors, sessions, bounce rate, time on page |
|
|
195
193
|
| `get_page_engagement` | Per-page views, citations, and a view sparkline |
|
|
196
194
|
| `get_analytics_sources` / `set_analytics_source` | Which source writes traffic and crawler data |
|
|
@@ -200,7 +198,7 @@ Or in `.mcp.json` / Cursor `mcp.json`:
|
|
|
200
198
|
|
|
201
199
|
| Tool | What it does |
|
|
202
200
|
|---|---|
|
|
203
|
-
| `get_exec_summary` | Last 30 days vs the 30 before: cite rate, views, crawls
|
|
201
|
+
| `get_exec_summary` | Last 30 days vs the 30 before: cite rate, views, crawls |
|
|
204
202
|
| `get_top_wins` | Most-cited page, best cite-rate jump, biggest ranking climb |
|
|
205
203
|
| `get_agent_activity` | Recent pipeline runs per agent lane |
|
|
206
204
|
| `list_jobs` | Async job status (agent runs) |
|
package/package.json
CHANGED
package/src/cli.mjs
CHANGED
|
@@ -49,15 +49,9 @@ export function runCli(argv) {
|
|
|
49
49
|
|
|
50
50
|
program
|
|
51
51
|
.command("funnel")
|
|
52
|
-
.description("AI pipeline last 30 days: crawls, AI visits
|
|
52
|
+
.description("AI pipeline last 30 days: crawls, AI visits")
|
|
53
53
|
.action(() => api.overviewFunnel().then(out).catch(fail));
|
|
54
54
|
|
|
55
|
-
program
|
|
56
|
-
.command("leads")
|
|
57
|
-
.description("Captured leads with source attribution (AI model, query, page)")
|
|
58
|
-
.option("--limit <n>", "Max rows, up to 500", "100")
|
|
59
|
-
.action((opts) => api.leads(Number(opts.limit)).then(out).catch(fail));
|
|
60
|
-
|
|
61
55
|
program
|
|
62
56
|
.command("traffic")
|
|
63
57
|
.description("Traffic overview: page views, visitors, sessions, bounce rate, time on page")
|
package/src/client.mjs
CHANGED
|
@@ -129,7 +129,6 @@ export const api = {
|
|
|
129
129
|
detectSiteLinks: (source, url) =>
|
|
130
130
|
request("POST", "/api/v1/links/detect", { source, url }),
|
|
131
131
|
addSitePages: (urls) => request("POST", "/api/v1/links/pages", { urls }),
|
|
132
|
-
leads: (limit = 100) => request("GET", `/api/v1/leads?limit=${limit}`),
|
|
133
132
|
repurposeQueue: () => request("GET", "/api/v1/repurpose"),
|
|
134
133
|
repurposeDrafts: (contentId) =>
|
|
135
134
|
request(
|
package/src/login.mjs
CHANGED
package/src/mcp.mjs
CHANGED
|
@@ -29,11 +29,11 @@ const plannedTitle = z.object({
|
|
|
29
29
|
});
|
|
30
30
|
|
|
31
31
|
export async function startMcpServer() {
|
|
32
|
-
const server = new McpServer({ name: "rankcontrol", version: "0.
|
|
32
|
+
const server = new McpServer({ name: "rankcontrol", version: "0.8.0" });
|
|
33
33
|
|
|
34
34
|
server.tool(
|
|
35
35
|
"get_overview_funnel",
|
|
36
|
-
"AI pipeline overview for the last 30 days: AI crawler hits
|
|
36
|
+
"AI pipeline overview for the last 30 days: AI crawler hits and visits referred by AI engines.",
|
|
37
37
|
{},
|
|
38
38
|
run(() => api.overviewFunnel())
|
|
39
39
|
);
|
|
@@ -90,13 +90,6 @@ export async function startMcpServer() {
|
|
|
90
90
|
run(({ days }) => api.shareOfVoice(days ?? 30))
|
|
91
91
|
);
|
|
92
92
|
|
|
93
|
-
server.tool(
|
|
94
|
-
"list_leads",
|
|
95
|
-
"Captured leads with source attribution: email, name, company, status, lead score, and the AI model / query / page that produced each lead.",
|
|
96
|
-
{ limit: z.number().max(500).optional().describe("Max rows, default 100") },
|
|
97
|
-
run(({ limit }) => api.leads(limit ?? 100))
|
|
98
|
-
);
|
|
99
|
-
|
|
100
93
|
server.tool(
|
|
101
94
|
"list_tracked_queries",
|
|
102
95
|
"The workspace's tracked queries — the questions RankControl checks weekly across the 6 AI engines for brand citations — with their status and metadata.",
|