@bettercms-ai/mcp 0.85.0 → 0.86.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/dist/index.js +35 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2988,6 +2988,10 @@ var LISTING_TAIL = /* @__PURE__ */ new Set([
|
|
|
2988
2988
|
// Reporting, history and workflow chrome.
|
|
2989
2989
|
"get_analytics_overview",
|
|
2990
2990
|
"get_analytics_top_pages",
|
|
2991
|
+
"get_analytics_top_referrers",
|
|
2992
|
+
"get_analytics_breakdown",
|
|
2993
|
+
"get_conversions",
|
|
2994
|
+
"get_ai_traffic",
|
|
2991
2995
|
"list_activity",
|
|
2992
2996
|
"get_workflow_board",
|
|
2993
2997
|
"move_stage",
|
|
@@ -5817,9 +5821,9 @@ ${d.outline}` : "Proposed Content structure.", d);
|
|
|
5817
5821
|
def(
|
|
5818
5822
|
"get_analytics_overview",
|
|
5819
5823
|
"Get traffic overview",
|
|
5820
|
-
|
|
5821
|
-
z.object({ from: z.string().optional(), to: z.string().optional() }).shape,
|
|
5822
|
-
async (c, a) => ok("Analytics overview.", await data(c, "GET", `/management/insights/analytics/overview${q({ from: a.from, to: a.to })}`))
|
|
5824
|
+
'Traffic totals and the daily series for the connected project: views, unique visitors, bytes, sessions, bounces and responses by status class. Defaults to the last 30 days; pass `from`/`to` as YYYY-MM-DD, and `compare: "previous"` for the previous period\'s totals beside them.',
|
|
5825
|
+
z.object({ from: z.string().optional(), to: z.string().optional(), compare: z.enum(["previous"]).optional() }).shape,
|
|
5826
|
+
async (c, a) => ok("Analytics overview.", await data(c, "GET", `/management/insights/analytics/overview${q({ from: a.from, to: a.to, compare: a.compare })}`))
|
|
5823
5827
|
),
|
|
5824
5828
|
def(
|
|
5825
5829
|
"get_analytics_top_pages",
|
|
@@ -5828,6 +5832,34 @@ ${d.outline}` : "Proposed Content structure.", d);
|
|
|
5828
5832
|
z.object({ from: z.string().optional(), to: z.string().optional(), limit: z.number().optional() }).shape,
|
|
5829
5833
|
async (c, a) => ok("Top pages.", await data(c, "GET", `/management/insights/analytics/top-pages${q({ from: a.from, to: a.to, limit: a.limit })}`))
|
|
5830
5834
|
),
|
|
5835
|
+
def(
|
|
5836
|
+
"get_analytics_top_referrers",
|
|
5837
|
+
"Get top referrers",
|
|
5838
|
+
"Traffic sources: the referrer hosts sending visitors, by views. Defaults to the last 30 days; pass `from`/`to` (YYYY-MM-DD) and `limit`.",
|
|
5839
|
+
z.object({ from: z.string().optional(), to: z.string().optional(), limit: z.number().optional() }).shape,
|
|
5840
|
+
async (c, a) => ok("Top referrers.", await data(c, "GET", `/management/insights/analytics/top-referrers${q({ from: a.from, to: a.to, limit: a.limit })}`))
|
|
5841
|
+
),
|
|
5842
|
+
def(
|
|
5843
|
+
"get_analytics_breakdown",
|
|
5844
|
+
"Get traffic breakdown",
|
|
5845
|
+
"Views and visitors by one dimension: `country` (ISO code), `device` (desktop, mobile, tablet), `browser` or `crawler` (the bots that fetched the site). Defaults to the last 30 days; pass `from`/`to` (YYYY-MM-DD) and `limit`.",
|
|
5846
|
+
z.object({ dim: z.enum(["country", "device", "browser", "crawler"]), from: z.string().optional(), to: z.string().optional(), limit: z.number().optional() }).shape,
|
|
5847
|
+
async (c, a) => ok("Traffic breakdown.", await data(c, "GET", `/management/insights/analytics/breakdown${q({ dim: a.dim, from: a.from, to: a.to, limit: a.limit })}`))
|
|
5848
|
+
),
|
|
5849
|
+
def(
|
|
5850
|
+
"get_conversions",
|
|
5851
|
+
"Get conversions",
|
|
5852
|
+
"Conversions: form submissions (the one goal a site measures) per form over the last `days` days (default 30, max 90), with last-7 vs previous-7, all-time spam, the pages each form is on, and the site's conversion rate (submissions per 100 page views). `degraded: true` means the submissions store didn't answer, so the counts are not measurements and the rate is null.",
|
|
5853
|
+
z.object({ days: z.number().int().min(1).max(90).optional() }).shape,
|
|
5854
|
+
async (c, a) => ok("Conversions.", await data(c, "GET", `/management/insights/analytics/conversions${q({ days: a.days })}`))
|
|
5855
|
+
),
|
|
5856
|
+
def(
|
|
5857
|
+
"get_ai_traffic",
|
|
5858
|
+
"Get AI traffic",
|
|
5859
|
+
"AI traffic: crawler visits for AI products (GPTBot, ClaudeBot\u2026, beside search crawlers) and visitors referred by answer engines (ChatGPT, Perplexity\u2026), with totals. Pro plan and above. Defaults to the last 30 days; pass `from`/`to` (YYYY-MM-DD).",
|
|
5860
|
+
z.object({ from: z.string().optional(), to: z.string().optional() }).shape,
|
|
5861
|
+
async (c, a) => ok("AI traffic.", await data(c, "GET", `/management/insights/analytics/ai-traffic${q({ from: a.from, to: a.to })}`))
|
|
5862
|
+
),
|
|
5831
5863
|
def(
|
|
5832
5864
|
"list_seo_issues",
|
|
5833
5865
|
"List SEO issues",
|