@frase/mcp-server 0.1.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.
Files changed (115) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +262 -0
  3. package/dist/api-client.d.ts +93 -0
  4. package/dist/api-client.d.ts.map +1 -0
  5. package/dist/api-client.js +213 -0
  6. package/dist/api-client.js.map +1 -0
  7. package/dist/cache.d.ts +52 -0
  8. package/dist/cache.d.ts.map +1 -0
  9. package/dist/cache.js +97 -0
  10. package/dist/cache.js.map +1 -0
  11. package/dist/config.d.ts +17 -0
  12. package/dist/config.d.ts.map +1 -0
  13. package/dist/config.js +31 -0
  14. package/dist/config.js.map +1 -0
  15. package/dist/formatter.d.ts +47 -0
  16. package/dist/formatter.d.ts.map +1 -0
  17. package/dist/formatter.js +136 -0
  18. package/dist/formatter.js.map +1 -0
  19. package/dist/index.d.ts +32 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +292 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/prompts/competitor-analysis.d.ts +18 -0
  24. package/dist/prompts/competitor-analysis.d.ts.map +1 -0
  25. package/dist/prompts/competitor-analysis.js +71 -0
  26. package/dist/prompts/competitor-analysis.js.map +1 -0
  27. package/dist/prompts/content-audit.d.ts +18 -0
  28. package/dist/prompts/content-audit.d.ts.map +1 -0
  29. package/dist/prompts/content-audit.js +67 -0
  30. package/dist/prompts/content-audit.js.map +1 -0
  31. package/dist/prompts/create-seo-article.d.ts +19 -0
  32. package/dist/prompts/create-seo-article.d.ts.map +1 -0
  33. package/dist/prompts/create-seo-article.js +78 -0
  34. package/dist/prompts/create-seo-article.js.map +1 -0
  35. package/dist/prompts/index.d.ts +18 -0
  36. package/dist/prompts/index.d.ts.map +1 -0
  37. package/dist/prompts/index.js +52 -0
  38. package/dist/prompts/index.js.map +1 -0
  39. package/dist/prompts/keyword-research.d.ts +18 -0
  40. package/dist/prompts/keyword-research.d.ts.map +1 -0
  41. package/dist/prompts/keyword-research.js +72 -0
  42. package/dist/prompts/keyword-research.js.map +1 -0
  43. package/dist/prompts/optimize-content.d.ts +18 -0
  44. package/dist/prompts/optimize-content.d.ts.map +1 -0
  45. package/dist/prompts/optimize-content.js +59 -0
  46. package/dist/prompts/optimize-content.js.map +1 -0
  47. package/dist/resources/briefs.d.ts +26 -0
  48. package/dist/resources/briefs.d.ts.map +1 -0
  49. package/dist/resources/briefs.js +144 -0
  50. package/dist/resources/briefs.js.map +1 -0
  51. package/dist/resources/content.d.ts +26 -0
  52. package/dist/resources/content.d.ts.map +1 -0
  53. package/dist/resources/content.js +128 -0
  54. package/dist/resources/content.js.map +1 -0
  55. package/dist/resources/index.d.ts +32 -0
  56. package/dist/resources/index.d.ts.map +1 -0
  57. package/dist/resources/index.js +85 -0
  58. package/dist/resources/index.js.map +1 -0
  59. package/dist/resources/sites.d.ts +26 -0
  60. package/dist/resources/sites.d.ts.map +1 -0
  61. package/dist/resources/sites.js +108 -0
  62. package/dist/resources/sites.js.map +1 -0
  63. package/dist/tools/ai-visibility.d.ts +25 -0
  64. package/dist/tools/ai-visibility.d.ts.map +1 -0
  65. package/dist/tools/ai-visibility.js +537 -0
  66. package/dist/tools/ai-visibility.js.map +1 -0
  67. package/dist/tools/analytics.d.ts +17 -0
  68. package/dist/tools/analytics.d.ts.map +1 -0
  69. package/dist/tools/analytics.js +311 -0
  70. package/dist/tools/analytics.js.map +1 -0
  71. package/dist/tools/audits.d.ts +73 -0
  72. package/dist/tools/audits.d.ts.map +1 -0
  73. package/dist/tools/audits.js +345 -0
  74. package/dist/tools/audits.js.map +1 -0
  75. package/dist/tools/briefs.d.ts +63 -0
  76. package/dist/tools/briefs.d.ts.map +1 -0
  77. package/dist/tools/briefs.js +276 -0
  78. package/dist/tools/briefs.js.map +1 -0
  79. package/dist/tools/content.d.ts +51 -0
  80. package/dist/tools/content.d.ts.map +1 -0
  81. package/dist/tools/content.js +233 -0
  82. package/dist/tools/content.js.map +1 -0
  83. package/dist/tools/index.d.ts +29 -0
  84. package/dist/tools/index.d.ts.map +1 -0
  85. package/dist/tools/index.js +96 -0
  86. package/dist/tools/index.js.map +1 -0
  87. package/dist/tools/jobs.d.ts +22 -0
  88. package/dist/tools/jobs.d.ts.map +1 -0
  89. package/dist/tools/jobs.js +124 -0
  90. package/dist/tools/jobs.js.map +1 -0
  91. package/dist/tools/optimizations.d.ts +19 -0
  92. package/dist/tools/optimizations.d.ts.map +1 -0
  93. package/dist/tools/optimizations.js +339 -0
  94. package/dist/tools/optimizations.js.map +1 -0
  95. package/dist/tools/research.d.ts +41 -0
  96. package/dist/tools/research.d.ts.map +1 -0
  97. package/dist/tools/research.js +151 -0
  98. package/dist/tools/research.js.map +1 -0
  99. package/dist/tools/serp.d.ts +15 -0
  100. package/dist/tools/serp.d.ts.map +1 -0
  101. package/dist/tools/serp.js +267 -0
  102. package/dist/tools/serp.js.map +1 -0
  103. package/dist/tools/sites.d.ts +31 -0
  104. package/dist/tools/sites.d.ts.map +1 -0
  105. package/dist/tools/sites.js +83 -0
  106. package/dist/tools/sites.js.map +1 -0
  107. package/dist/tools/webhooks.d.ts +19 -0
  108. package/dist/tools/webhooks.d.ts.map +1 -0
  109. package/dist/tools/webhooks.js +350 -0
  110. package/dist/tools/webhooks.js.map +1 -0
  111. package/dist/types.d.ts +167 -0
  112. package/dist/types.d.ts.map +1 -0
  113. package/dist/types.js +5 -0
  114. package/dist/types.js.map +1 -0
  115. package/package.json +67 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,kCAAkC,EAClC,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,SAAS,EACT,QAAQ,GACT,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,QAAQ,CAAC;AAE3C,6BAA6B;AAC7B,OAAO,EAAE,CAAC;AAEV,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,WAAW,EACX,eAAe,EACf,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAG5B,kBAAkB;AAClB,MAAM,WAAW,GAAG,kBAAkB,CAAC;AACvC,MAAM,cAAc,GAAG,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,cAAc;IACV,MAAM,CAAS;IACf,MAAM,GAAkB,IAAI,CAAC;IAC7B,MAAM,GAA0B,IAAI,CAAC;IACrC,aAAa,GAAG,KAAK,CAAC;IAE9B;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CACtB;YACE,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,cAAc;SACxB,EACD;YACE,YAAY,EAAE;gBACZ,KAAK,EAAE,EAAE;gBACT,SAAS,EAAE,EAAE;gBACb,OAAO,EAAE,EAAE;aACZ;SACF,CACF,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU;QACtB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAE1B,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;YAC5C,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YACzE,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,UAAU;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;QACzE,CAAC;QAED,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,4BAA4B;QAC5B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAExB,OAAO;gBACL,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC9B,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;iBAC9B,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,gCAAgC;QAChC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAExB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAElD,OAAO;oBACL,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC/B,GAAG,EAAE,CAAC,CAAC,GAAG;wBACV,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;qBACrB,CAAC,CAAC;iBACJ,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;gBAC7D,oCAAoC;gBACpC,OAAO;oBACL,SAAS,EAAE,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACxC,GAAG,EAAE,CAAC,CAAC,GAAG;wBACV,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;qBACrB,CAAC,CAAC;iBACJ,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,yCAAyC;QACzC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAC3E,OAAO;gBACL,iBAAiB,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACpD,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACrB,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,+BAA+B;QAC/B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACzE,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAExB,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAE/B,IAAI,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,MAAO,EAAE,qBAAqB,GAAG,EAAE,CAAC,CAAC;gBACnD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAChD,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;gBAC5D,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;gBACzE,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YACxD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,8BAA8B;QAC9B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACjE,OAAO;gBACL,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC/B,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,SAAS,EAAE,CAAC,CAAC,SAAS;iBACvB,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,4BAA4B;QAC5B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACtE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAEvD,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,mBAAmB,IAAI,EAAE,CAAC,CAAC;YAC1E,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;gBAE3D,OAAO;oBACL,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,QAAQ;iBACT,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;gBAC1D,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;gBACzE,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YACxD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,2BAA2B;QAC3B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACrE,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAExB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAEjD,gBAAgB;YAChB,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC;YACxE,CAAC;YAED,mBAAmB;YACnB,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,yBAAyB,IAAI,EAAE,CAAC,CAAC;YAC/E,CAAC;YAED,mBAAmB;YACnB,IAAI,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,MAAO,EAAE,mBAAmB,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAE7B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAE7C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBACxC,QAAQ,CAAC,IAAI,CAAC,MAAO,EAAE,QAAQ,IAAI,iBAAiB,QAAQ,IAAI,CAAC,CAAC;gBAElE,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,MAAM,CAAC,QAAQ;yBACtB;qBACF;oBACD,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO;iBACzB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;gBAE1D,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;gBAEzE,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,cAAc,OAAO,EAAE;yBAC9B;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;YAC9B,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC9B,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAC/B,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,OAAO;QACb,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG;QACP,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAErC,OAAO,CAAC,KAAK,CAAC,gCAAgC,cAAc,GAAG,CAAC,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,gCAAgC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,KAAK,CAAC,mCAAmC,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,kCAAkC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;QACtE,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACzD,CAAC;CACF;AAED,cAAc;AACd,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;AACpC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IAC3B,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Competitor Analysis Prompt
3
+ *
4
+ * A workflow prompt that guides Claude through competitor content analysis:
5
+ * 1. Analyze SERP for the topic
6
+ * 2. Deep-dive into competitor content
7
+ * 3. Identify strengths and weaknesses
8
+ */
9
+ import type { McpPromptDefinition } from "../types.js";
10
+ export declare const competitorAnalysisPrompt: McpPromptDefinition;
11
+ export declare function getCompetitorAnalysisMessages(args: Record<string, string>): Array<{
12
+ role: "user" | "assistant";
13
+ content: {
14
+ type: "text";
15
+ text: string;
16
+ };
17
+ }>;
18
+ //# sourceMappingURL=competitor-analysis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"competitor-analysis.d.ts","sourceRoot":"","sources":["../../src/prompts/competitor-analysis.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,wBAAwB,EAAE,mBAqBtC,CAAC;AAEF,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;IACjF,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC,CAAC,CA2CD"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Competitor Analysis Prompt
3
+ *
4
+ * A workflow prompt that guides Claude through competitor content analysis:
5
+ * 1. Analyze SERP for the topic
6
+ * 2. Deep-dive into competitor content
7
+ * 3. Identify strengths and weaknesses
8
+ */
9
+ export const competitorAnalysisPrompt = {
10
+ name: "competitor_analysis",
11
+ description: "Analyze competitor content for a topic. Identifies what competitors are doing well and opportunities to outrank them.",
12
+ arguments: [
13
+ {
14
+ name: "topic",
15
+ description: "The topic or keyword to analyze competitors for (required)",
16
+ required: true,
17
+ },
18
+ {
19
+ name: "urls",
20
+ description: "Specific competitor URLs to analyze (comma-separated, optional)",
21
+ required: false,
22
+ },
23
+ {
24
+ name: "country",
25
+ description: "Two-letter country code (default: us)",
26
+ required: false,
27
+ },
28
+ ],
29
+ };
30
+ export function getCompetitorAnalysisMessages(args) {
31
+ const topic = args.topic || "[topic]";
32
+ const urls = args.urls ? args.urls.split(",").map((u) => u.trim()) : [];
33
+ const country = args.country || "us";
34
+ const urlText = urls.length > 0
35
+ ? `\n- Specific URLs to analyze: ${urls.join(", ")}`
36
+ : "";
37
+ return [
38
+ {
39
+ role: "user",
40
+ content: {
41
+ type: "text",
42
+ text: `Please analyze competitor content for: "${topic}"
43
+
44
+ Settings:
45
+ - Country: ${country}${urlText}
46
+
47
+ Please follow these steps:
48
+
49
+ 1. **Get the SERP landscape** using analyze_serp to see who ranks for this topic
50
+
51
+ 2. **Analyze competitors** using analyze_competitors to understand:
52
+ - Content structure and length
53
+ - Key topics covered
54
+ - Strengths and weaknesses
55
+
56
+ 3. **Research the topic** using start_research for additional insights
57
+
58
+ 4. **Present a comprehensive analysis** including:
59
+ - Top competitors and their rankings
60
+ - Common content patterns
61
+ - Content gaps (topics competitors miss)
62
+ - Unique angles to differentiate
63
+
64
+ 5. **Provide actionable recommendations** for outranking competitors
65
+
66
+ Please start with the SERP analysis.`,
67
+ },
68
+ },
69
+ ];
70
+ }
71
+ //# sourceMappingURL=competitor-analysis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"competitor-analysis.js","sourceRoot":"","sources":["../../src/prompts/competitor-analysis.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,CAAC,MAAM,wBAAwB,GAAwB;IAC3D,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,uHAAuH;IACzH,SAAS,EAAE;QACT;YACE,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,4DAA4D;YACzE,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,iEAAiE;YAC9E,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,uCAAuC;YACpD,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,6BAA6B,CAAC,IAA4B;IAIxE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;IAErC,MAAM,OAAO,GACX,IAAI,CAAC,MAAM,GAAG,CAAC;QACb,CAAC,CAAC,iCAAiC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACpD,CAAC,CAAC,EAAE,CAAC;IAET,OAAO;QACL;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,2CAA2C,KAAK;;;aAGjD,OAAO,GAAG,OAAO;;;;;;;;;;;;;;;;;;;;;qCAqBO;aAC9B;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Content Audit Prompt
3
+ *
4
+ * A workflow prompt that guides Claude through a site content audit:
5
+ * 1. Start a site audit
6
+ * 2. Analyze the results
7
+ * 3. Prioritize improvements
8
+ */
9
+ import type { McpPromptDefinition } from "../types.js";
10
+ export declare const contentAuditPrompt: McpPromptDefinition;
11
+ export declare function getContentAuditMessages(args: Record<string, string>): Array<{
12
+ role: "user" | "assistant";
13
+ content: {
14
+ type: "text";
15
+ text: string;
16
+ };
17
+ }>;
18
+ //# sourceMappingURL=content-audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-audit.d.ts","sourceRoot":"","sources":["../../src/prompts/content-audit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,kBAAkB,EAAE,mBAgBhC,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;IAC3E,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC,CAAC,CA0CD"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Content Audit Prompt
3
+ *
4
+ * A workflow prompt that guides Claude through a site content audit:
5
+ * 1. Start a site audit
6
+ * 2. Analyze the results
7
+ * 3. Prioritize improvements
8
+ */
9
+ export const contentAuditPrompt = {
10
+ name: "content_audit",
11
+ description: "Run a comprehensive content audit on a site. Analyzes pages for SEO issues, content quality, and prioritizes improvements.",
12
+ arguments: [
13
+ {
14
+ name: "site_id",
15
+ description: "The site ID to audit (required)",
16
+ required: true,
17
+ },
18
+ {
19
+ name: "max_pages",
20
+ description: "Maximum pages to crawl (default: 100)",
21
+ required: false,
22
+ },
23
+ ],
24
+ };
25
+ export function getContentAuditMessages(args) {
26
+ const siteId = args.site_id || "[site_id]";
27
+ const maxPages = args.max_pages || "100";
28
+ return [
29
+ {
30
+ role: "user",
31
+ content: {
32
+ type: "text",
33
+ text: `Please run a content audit for site ID: ${siteId}
34
+
35
+ Settings:
36
+ - Maximum pages to crawl: ${maxPages}
37
+
38
+ Please follow these steps:
39
+
40
+ 1. **Start the audit** using start_audit with the site ID
41
+
42
+ 2. **Monitor progress** using get_job_status until the audit completes
43
+
44
+ 3. **Get the audit results** using get_audit to see:
45
+ - Pages crawled
46
+ - Issues found
47
+ - Page-level details
48
+
49
+ 4. **Get GSC data** using get_gsc_overview and get_gsc_pages to understand current performance
50
+
51
+ 5. **Identify content gaps** using get_content_gaps to find opportunities
52
+
53
+ 6. **Present a summary** including:
54
+ - Overall site health score
55
+ - Critical issues to fix immediately
56
+ - Quick wins (easy improvements)
57
+ - Long-term recommendations
58
+ - Pages to prioritize for optimization
59
+
60
+ 7. **Suggest an action plan** with prioritized next steps
61
+
62
+ Please start by initiating the audit.`,
63
+ },
64
+ },
65
+ ];
66
+ }
67
+ //# sourceMappingURL=content-audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-audit.js","sourceRoot":"","sources":["../../src/prompts/content-audit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,CAAC,MAAM,kBAAkB,GAAwB;IACrD,IAAI,EAAE,eAAe;IACrB,WAAW,EACT,4HAA4H;IAC9H,SAAS,EAAE;QACT;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,iCAAiC;YAC9C,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uCAAuC;YACpD,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,IAA4B;IAIlE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC;IAEzC,OAAO;QACL;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,2CAA2C,MAAM;;;4BAGnC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;sCA0BE;aAC/B;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Create SEO Article Prompt
3
+ *
4
+ * A workflow prompt that guides Claude through creating a complete SEO article:
5
+ * 1. Research the topic
6
+ * 2. Create a content brief
7
+ * 3. Generate an outline
8
+ * 4. Create the content
9
+ */
10
+ import type { McpPromptDefinition } from "../types.js";
11
+ export declare const createSeoArticlePrompt: McpPromptDefinition;
12
+ export declare function getCreateSeoArticleMessages(args: Record<string, string>): Array<{
13
+ role: "user" | "assistant";
14
+ content: {
15
+ type: "text";
16
+ text: string;
17
+ };
18
+ }>;
19
+ //# sourceMappingURL=create-seo-article.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-seo-article.d.ts","sourceRoot":"","sources":["../../src/prompts/create-seo-article.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,sBAAsB,EAAE,mBA2BpC,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;IAC/E,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC,CAAC,CA6CD"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Create SEO Article Prompt
3
+ *
4
+ * A workflow prompt that guides Claude through creating a complete SEO article:
5
+ * 1. Research the topic
6
+ * 2. Create a content brief
7
+ * 3. Generate an outline
8
+ * 4. Create the content
9
+ */
10
+ export const createSeoArticlePrompt = {
11
+ name: "create_seo_article",
12
+ description: "Create a complete SEO article from scratch. This workflow researches the topic, creates a brief with outline, and generates optimized content.",
13
+ arguments: [
14
+ {
15
+ name: "topic",
16
+ description: "The topic or title for the article (required)",
17
+ required: true,
18
+ },
19
+ {
20
+ name: "keywords",
21
+ description: "Target keywords to optimize for (comma-separated)",
22
+ required: false,
23
+ },
24
+ {
25
+ name: "content_type",
26
+ description: "Type of content: blog, guide, listicle, comparison, landing (default: blog)",
27
+ required: false,
28
+ },
29
+ {
30
+ name: "site_id",
31
+ description: "Site ID to associate the content with (optional)",
32
+ required: false,
33
+ },
34
+ ],
35
+ };
36
+ export function getCreateSeoArticleMessages(args) {
37
+ const topic = args.topic || "the requested topic";
38
+ const keywords = args.keywords ? args.keywords.split(",").map((k) => k.trim()) : [];
39
+ const contentType = args.content_type || "blog";
40
+ const siteId = args.site_id || null;
41
+ const keywordText = keywords.length > 0
42
+ ? `\n- Target keywords: ${keywords.join(", ")}`
43
+ : "";
44
+ const siteText = siteId ? `\n- Site ID: ${siteId}` : "";
45
+ return [
46
+ {
47
+ role: "user",
48
+ content: {
49
+ type: "text",
50
+ text: `Please help me create a complete SEO article about "${topic}".
51
+
52
+ Article specifications:
53
+ - Content type: ${contentType}${keywordText}${siteText}
54
+
55
+ Please follow these steps:
56
+
57
+ 1. **Research the topic** using start_research to gather insights and understand the search landscape
58
+
59
+ 2. **Create a content brief** using create_brief with:
60
+ - The topic as the title
61
+ - generate_outline set to true
62
+ - Any target keywords I provided
63
+
64
+ 3. **Wait for the brief** to be ready using get_job_status, then get the full brief with get_brief
65
+
66
+ 4. **Review the outline** and let me know what was generated, including:
67
+ - The suggested outline structure
68
+ - Key topics to cover
69
+ - Competitor analysis insights
70
+
71
+ 5. **Ask for my approval** before generating the final content
72
+
73
+ Please start with the research step and guide me through this process.`,
74
+ },
75
+ },
76
+ ];
77
+ }
78
+ //# sourceMappingURL=create-seo-article.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-seo-article.js","sourceRoot":"","sources":["../../src/prompts/create-seo-article.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,CAAC,MAAM,sBAAsB,GAAwB;IACzD,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,gJAAgJ;IAClJ,SAAS,EAAE;QACT;YACE,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,+CAA+C;YAC5D,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,mDAAmD;YAChE,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EACT,6EAA6E;YAC/E,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kDAAkD;YAC/D,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,2BAA2B,CAAC,IAA4B;IAItE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,qBAAqB,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpF,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;IAEpC,MAAM,WAAW,GACf,QAAQ,CAAC,MAAM,GAAG,CAAC;QACjB,CAAC,CAAC,wBAAwB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC/C,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAExD,OAAO;QACL;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,uDAAuD,KAAK;;;kBAGxD,WAAW,GAAG,WAAW,GAAG,QAAQ;;;;;;;;;;;;;;;;;;;;uEAoBiB;aAChE;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Prompt registry
3
+ *
4
+ * All MCP prompts are registered here. Each prompt provides a pre-built
5
+ * workflow for common SEO tasks.
6
+ */
7
+ import type { McpPromptDefinition } from "../types.js";
8
+ export declare const ALL_PROMPTS: McpPromptDefinition[];
9
+ export declare function getPromptByName(name: string): McpPromptDefinition | undefined;
10
+ export declare function getPromptMessages(name: string, args: Record<string, string>): Array<{
11
+ role: "user" | "assistant";
12
+ content: {
13
+ type: "text";
14
+ text: string;
15
+ };
16
+ }>;
17
+ export declare function getPromptCount(): number;
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAgCvD,eAAO,MAAM,WAAW,EAAE,mBAAmB,EAM5C,CAAC;AAuBF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAE7E;AAMD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,KAAK,CAAC;IACP,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC,CAAC,CAOD;AAMD,wBAAgB,cAAc,IAAI,MAAM,CAEvC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Prompt registry
3
+ *
4
+ * All MCP prompts are registered here. Each prompt provides a pre-built
5
+ * workflow for common SEO tasks.
6
+ */
7
+ // Import prompt modules
8
+ import { createSeoArticlePrompt, getCreateSeoArticleMessages, } from "./create-seo-article.js";
9
+ import { optimizeContentPrompt, getOptimizeContentMessages, } from "./optimize-content.js";
10
+ import { keywordResearchPrompt, getKeywordResearchMessages, } from "./keyword-research.js";
11
+ import { competitorAnalysisPrompt, getCompetitorAnalysisMessages, } from "./competitor-analysis.js";
12
+ import { contentAuditPrompt, getContentAuditMessages, } from "./content-audit.js";
13
+ // ============================================
14
+ // All Prompts
15
+ // ============================================
16
+ export const ALL_PROMPTS = [
17
+ createSeoArticlePrompt,
18
+ optimizeContentPrompt,
19
+ keywordResearchPrompt,
20
+ competitorAnalysisPrompt,
21
+ contentAuditPrompt,
22
+ ];
23
+ const PROMPT_MESSAGE_GENERATORS = {
24
+ create_seo_article: getCreateSeoArticleMessages,
25
+ optimize_content: getOptimizeContentMessages,
26
+ keyword_research: getKeywordResearchMessages,
27
+ competitor_analysis: getCompetitorAnalysisMessages,
28
+ content_audit: getContentAuditMessages,
29
+ };
30
+ // ============================================
31
+ // Get Prompt by Name
32
+ // ============================================
33
+ export function getPromptByName(name) {
34
+ return ALL_PROMPTS.find((p) => p.name === name);
35
+ }
36
+ // ============================================
37
+ // Get Prompt Messages
38
+ // ============================================
39
+ export function getPromptMessages(name, args) {
40
+ const generator = PROMPT_MESSAGE_GENERATORS[name];
41
+ if (!generator) {
42
+ throw new Error(`Unknown prompt: ${name}`);
43
+ }
44
+ return generator(args);
45
+ }
46
+ // ============================================
47
+ // Get Prompt Count
48
+ // ============================================
49
+ export function getPromptCount() {
50
+ return ALL_PROMPTS.length;
51
+ }
52
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,wBAAwB;AACxB,OAAO,EACL,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAE5B,+CAA+C;AAC/C,cAAc;AACd,+CAA+C;AAE/C,MAAM,CAAC,MAAM,WAAW,GAA0B;IAChD,sBAAsB;IACtB,qBAAqB;IACrB,qBAAqB;IACrB,wBAAwB;IACxB,kBAAkB;CACnB,CAAC;AAWF,MAAM,yBAAyB,GAA2C;IACxE,kBAAkB,EAAE,2BAA2B;IAC/C,gBAAgB,EAAE,0BAA0B;IAC5C,gBAAgB,EAAE,0BAA0B;IAC5C,mBAAmB,EAAE,6BAA6B;IAClD,aAAa,EAAE,uBAAuB;CACvC,CAAC;AAEF,+CAA+C;AAC/C,qBAAqB;AACrB,+CAA+C;AAE/C,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAClD,CAAC;AAED,+CAA+C;AAC/C,sBAAsB;AACtB,+CAA+C;AAE/C,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,IAA4B;IAK5B,MAAM,SAAS,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,+CAA+C;AAC/C,mBAAmB;AACnB,+CAA+C;AAE/C,MAAM,UAAU,cAAc;IAC5B,OAAO,WAAW,CAAC,MAAM,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Keyword Research Prompt
3
+ *
4
+ * A workflow prompt that guides Claude through keyword research:
5
+ * 1. Analyze the topic
6
+ * 2. Get SERP data
7
+ * 3. Identify opportunities
8
+ */
9
+ import type { McpPromptDefinition } from "../types.js";
10
+ export declare const keywordResearchPrompt: McpPromptDefinition;
11
+ export declare function getKeywordResearchMessages(args: Record<string, string>): Array<{
12
+ role: "user" | "assistant";
13
+ content: {
14
+ type: "text";
15
+ text: string;
16
+ };
17
+ }>;
18
+ //# sourceMappingURL=keyword-research.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyword-research.d.ts","sourceRoot":"","sources":["../../src/prompts/keyword-research.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,qBAAqB,EAAE,mBAqBnC,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;IAC9E,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC,CAAC,CA0CD"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Keyword Research Prompt
3
+ *
4
+ * A workflow prompt that guides Claude through keyword research:
5
+ * 1. Analyze the topic
6
+ * 2. Get SERP data
7
+ * 3. Identify opportunities
8
+ */
9
+ export const keywordResearchPrompt = {
10
+ name: "keyword_research",
11
+ description: "Research keywords for a topic. Analyzes search intent, competition, and identifies content opportunities.",
12
+ arguments: [
13
+ {
14
+ name: "topic",
15
+ description: "The topic or seed keyword to research (required)",
16
+ required: true,
17
+ },
18
+ {
19
+ name: "country",
20
+ description: "Two-letter country code for localized results (default: us)",
21
+ required: false,
22
+ },
23
+ {
24
+ name: "language",
25
+ description: "Two-letter language code (default: en)",
26
+ required: false,
27
+ },
28
+ ],
29
+ };
30
+ export function getKeywordResearchMessages(args) {
31
+ const topic = args.topic || "[topic]";
32
+ const country = args.country || "us";
33
+ const language = args.language || "en";
34
+ return [
35
+ {
36
+ role: "user",
37
+ content: {
38
+ type: "text",
39
+ text: `Please help me research keywords for: "${topic}"
40
+
41
+ Settings:
42
+ - Country: ${country}
43
+ - Language: ${language}
44
+
45
+ Please follow these steps:
46
+
47
+ 1. **Analyze the SERP** using analyze_serp to understand:
48
+ - Current top-ranking content
49
+ - Featured snippets
50
+ - People Also Ask questions
51
+ - Related searches
52
+
53
+ 2. **Get search intent** using get_search_intent to determine:
54
+ - Primary intent (informational, transactional, navigational)
55
+ - Recommended content type and format
56
+
57
+ 3. **Research the topic** using start_research for deeper insights
58
+
59
+ 4. **Present your findings** including:
60
+ - Main keyword opportunities
61
+ - Long-tail variations
62
+ - Content gaps to exploit
63
+ - Recommended content angle
64
+
65
+ 5. **Suggest next steps** for creating content based on the research
66
+
67
+ Please start with the SERP analysis.`,
68
+ },
69
+ },
70
+ ];
71
+ }
72
+ //# sourceMappingURL=keyword-research.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyword-research.js","sourceRoot":"","sources":["../../src/prompts/keyword-research.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,CAAC,MAAM,qBAAqB,GAAwB;IACxD,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,2GAA2G;IAC7G,SAAS,EAAE;QACT;YACE,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,kDAAkD;YAC/D,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,6DAA6D;YAC1E,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wCAAwC;YACrD,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,0BAA0B,CAAC,IAA4B;IAIrE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;IAEvC,OAAO;QACL;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,0CAA0C,KAAK;;;aAGhD,OAAO;cACN,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;qCAwBe;aAC9B;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Optimize Content Prompt
3
+ *
4
+ * A workflow prompt that guides Claude through optimizing existing content:
5
+ * 1. Analyze the current content
6
+ * 2. Run optimization analysis
7
+ * 3. Review and apply suggestions
8
+ */
9
+ import type { McpPromptDefinition } from "../types.js";
10
+ export declare const optimizeContentPrompt: McpPromptDefinition;
11
+ export declare function getOptimizeContentMessages(args: Record<string, string>): Array<{
12
+ role: "user" | "assistant";
13
+ content: {
14
+ type: "text";
15
+ text: string;
16
+ };
17
+ }>;
18
+ //# sourceMappingURL=optimize-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optimize-content.d.ts","sourceRoot":"","sources":["../../src/prompts/optimize-content.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,qBAAqB,EAAE,mBAiBnC,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;IAC9E,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC,CAAC,CAkCD"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Optimize Content Prompt
3
+ *
4
+ * A workflow prompt that guides Claude through optimizing existing content:
5
+ * 1. Analyze the current content
6
+ * 2. Run optimization analysis
7
+ * 3. Review and apply suggestions
8
+ */
9
+ export const optimizeContentPrompt = {
10
+ name: "optimize_content",
11
+ description: "Analyze and optimize existing content. Reviews SEO factors, readability, and provides actionable improvement suggestions.",
12
+ arguments: [
13
+ {
14
+ name: "content_id",
15
+ description: "The ID of the content to optimize (required)",
16
+ required: true,
17
+ },
18
+ {
19
+ name: "focus",
20
+ description: "Focus area: seo, readability, structure, all (default: all)",
21
+ required: false,
22
+ },
23
+ ],
24
+ };
25
+ export function getOptimizeContentMessages(args) {
26
+ const contentId = args.content_id || "[content_id]";
27
+ const focus = args.focus || "all";
28
+ return [
29
+ {
30
+ role: "user",
31
+ content: {
32
+ type: "text",
33
+ text: `Please help me optimize my content with ID: ${contentId}
34
+
35
+ Focus area: ${focus}
36
+
37
+ Please follow these steps:
38
+
39
+ 1. **Get the current content** using get_content to understand what we're working with
40
+
41
+ 2. **Start an optimization analysis** using start_optimization
42
+
43
+ 3. **Wait for the analysis** to complete using get_job_status
44
+
45
+ 4. **Get the optimization results** using get_optimization
46
+
47
+ 5. **Present the suggestions** organized by:
48
+ - Priority (high, medium, low)
49
+ - Type (SEO, readability, structure, etc.)
50
+ - Expected impact
51
+
52
+ 6. **Ask which suggestions to apply** before making changes
53
+
54
+ Please start by fetching the content details.`,
55
+ },
56
+ },
57
+ ];
58
+ }
59
+ //# sourceMappingURL=optimize-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optimize-content.js","sourceRoot":"","sources":["../../src/prompts/optimize-content.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,CAAC,MAAM,qBAAqB,GAAwB;IACxD,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,2HAA2H;IAC7H,SAAS,EAAE;QACT;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8CAA8C;YAC3D,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,OAAO;YACb,WAAW,EACT,6DAA6D;YAC/D,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,0BAA0B,CAAC,IAA4B;IAIrE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,cAAc,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;IAElC,OAAO;QACL;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,+CAA+C,SAAS;;cAExD,KAAK;;;;;;;;;;;;;;;;;;;8CAmB2B;aACvC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Briefs MCP Resources
3
+ *
4
+ * Expose briefs as browsable MCP resources:
5
+ * - frase://briefs - List of briefs
6
+ * - frase://briefs/{id} - Individual brief with outline
7
+ */
8
+ import type { ToolContext } from "../types.js";
9
+ export declare const BRIEFS_URI = "frase://briefs";
10
+ export declare const BRIEF_URI_PREFIX = "frase://briefs/";
11
+ export declare const briefResourceTemplates: {
12
+ uriTemplate: string;
13
+ name: string;
14
+ description: string;
15
+ mimeType: string;
16
+ }[];
17
+ export interface BriefResource {
18
+ uri: string;
19
+ name: string;
20
+ description: string;
21
+ mimeType: string;
22
+ }
23
+ export declare function listBriefResources(context: ToolContext): Promise<BriefResource[]>;
24
+ export declare function readBriefResource(uri: string, context: ToolContext): Promise<string>;
25
+ export declare function matchesBriefUri(uri: string): boolean;
26
+ //# sourceMappingURL=briefs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"briefs.d.ts","sourceRoot":"","sources":["../../src/resources/briefs.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,WAAW,EAIZ,MAAM,aAAa,CAAC;AA+BrB,eAAO,MAAM,UAAU,mBAAmB,CAAC;AAC3C,eAAO,MAAM,gBAAgB,oBAAoB,CAAC;AAMlD,eAAO,MAAM,sBAAsB;;;;;GAOlC,CAAC;AAMF,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,aAAa,EAAE,CAAC,CAsC1B;AAMD,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,CAWjB;AAsGD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEpD"}