@frase/mcp-server 0.3.0 → 0.3.3

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.
Files changed (77) hide show
  1. package/dist/formatter.d.ts +1 -1
  2. package/dist/formatter.d.ts.map +1 -1
  3. package/dist/formatter.js +1 -1
  4. package/dist/formatter.js.map +1 -1
  5. package/dist/lib/mcp-audit.d.ts +3 -0
  6. package/dist/lib/mcp-audit.d.ts.map +1 -0
  7. package/dist/lib/mcp-audit.js +95 -0
  8. package/dist/lib/mcp-audit.js.map +1 -0
  9. package/dist/mcpb-bundle.js +30072 -0
  10. package/dist/prompts/content-pipeline.d.ts.map +1 -1
  11. package/dist/prompts/content-pipeline.js +10 -18
  12. package/dist/prompts/content-pipeline.js.map +1 -1
  13. package/dist/prompts/create-seo-article.d.ts.map +1 -1
  14. package/dist/prompts/create-seo-article.js +17 -42
  15. package/dist/prompts/create-seo-article.js.map +1 -1
  16. package/dist/prompts/keyword-research.d.ts.map +1 -1
  17. package/dist/prompts/keyword-research.js +20 -31
  18. package/dist/prompts/keyword-research.js.map +1 -1
  19. package/dist/resources/briefs.d.ts.map +1 -1
  20. package/dist/resources/briefs.js +12 -6
  21. package/dist/resources/briefs.js.map +1 -1
  22. package/dist/tools/ai-visibility.d.ts.map +1 -1
  23. package/dist/tools/ai-visibility.js +67 -12
  24. package/dist/tools/ai-visibility.js.map +1 -1
  25. package/dist/tools/analytics.d.ts.map +1 -1
  26. package/dist/tools/analytics.js +9 -4
  27. package/dist/tools/analytics.js.map +1 -1
  28. package/dist/tools/audits.d.ts +8 -5
  29. package/dist/tools/audits.d.ts.map +1 -1
  30. package/dist/tools/audits.js +112 -20
  31. package/dist/tools/audits.js.map +1 -1
  32. package/dist/tools/briefs.d.ts +40 -145
  33. package/dist/tools/briefs.d.ts.map +1 -1
  34. package/dist/tools/briefs.js +153 -163
  35. package/dist/tools/briefs.js.map +1 -1
  36. package/dist/tools/cms-posts.d.ts +7 -0
  37. package/dist/tools/cms-posts.d.ts.map +1 -0
  38. package/dist/tools/cms-posts.js +499 -0
  39. package/dist/tools/cms-posts.js.map +1 -0
  40. package/dist/tools/content.d.ts +37 -6
  41. package/dist/tools/content.d.ts.map +1 -1
  42. package/dist/tools/content.js +362 -32
  43. package/dist/tools/content.js.map +1 -1
  44. package/dist/tools/discover.js +3 -3
  45. package/dist/tools/discover.js.map +1 -1
  46. package/dist/tools/index.d.ts.map +1 -1
  47. package/dist/tools/index.js +5 -0
  48. package/dist/tools/index.js.map +1 -1
  49. package/dist/tools/optimizations.d.ts +6 -0
  50. package/dist/tools/optimizations.d.ts.map +1 -1
  51. package/dist/tools/optimizations.js +440 -26
  52. package/dist/tools/optimizations.js.map +1 -1
  53. package/dist/tools/publish.d.ts +3 -3
  54. package/dist/tools/publish.js +6 -6
  55. package/dist/tools/publish.js.map +1 -1
  56. package/dist/tools/research.d.ts +18 -6
  57. package/dist/tools/research.d.ts.map +1 -1
  58. package/dist/tools/research.js +210 -19
  59. package/dist/tools/research.js.map +1 -1
  60. package/dist/tools/rules.d.ts +76 -0
  61. package/dist/tools/rules.d.ts.map +1 -1
  62. package/dist/tools/rules.js +355 -12
  63. package/dist/tools/rules.js.map +1 -1
  64. package/dist/tools/serp.d.ts.map +1 -1
  65. package/dist/tools/serp.js +30 -18
  66. package/dist/tools/serp.js.map +1 -1
  67. package/dist/tools/site-health.js +10 -10
  68. package/dist/tools/site-health.js.map +1 -1
  69. package/dist/tools/templates.js +5 -5
  70. package/dist/tools/templates.js.map +1 -1
  71. package/dist/tools/webhooks.d.ts.map +1 -1
  72. package/dist/tools/webhooks.js +24 -3
  73. package/dist/tools/webhooks.js.map +1 -1
  74. package/dist/types.d.ts +1 -1
  75. package/dist/types.d.ts.map +1 -1
  76. package/package.json +8 -11
  77. package/server.json +4 -4
@@ -228,25 +228,24 @@ export async function executeEvaluateRules(input, context) {
228
228
  const evaluation = response.data;
229
229
  let markdown = `## Rule Evaluation Results\n\n`;
230
230
  markdown += formatKeyValue({
231
- "Evaluation ID": evaluation.evaluation_id,
232
- "Rule Set": evaluation.rule_set_id,
231
+ "Rule Set": evaluation.rule_set_name,
233
232
  "Content ID": evaluation.content_id,
234
233
  "Overall Status": formatStatus(evaluation.overall_status),
235
- "Total Rules": evaluation.total_rules,
236
- Passed: evaluation.passed_count,
237
- Failed: evaluation.failed_count,
234
+ "Total Rules": evaluation.summary?.total,
235
+ Passed: evaluation.summary?.passed,
236
+ Failed: evaluation.summary?.failed,
237
+ Warnings: evaluation.summary?.warnings,
238
238
  });
239
- if (evaluation.summary) {
240
- markdown += `\n\n> ${evaluation.summary}`;
241
- }
242
- if (evaluation.results.length > 0) {
239
+ const results = evaluation.results || [];
240
+ if (results.length > 0) {
243
241
  markdown += `\n\n### Results by Rule\n\n`;
244
- const headers = ["Rule", "Status", "Severity", "Message"];
245
- const rows = evaluation.results.map((r) => [
242
+ const headers = ["Rule", "Status", "Type", "Severity", "Message"];
243
+ const rows = results.map((r) => [
246
244
  r.rule_name,
247
245
  r.passed ? "Pass" : "Fail",
246
+ r.condition_type,
248
247
  r.severity,
249
- r.message || "-",
248
+ r.message || r.fix_hint || "-",
250
249
  ]);
251
250
  markdown += formatTable(headers, rows);
252
251
  }
@@ -265,16 +264,360 @@ export async function executeEvaluateRules(input, context) {
265
264
  }
266
265
  }
267
266
  // ============================================
267
+ // create_rule
268
+ // ============================================
269
+ const CONDITION_TYPES = [
270
+ "score_threshold",
271
+ "term_compliance",
272
+ "verify_chips",
273
+ "word_count",
274
+ "meta_required",
275
+ "link_count",
276
+ "section_required",
277
+ "regex_pattern",
278
+ ];
279
+ /**
280
+ * Smart defaults for config when the user omits it
281
+ */
282
+ const CONFIG_DEFAULTS = {
283
+ score_threshold: { scoreType: "seo", operator: ">=", threshold: 70 },
284
+ word_count: { operator: ">=", min: 300 },
285
+ meta_required: { requireTitle: true, requireDescription: true, requireOgImage: false, requireCanonical: false },
286
+ verify_chips: { maxAllowed: 0 },
287
+ term_compliance: { checkPreferred: true, checkAvoid: true, checkNever: true },
288
+ link_count: { linkType: "internal", operator: ">=", min: 2 },
289
+ };
290
+ const createRuleInputSchema = z.object({
291
+ name: z.string().min(1).max(200),
292
+ condition_type: z.enum(CONDITION_TYPES),
293
+ config: z.record(z.string(), z.unknown()).optional(),
294
+ severity: z.enum(["error", "warning", "info"]).optional().default("warning"),
295
+ description: z.string().max(1000).optional(),
296
+ fix_hint: z.string().max(500).optional(),
297
+ });
298
+ export const createRuleTool = {
299
+ name: "create_rule",
300
+ description: "Create a content quality rule. Rules enforce standards like minimum word count, SEO score thresholds, required meta tags, etc. If config is omitted, smart defaults are applied for most condition types.\n\nExamples by condition_type:\n- score_threshold: {\"scoreType\": \"seo\", \"operator\": \">=\", \"threshold\": 70}\n- word_count: {\"operator\": \">=\", \"min\": 300}\n- meta_required: {\"requireTitle\": true, \"requireDescription\": true, \"requireOgImage\": false, \"requireCanonical\": false}\n- verify_chips: {\"maxAllowed\": 0}\n- term_compliance: {\"checkPreferred\": true, \"checkAvoid\": true, \"checkNever\": true}\n- link_count: {\"linkType\": \"internal\", \"operator\": \">=\", \"min\": 2}\n- section_required: {\"headingPattern\": \"FAQ\", \"isRegex\": false} (config required)\n- regex_pattern: {\"pattern\": \"\\\\bTODO\\\\b\", \"flags\": \"gi\", \"mustMatch\": false} (config required)",
301
+ inputSchema: {
302
+ type: "object",
303
+ properties: {
304
+ name: {
305
+ type: "string",
306
+ description: "Rule name, e.g. 'Minimum Word Count' (required)",
307
+ },
308
+ condition_type: {
309
+ type: "string",
310
+ enum: [...CONDITION_TYPES],
311
+ description: "Rule condition type (required). One of: score_threshold, term_compliance, verify_chips, word_count, meta_required, link_count, section_required, regex_pattern",
312
+ },
313
+ config: {
314
+ type: "object",
315
+ description: "Condition-specific configuration (optional for most types — smart defaults applied). See tool description for examples per condition_type.",
316
+ },
317
+ severity: {
318
+ type: "string",
319
+ enum: ["error", "warning", "info"],
320
+ description: "Rule severity (default: warning)",
321
+ },
322
+ description: {
323
+ type: "string",
324
+ description: "Human-readable description of what this rule checks (optional)",
325
+ },
326
+ fix_hint: {
327
+ type: "string",
328
+ description: "Hint shown when the rule fails, e.g. 'Add at least 300 words' (optional)",
329
+ },
330
+ },
331
+ required: ["name", "condition_type"],
332
+ },
333
+ };
334
+ export async function executeCreateRule(input, context) {
335
+ const parsed = createRuleInputSchema.safeParse(input);
336
+ if (!parsed.success) {
337
+ return {
338
+ success: false,
339
+ markdown: `**Error:** Invalid input - ${parsed.error.message}`,
340
+ };
341
+ }
342
+ const { name, condition_type, severity, description, fix_hint } = parsed.data;
343
+ // Apply smart defaults if config is omitted
344
+ let config = parsed.data.config;
345
+ if (!config) {
346
+ const defaults = CONFIG_DEFAULTS[condition_type];
347
+ if (defaults) {
348
+ config = defaults;
349
+ }
350
+ else {
351
+ // section_required and regex_pattern have no sensible default
352
+ return {
353
+ success: false,
354
+ markdown: `**Error:** The \`config\` parameter is required for condition type \`${condition_type}\`. No smart default is available.\n\nSee the tool description for config format examples.`,
355
+ };
356
+ }
357
+ }
358
+ try {
359
+ const body = {
360
+ name,
361
+ condition_type,
362
+ config,
363
+ severity,
364
+ };
365
+ if (description)
366
+ body.description = description;
367
+ if (fix_hint)
368
+ body.fix_hint = fix_hint;
369
+ const response = await context.client.post("/rules", body);
370
+ const rule = response.data;
371
+ const details = formatKeyValue({
372
+ ID: rule.id,
373
+ Name: rule.name,
374
+ Type: rule.condition_type,
375
+ Severity: rule.severity,
376
+ Description: rule.description || "-",
377
+ "Fix Hint": rule.fix_hint || "-",
378
+ Config: JSON.stringify(rule.config),
379
+ });
380
+ const markdown = `## Rule Created\n\n${details}`;
381
+ return {
382
+ success: true,
383
+ markdown,
384
+ data: response,
385
+ };
386
+ }
387
+ catch (error) {
388
+ const message = error instanceof Error ? error.message : "Unknown error";
389
+ return {
390
+ success: false,
391
+ markdown: `**Error:** Failed to create rule - ${message}`,
392
+ };
393
+ }
394
+ }
395
+ // ============================================
396
+ // update_rule
397
+ // ============================================
398
+ const updateRuleInputSchema = z.object({
399
+ id: z.string().min(1),
400
+ name: z.string().min(1).max(200).optional(),
401
+ severity: z.enum(["error", "warning", "info"]).optional(),
402
+ config: z.record(z.string(), z.unknown()).optional(),
403
+ description: z.string().max(1000).optional(),
404
+ fix_hint: z.string().max(500).optional(),
405
+ });
406
+ export const updateRuleTool = {
407
+ name: "update_rule",
408
+ description: "Update an existing content rule. You can change the name, severity, config, description, or fix_hint. Use get_rule_set to find rule IDs.",
409
+ inputSchema: {
410
+ type: "object",
411
+ properties: {
412
+ id: {
413
+ type: "string",
414
+ description: "The rule ID to update (required)",
415
+ },
416
+ name: {
417
+ type: "string",
418
+ description: "New rule name (optional)",
419
+ },
420
+ severity: {
421
+ type: "string",
422
+ enum: ["error", "warning", "info"],
423
+ description: "New severity level (optional)",
424
+ },
425
+ config: {
426
+ type: "object",
427
+ description: "New condition-specific configuration (optional)",
428
+ },
429
+ description: {
430
+ type: "string",
431
+ description: "New description (optional)",
432
+ },
433
+ fix_hint: {
434
+ type: "string",
435
+ description: "New fix hint shown on failure (optional)",
436
+ },
437
+ },
438
+ required: ["id"],
439
+ },
440
+ };
441
+ export async function executeUpdateRule(input, context) {
442
+ const parsed = updateRuleInputSchema.safeParse(input);
443
+ if (!parsed.success) {
444
+ return {
445
+ success: false,
446
+ markdown: `**Error:** Invalid input - ${parsed.error.message}`,
447
+ };
448
+ }
449
+ const { id, ...updates } = parsed.data;
450
+ // Check that at least one update field is provided
451
+ if (Object.keys(updates).length === 0) {
452
+ return {
453
+ success: false,
454
+ markdown: `**Error:** At least one field to update must be provided (name, severity, config, description, or fix_hint).`,
455
+ };
456
+ }
457
+ try {
458
+ const response = await context.client.patch(`/rules/${id}`, updates);
459
+ const rule = response.data;
460
+ const details = formatKeyValue({
461
+ ID: rule.id,
462
+ Name: rule.name,
463
+ Type: rule.condition_type,
464
+ Severity: rule.severity,
465
+ Active: rule.is_active ? "Yes" : "No",
466
+ Description: rule.description || "-",
467
+ "Fix Hint": rule.fix_hint || "-",
468
+ });
469
+ return {
470
+ success: true,
471
+ markdown: `## Rule Updated\n\n${details}`,
472
+ data: response,
473
+ };
474
+ }
475
+ catch (error) {
476
+ const message = error instanceof Error ? error.message : "Unknown error";
477
+ return {
478
+ success: false,
479
+ markdown: `**Error:** Failed to update rule - ${message}`,
480
+ };
481
+ }
482
+ }
483
+ // ============================================
484
+ // delete_rule
485
+ // ============================================
486
+ const deleteRuleInputSchema = z.object({
487
+ id: z.string().min(1),
488
+ });
489
+ export const deleteRuleTool = {
490
+ name: "delete_rule",
491
+ description: "Delete a content rule permanently. Use get_rule_set to find rule IDs.",
492
+ inputSchema: {
493
+ type: "object",
494
+ properties: {
495
+ id: {
496
+ type: "string",
497
+ description: "The rule ID to delete (required)",
498
+ },
499
+ },
500
+ required: ["id"],
501
+ },
502
+ };
503
+ export async function executeDeleteRule(input, context) {
504
+ const parsed = deleteRuleInputSchema.safeParse(input);
505
+ if (!parsed.success) {
506
+ return {
507
+ success: false,
508
+ markdown: `**Error:** Invalid input - ${parsed.error.message}`,
509
+ };
510
+ }
511
+ const { id } = parsed.data;
512
+ try {
513
+ const response = await context.client.delete(`/rules/${id}`);
514
+ return {
515
+ success: true,
516
+ markdown: `## Rule Deleted\n\nRule \`${id}\` has been permanently deleted.`,
517
+ data: response,
518
+ };
519
+ }
520
+ catch (error) {
521
+ const message = error instanceof Error ? error.message : "Unknown error";
522
+ return {
523
+ success: false,
524
+ markdown: `**Error:** Failed to delete rule - ${message}`,
525
+ };
526
+ }
527
+ }
528
+ // ============================================
529
+ // create_rule_set
530
+ // ============================================
531
+ const createRuleSetInputSchema = z.object({
532
+ name: z.string().min(1).max(200),
533
+ description: z.string().max(1000).optional(),
534
+ rule_ids: z.array(z.string()).optional().describe("Optional array of existing rule IDs to add to the new rule set"),
535
+ });
536
+ export const createRuleSetTool = {
537
+ name: "create_rule_set",
538
+ description: "Create a new rule set. Rule sets group related rules together for batch evaluation. Optionally include existing rule IDs to populate the set.",
539
+ inputSchema: {
540
+ type: "object",
541
+ properties: {
542
+ name: {
543
+ type: "string",
544
+ description: "Rule set name, e.g. 'Blog Post Quality Standards' (required)",
545
+ },
546
+ description: {
547
+ type: "string",
548
+ description: "Description of the rule set's purpose (optional)",
549
+ },
550
+ rule_ids: {
551
+ type: "array",
552
+ items: { type: "string" },
553
+ description: "Array of existing rule IDs to add to this rule set (optional)",
554
+ },
555
+ },
556
+ required: ["name"],
557
+ },
558
+ };
559
+ export async function executeCreateRuleSet(input, context) {
560
+ const parsed = createRuleSetInputSchema.safeParse(input);
561
+ if (!parsed.success) {
562
+ return {
563
+ success: false,
564
+ markdown: `**Error:** Invalid input - ${parsed.error.message}`,
565
+ };
566
+ }
567
+ const { name, description, rule_ids } = parsed.data;
568
+ try {
569
+ const body = { name };
570
+ if (description)
571
+ body.description = description;
572
+ if (rule_ids && rule_ids.length > 0) {
573
+ body.rules = rule_ids.map((rule_id, index) => ({ rule_id, sort_order: index }));
574
+ }
575
+ const response = await context.client.post("/rule-sets", body);
576
+ const ruleSet = response.data;
577
+ const details = formatKeyValue({
578
+ ID: ruleSet.id,
579
+ Name: ruleSet.name,
580
+ Description: ruleSet.description || "-",
581
+ "Rules Count": ruleSet.rule_count,
582
+ Enabled: ruleSet.is_enabled ? "Yes" : "No",
583
+ });
584
+ let markdown = `## Rule Set Created\n\n${details}`;
585
+ if (rule_ids && rule_ids.length > 0) {
586
+ markdown += `\n\n${rule_ids.length} rule(s) added to this set.`;
587
+ }
588
+ return {
589
+ success: true,
590
+ markdown,
591
+ data: response,
592
+ };
593
+ }
594
+ catch (error) {
595
+ const message = error instanceof Error ? error.message : "Unknown error";
596
+ return {
597
+ success: false,
598
+ markdown: `**Error:** Failed to create rule set - ${message}`,
599
+ };
600
+ }
601
+ }
602
+ // ============================================
268
603
  // Export all rules tools
269
604
  // ============================================
270
605
  export const rulesTools = [
271
606
  listRuleSetsTool,
272
607
  getRuleSetTool,
273
608
  evaluateRulesTool,
609
+ createRuleTool,
610
+ updateRuleTool,
611
+ deleteRuleTool,
612
+ createRuleSetTool,
274
613
  ];
275
614
  export const rulesExecutors = {
276
615
  list_rule_sets: executeListRuleSets,
277
616
  get_rule_set: executeGetRuleSet,
278
617
  evaluate_rules: executeEvaluateRules,
618
+ create_rule: executeCreateRule,
619
+ update_rule: executeUpdateRule,
620
+ delete_rule: executeDeleteRule,
621
+ create_rule_set: executeCreateRuleSet,
279
622
  };
280
623
  //# sourceMappingURL=rules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/tools/rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/tools/rules.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"serp.d.ts","sourceRoot":"","sources":["../../src/tools/serp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EACX,UAAU,EAEX,MAAM,aAAa,CAAC;AAkErB,eAAO,MAAM,eAAe,EAAE,iBAqB7B,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAgFrB;AAaD,eAAO,MAAM,sBAAsB,EAAE,iBA0BpC,CAAC;AAEF,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAmFrB;AAUD,eAAO,MAAM,mBAAmB,EAAE,iBAajC,CAAC;AAEF,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAgErB;AAMD,eAAO,MAAM,SAAS,EAAE,iBAAiB,EAIxC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAChC,MAAM,EACN,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,UAAU,CAAC,CAK9D,CAAC"}
1
+ {"version":3,"file":"serp.d.ts","sourceRoot":"","sources":["../../src/tools/serp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EACX,UAAU,EAEX,MAAM,aAAa,CAAC;AA8ErB,eAAO,MAAM,eAAe,EAAE,iBAqB7B,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAgFrB;AAaD,eAAO,MAAM,sBAAsB,EAAE,iBA0BpC,CAAC;AAEF,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAmFrB;AAUD,eAAO,MAAM,mBAAmB,EAAE,iBAajC,CAAC;AAEF,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAiFrB;AAMD,eAAO,MAAM,SAAS,EAAE,iBAAiB,EAIxC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAChC,MAAM,EACN,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,UAAU,CAAC,CAK9D,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Search engine results page analysis
5
5
  */
6
6
  import { z } from "zod";
7
- import { formatTable, formatKeyValue, truncate, } from "../formatter.js";
7
+ import { formatTable, formatKeyValue, formatContentType, truncate, } from "../formatter.js";
8
8
  // ============================================
9
9
  // analyze_serp
10
10
  // ============================================
@@ -180,7 +180,7 @@ export async function executeAnalyzeCompetitors(input, context) {
180
180
  url: truncate(comp.url, 60),
181
181
  title: truncate(comp.title, 50),
182
182
  word_count: comp.word_count,
183
- content_type: comp.content_type,
183
+ content_type: formatContentType(comp.content_type),
184
184
  });
185
185
  if (comp.strengths.length > 0) {
186
186
  markdown += "\n\n**Strengths:**\n";
@@ -249,25 +249,37 @@ export async function executeGetSearchIntent(input, context) {
249
249
  data: response,
250
250
  };
251
251
  }
252
- let markdown = `## Search Intent Analysis: ${data.query}\n\n`;
252
+ let markdown = `## Search Intent Analysis: ${data.keyword}\n\n`;
253
253
  markdown += formatKeyValue({
254
- primary_intent: data.primary_intent,
255
- confidence: `${(data.confidence * 100).toFixed(0)}%`,
256
- recommended_content_type: data.recommended_content_type,
257
- recommended_format: data.recommended_format,
254
+ "Primary Intent": data.intent_classification?.primary_intent || "Unknown",
255
+ Confidence: data.intent_classification?.confidence != null
256
+ ? `${Math.round(data.intent_classification.confidence)}%`
257
+ : "N/A",
258
+ "Suggested Content Types": data.content_type_suggestions?.join(", ") || "N/A",
258
259
  });
259
- const secondaryIntents = data.secondary_intents ?? [];
260
- if (secondaryIntents.length > 0) {
261
- markdown += "\n\n### Secondary Intents\n\n";
262
- for (const intent of secondaryIntents) {
263
- markdown += `- ${intent}\n`;
264
- }
260
+ // Intent Score Breakdown
261
+ if (data.intent_classification?.scores) {
262
+ markdown += "\n\n### Intent Scores\n\n";
263
+ markdown += formatKeyValue(Object.fromEntries(Object.entries(data.intent_classification.scores).map(([k, v]) => [
264
+ k.charAt(0).toUpperCase() + k.slice(1),
265
+ `${Math.round(v)}%`,
266
+ ])));
267
+ }
268
+ // SERP Signals
269
+ if (data.serp_signals) {
270
+ markdown += "\n\n### SERP Signals\n\n";
271
+ markdown += formatKeyValue({
272
+ "AI Overview Present": data.serp_signals.has_ai_overview ? "Yes" : "No",
273
+ "People Also Ask": data.serp_signals.people_also_ask_count,
274
+ "Organic Results": data.serp_signals.organic_results_count,
275
+ "Has Rich Snippets": data.serp_signals.has_rich_snippets ? "Yes" : "No",
276
+ });
265
277
  }
266
- const keyTopics = data.key_topics ?? [];
267
- if (keyTopics.length > 0) {
268
- markdown += "\n\n### Key Topics to Cover\n\n";
269
- for (const topic of keyTopics) {
270
- markdown += `- ${topic}\n`;
278
+ // Recommendations
279
+ if (data.recommendations && data.recommendations.length > 0) {
280
+ markdown += "\n\n### Recommendations\n\n";
281
+ for (const rec of data.recommendations) {
282
+ markdown += `- ${rec}\n`;
271
283
  }
272
284
  }
273
285
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"serp.js","sourceRoot":"","sources":["../../src/tools/serp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serp.js","sourceRoot":"","sources":["../../src/tools/serp.ts"],"names":[],"mappings":"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"}
@@ -43,14 +43,14 @@ async function executeGetSiteHealth(input, context) {
43
43
  // ============================================
44
44
  // get_cannibalization
45
45
  // ============================================
46
- const getCannibalizationSchema = z.object({ site_id: z.string().min(1) });
46
+ const getCannibalizationSchema = z.object({ audit_id: z.string().min(1) });
47
47
  const getCannibalizationTool = {
48
48
  name: "get_cannibalization",
49
- description: "Detect pages competing for the same keywords. Shows keyword groups with conflicting pages and their positions.",
49
+ description: "Detect pages competing for the same keywords. Shows keyword groups with conflicting pages and their positions. Requires an audit_id — get it from `list_audits` or `get_audit`.",
50
50
  inputSchema: {
51
51
  type: "object",
52
- properties: { site_id: { type: "string", description: "Site ID (required)" } },
53
- required: ["site_id"],
52
+ properties: { audit_id: { type: "string", description: "Audit ID (required) — from list_audits or get_audit" } },
53
+ required: ["audit_id"],
54
54
  },
55
55
  };
56
56
  async function executeGetCannibalization(input, context) {
@@ -58,7 +58,7 @@ async function executeGetCannibalization(input, context) {
58
58
  if (!parsed.success)
59
59
  return { success: false, markdown: `**Error:** ${parsed.error.message}` };
60
60
  try {
61
- const response = await context.client.get("/site-health/cannibalization", { site_id: parsed.data.site_id }, CACHE_TTL.resources);
61
+ const response = await context.client.get("/site-health/cannibalization", { audit_id: parsed.data.audit_id }, CACHE_TTL.resources);
62
62
  const groups = response.data || [];
63
63
  if (groups.length === 0) {
64
64
  return { success: true, markdown: `## Cannibalization Report\n\n_No cannibalization issues detected._`, data: response };
@@ -79,14 +79,14 @@ async function executeGetCannibalization(input, context) {
79
79
  // ============================================
80
80
  // get_link_graph
81
81
  // ============================================
82
- const getLinkGraphSchema = z.object({ site_id: z.string().min(1) });
82
+ const getLinkGraphSchema = z.object({ page_id: z.string().min(1) });
83
83
  const getLinkGraphTool = {
84
84
  name: "get_link_graph",
85
- description: "Get internal link structure analysis orphan pages, most-linked pages, link depth distribution, and broken links.",
85
+ description: "Get internal link structure analysis for a specific page — inbound/outbound links, link depth, and authority metrics. Requires a page_id — get it from the pages list in `get_audit`.",
86
86
  inputSchema: {
87
87
  type: "object",
88
- properties: { site_id: { type: "string", description: "Site ID (required)" } },
89
- required: ["site_id"],
88
+ properties: { page_id: { type: "string", description: "Page ID (required) — from get_audit pages list" } },
89
+ required: ["page_id"],
90
90
  },
91
91
  };
92
92
  async function executeGetLinkGraph(input, context) {
@@ -94,7 +94,7 @@ async function executeGetLinkGraph(input, context) {
94
94
  if (!parsed.success)
95
95
  return { success: false, markdown: `**Error:** ${parsed.error.message}` };
96
96
  try {
97
- const response = await context.client.get("/site-health/links", { site_id: parsed.data.site_id }, CACHE_TTL.resources);
97
+ const response = await context.client.get("/site-health/links", { page_id: parsed.data.page_id }, CACHE_TTL.resources);
98
98
  const data = response.data;
99
99
  let markdown = `## Internal Link Analysis\n\n`;
100
100
  markdown += `\`\`\`json\n${JSON.stringify(data, null, 2)}\n\`\`\``;