@sentientui/mcp 0.9.1 → 0.10.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.
@@ -1418,12 +1418,14 @@ function registerAgentTrafficTools(server, client) {
1418
1418
  engines: z13.array(
1419
1419
  z13.object({
1420
1420
  engine: z13.string(),
1421
+ intent: z13.string().describe("user | search | training | other"),
1421
1422
  count: z13.number(),
1422
1423
  sharePct: z13.number(),
1423
1424
  lastSeen: z13.string(),
1424
1425
  firstSeenInRange: z13.boolean().describe("First observed within the queried period")
1425
1426
  })
1426
1427
  ),
1428
+ intents: z13.object({ user: z13.number(), search: z13.number(), training: z13.number(), other: z13.number() }).describe("Crawler fetches by purpose: user = an assistant answering a real person live"),
1427
1429
  topPaths: z13.array(z13.object({ path: z13.string(), count: z13.number(), engines: z13.number() }))
1428
1430
  },
1429
1431
  annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: false }
@@ -1431,7 +1433,7 @@ function registerAgentTrafficTools(server, client) {
1431
1433
  withApiErrorGuidance(async ({ projectId }) => {
1432
1434
  const id = encodeURIComponent(projectId);
1433
1435
  const s = await client.get(`/projects/${id}/agent-activity/summary`);
1434
- const structuredContent = { totals: s.totals, engines: s.engines, topPaths: s.topPaths };
1436
+ const structuredContent = { totals: s.totals, engines: s.engines, intents: s.intents, topPaths: s.topPaths };
1435
1437
  const total = s.totals.crawler + s.totals.api + s.totals.browser;
1436
1438
  if (total === 0) {
1437
1439
  return {
@@ -1444,6 +1446,7 @@ function registerAgentTrafficTools(server, client) {
1444
1446
  }
1445
1447
  const lines = [
1446
1448
  `Agent traffic: ${s.totals.crawler} crawler fetches, ${s.totals.api} agent API calls, ${s.totals.browser} agentic browser sessions.`,
1449
+ `Live user fetches: ${s.intents.user} \xB7 Search index: ${s.intents.search} \xB7 Training: ${s.intents.training}${s.intents.other ? ` \xB7 Other: ${s.intents.other}` : ""} (a "live user fetch" = an AI assistant reading your site to answer a real person).`,
1447
1450
  "",
1448
1451
  "Engines:",
1449
1452
  ...s.engines.map((e) => `- ${e.engine}: ${e.count} fetches (${e.sharePct}%)${e.firstSeenInRange ? " \u2014 NEW this period" : ""}`),
@@ -1472,6 +1475,11 @@ function registerAgentTrafficTools(server, client) {
1472
1475
  cta: z13.boolean(),
1473
1476
  notes: z13.array(z13.string())
1474
1477
  }),
1478
+ fixes: z13.array(z13.object({
1479
+ check: z13.string(),
1480
+ advice: z13.string(),
1481
+ snippet: z13.string().optional()
1482
+ })).optional().describe("Concrete Next.js remediation per failing check"),
1475
1483
  lastChecked: z13.string()
1476
1484
  })
1477
1485
  ),
@@ -1495,7 +1503,12 @@ function registerAgentTrafficTools(server, client) {
1495
1503
  const failed = ["price", "name", "positioning", "cta"].filter((k) => !p.checks[k]);
1496
1504
  return `- ${p.path}: ${p.score}/100${failed.length ? ` \u2014 missing: ${failed.join(", ")}` : " \u2014 fully legible"}`;
1497
1505
  }),
1498
- ...l.paths.flatMap((p) => p.checks.notes.map((n) => ` fix (${p.path}): ${n}`))
1506
+ ...l.paths.flatMap(
1507
+ (p) => {
1508
+ var _a;
1509
+ return ((_a = p.fixes) == null ? void 0 : _a.length) ? p.fixes.map((f) => ` fix (${p.path}): ${f.advice}`) : p.checks.notes.map((n) => ` fix (${p.path}): ${n}`);
1510
+ }
1511
+ )
1499
1512
  ];
1500
1513
  if (l.emptyBlocks.length > 0) {
1501
1514
  lines.push("", "Agent API blocks served without agent data (add agentDataByVariant):");
@@ -1507,7 +1520,7 @@ function registerAgentTrafficTools(server, client) {
1507
1520
  }
1508
1521
 
1509
1522
  // src/server.ts
1510
- var PKG_VERSION = true ? "0.9.1" : "0.0.0-dev";
1523
+ var PKG_VERSION = true ? "0.10.0" : "0.0.0-dev";
1511
1524
  function createMcpServer(client) {
1512
1525
  const server = new McpServer(
1513
1526
  {
package/dist/index.cjs CHANGED
@@ -1422,12 +1422,14 @@ function registerAgentTrafficTools(server, client) {
1422
1422
  engines: import_zod13.z.array(
1423
1423
  import_zod13.z.object({
1424
1424
  engine: import_zod13.z.string(),
1425
+ intent: import_zod13.z.string().describe("user | search | training | other"),
1425
1426
  count: import_zod13.z.number(),
1426
1427
  sharePct: import_zod13.z.number(),
1427
1428
  lastSeen: import_zod13.z.string(),
1428
1429
  firstSeenInRange: import_zod13.z.boolean().describe("First observed within the queried period")
1429
1430
  })
1430
1431
  ),
1432
+ intents: import_zod13.z.object({ user: import_zod13.z.number(), search: import_zod13.z.number(), training: import_zod13.z.number(), other: import_zod13.z.number() }).describe("Crawler fetches by purpose: user = an assistant answering a real person live"),
1431
1433
  topPaths: import_zod13.z.array(import_zod13.z.object({ path: import_zod13.z.string(), count: import_zod13.z.number(), engines: import_zod13.z.number() }))
1432
1434
  },
1433
1435
  annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: false }
@@ -1435,7 +1437,7 @@ function registerAgentTrafficTools(server, client) {
1435
1437
  withApiErrorGuidance(async ({ projectId }) => {
1436
1438
  const id = encodeURIComponent(projectId);
1437
1439
  const s = await client.get(`/projects/${id}/agent-activity/summary`);
1438
- const structuredContent = { totals: s.totals, engines: s.engines, topPaths: s.topPaths };
1440
+ const structuredContent = { totals: s.totals, engines: s.engines, intents: s.intents, topPaths: s.topPaths };
1439
1441
  const total = s.totals.crawler + s.totals.api + s.totals.browser;
1440
1442
  if (total === 0) {
1441
1443
  return {
@@ -1448,6 +1450,7 @@ function registerAgentTrafficTools(server, client) {
1448
1450
  }
1449
1451
  const lines = [
1450
1452
  `Agent traffic: ${s.totals.crawler} crawler fetches, ${s.totals.api} agent API calls, ${s.totals.browser} agentic browser sessions.`,
1453
+ `Live user fetches: ${s.intents.user} \xB7 Search index: ${s.intents.search} \xB7 Training: ${s.intents.training}${s.intents.other ? ` \xB7 Other: ${s.intents.other}` : ""} (a "live user fetch" = an AI assistant reading your site to answer a real person).`,
1451
1454
  "",
1452
1455
  "Engines:",
1453
1456
  ...s.engines.map((e) => `- ${e.engine}: ${e.count} fetches (${e.sharePct}%)${e.firstSeenInRange ? " \u2014 NEW this period" : ""}`),
@@ -1476,6 +1479,11 @@ function registerAgentTrafficTools(server, client) {
1476
1479
  cta: import_zod13.z.boolean(),
1477
1480
  notes: import_zod13.z.array(import_zod13.z.string())
1478
1481
  }),
1482
+ fixes: import_zod13.z.array(import_zod13.z.object({
1483
+ check: import_zod13.z.string(),
1484
+ advice: import_zod13.z.string(),
1485
+ snippet: import_zod13.z.string().optional()
1486
+ })).optional().describe("Concrete Next.js remediation per failing check"),
1479
1487
  lastChecked: import_zod13.z.string()
1480
1488
  })
1481
1489
  ),
@@ -1499,7 +1507,12 @@ function registerAgentTrafficTools(server, client) {
1499
1507
  const failed = ["price", "name", "positioning", "cta"].filter((k) => !p.checks[k]);
1500
1508
  return `- ${p.path}: ${p.score}/100${failed.length ? ` \u2014 missing: ${failed.join(", ")}` : " \u2014 fully legible"}`;
1501
1509
  }),
1502
- ...l.paths.flatMap((p) => p.checks.notes.map((n) => ` fix (${p.path}): ${n}`))
1510
+ ...l.paths.flatMap(
1511
+ (p) => {
1512
+ var _a2;
1513
+ return ((_a2 = p.fixes) == null ? void 0 : _a2.length) ? p.fixes.map((f) => ` fix (${p.path}): ${f.advice}`) : p.checks.notes.map((n) => ` fix (${p.path}): ${n}`);
1514
+ }
1515
+ )
1503
1516
  ];
1504
1517
  if (l.emptyBlocks.length > 0) {
1505
1518
  lines.push("", "Agent API blocks served without agent data (add agentDataByVariant):");
@@ -1511,7 +1524,7 @@ function registerAgentTrafficTools(server, client) {
1511
1524
  }
1512
1525
 
1513
1526
  // src/server.ts
1514
- var PKG_VERSION = true ? "0.9.1" : "0.0.0-dev";
1527
+ var PKG_VERSION = true ? "0.10.0" : "0.0.0-dev";
1515
1528
  function createMcpServer(client) {
1516
1529
  const server = new import_mcp.McpServer(
1517
1530
  {
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  ApiClient,
4
4
  createMcpServer
5
- } from "./chunk-E2BGACKB.js";
5
+ } from "./chunk-ZH3EDKIT.js";
6
6
 
7
7
  // src/index.ts
8
8
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
package/dist/lib.cjs CHANGED
@@ -1447,12 +1447,14 @@ function registerAgentTrafficTools(server, client) {
1447
1447
  engines: import_zod13.z.array(
1448
1448
  import_zod13.z.object({
1449
1449
  engine: import_zod13.z.string(),
1450
+ intent: import_zod13.z.string().describe("user | search | training | other"),
1450
1451
  count: import_zod13.z.number(),
1451
1452
  sharePct: import_zod13.z.number(),
1452
1453
  lastSeen: import_zod13.z.string(),
1453
1454
  firstSeenInRange: import_zod13.z.boolean().describe("First observed within the queried period")
1454
1455
  })
1455
1456
  ),
1457
+ intents: import_zod13.z.object({ user: import_zod13.z.number(), search: import_zod13.z.number(), training: import_zod13.z.number(), other: import_zod13.z.number() }).describe("Crawler fetches by purpose: user = an assistant answering a real person live"),
1456
1458
  topPaths: import_zod13.z.array(import_zod13.z.object({ path: import_zod13.z.string(), count: import_zod13.z.number(), engines: import_zod13.z.number() }))
1457
1459
  },
1458
1460
  annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: false }
@@ -1460,7 +1462,7 @@ function registerAgentTrafficTools(server, client) {
1460
1462
  withApiErrorGuidance(async ({ projectId }) => {
1461
1463
  const id = encodeURIComponent(projectId);
1462
1464
  const s = await client.get(`/projects/${id}/agent-activity/summary`);
1463
- const structuredContent = { totals: s.totals, engines: s.engines, topPaths: s.topPaths };
1465
+ const structuredContent = { totals: s.totals, engines: s.engines, intents: s.intents, topPaths: s.topPaths };
1464
1466
  const total = s.totals.crawler + s.totals.api + s.totals.browser;
1465
1467
  if (total === 0) {
1466
1468
  return {
@@ -1473,6 +1475,7 @@ function registerAgentTrafficTools(server, client) {
1473
1475
  }
1474
1476
  const lines = [
1475
1477
  `Agent traffic: ${s.totals.crawler} crawler fetches, ${s.totals.api} agent API calls, ${s.totals.browser} agentic browser sessions.`,
1478
+ `Live user fetches: ${s.intents.user} \xB7 Search index: ${s.intents.search} \xB7 Training: ${s.intents.training}${s.intents.other ? ` \xB7 Other: ${s.intents.other}` : ""} (a "live user fetch" = an AI assistant reading your site to answer a real person).`,
1476
1479
  "",
1477
1480
  "Engines:",
1478
1481
  ...s.engines.map((e) => `- ${e.engine}: ${e.count} fetches (${e.sharePct}%)${e.firstSeenInRange ? " \u2014 NEW this period" : ""}`),
@@ -1501,6 +1504,11 @@ function registerAgentTrafficTools(server, client) {
1501
1504
  cta: import_zod13.z.boolean(),
1502
1505
  notes: import_zod13.z.array(import_zod13.z.string())
1503
1506
  }),
1507
+ fixes: import_zod13.z.array(import_zod13.z.object({
1508
+ check: import_zod13.z.string(),
1509
+ advice: import_zod13.z.string(),
1510
+ snippet: import_zod13.z.string().optional()
1511
+ })).optional().describe("Concrete Next.js remediation per failing check"),
1504
1512
  lastChecked: import_zod13.z.string()
1505
1513
  })
1506
1514
  ),
@@ -1524,7 +1532,12 @@ function registerAgentTrafficTools(server, client) {
1524
1532
  const failed = ["price", "name", "positioning", "cta"].filter((k) => !p.checks[k]);
1525
1533
  return `- ${p.path}: ${p.score}/100${failed.length ? ` \u2014 missing: ${failed.join(", ")}` : " \u2014 fully legible"}`;
1526
1534
  }),
1527
- ...l.paths.flatMap((p) => p.checks.notes.map((n) => ` fix (${p.path}): ${n}`))
1535
+ ...l.paths.flatMap(
1536
+ (p) => {
1537
+ var _a;
1538
+ return ((_a = p.fixes) == null ? void 0 : _a.length) ? p.fixes.map((f) => ` fix (${p.path}): ${f.advice}`) : p.checks.notes.map((n) => ` fix (${p.path}): ${n}`);
1539
+ }
1540
+ )
1528
1541
  ];
1529
1542
  if (l.emptyBlocks.length > 0) {
1530
1543
  lines.push("", "Agent API blocks served without agent data (add agentDataByVariant):");
@@ -1536,7 +1549,7 @@ function registerAgentTrafficTools(server, client) {
1536
1549
  }
1537
1550
 
1538
1551
  // src/server.ts
1539
- var PKG_VERSION = true ? "0.9.1" : "0.0.0-dev";
1552
+ var PKG_VERSION = true ? "0.10.0" : "0.0.0-dev";
1540
1553
  function createMcpServer(client) {
1541
1554
  const server = new import_mcp.McpServer(
1542
1555
  {
package/dist/lib.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  ApiClient,
4
4
  ApiError,
5
5
  createMcpServer
6
- } from "./chunk-E2BGACKB.js";
6
+ } from "./chunk-ZH3EDKIT.js";
7
7
  export {
8
8
  ApiClient,
9
9
  ApiError,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentientui/mcp",
3
- "version": "0.9.1",
3
+ "version": "0.10.0",
4
4
  "description": "MCP server for SentientUI — exposes project data and actions to AI agents",
5
5
  "license": "MIT",
6
6
  "homepage": "https://sentient-ui.com",