suparank 1.2.0 → 1.2.2
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/mcp-client.js +139 -29
- package/package.json +1 -1
package/mcp-client.js
CHANGED
|
@@ -657,7 +657,18 @@ async function callBackendTool(toolName, args) {
|
|
|
657
657
|
const TOOLS = [
|
|
658
658
|
{
|
|
659
659
|
name: 'keyword_research',
|
|
660
|
-
description:
|
|
660
|
+
description: `Research keywords for SEO. Use ONLY when user specifically asks for keyword research WITHOUT wanting full article creation.
|
|
661
|
+
|
|
662
|
+
TRIGGERS - Use when user says:
|
|
663
|
+
- "find keywords for..."
|
|
664
|
+
- "research keywords about..."
|
|
665
|
+
- "what keywords should I target for..."
|
|
666
|
+
- "keyword ideas for..."
|
|
667
|
+
- "analyze keywords for..."
|
|
668
|
+
|
|
669
|
+
DO NOT USE when user wants to write/create content - use create_content instead (it includes keyword research automatically).
|
|
670
|
+
|
|
671
|
+
OUTCOME: List of keywords with search volume, difficulty, and recommendations.`,
|
|
661
672
|
inputSchema: {
|
|
662
673
|
type: 'object',
|
|
663
674
|
properties: {
|
|
@@ -908,7 +919,23 @@ const TOOLS = [
|
|
|
908
919
|
const ACTION_TOOLS = [
|
|
909
920
|
{
|
|
910
921
|
name: 'generate_image',
|
|
911
|
-
description:
|
|
922
|
+
description: `Generate AI images. Use when user wants to create, generate, or regenerate images.
|
|
923
|
+
|
|
924
|
+
TRIGGERS - Use when user says:
|
|
925
|
+
- "create an image for..."
|
|
926
|
+
- "generate image of..."
|
|
927
|
+
- "make a picture of..."
|
|
928
|
+
- "I need an image for..."
|
|
929
|
+
- "regenerate the image"
|
|
930
|
+
- "new hero image"
|
|
931
|
+
- "create thumbnail for..."
|
|
932
|
+
|
|
933
|
+
NOTE: create_content automatically generates images. Use this tool for:
|
|
934
|
+
- Regenerating/replacing images
|
|
935
|
+
- Creating standalone images
|
|
936
|
+
- Custom image requests outside content workflow
|
|
937
|
+
|
|
938
|
+
OUTCOME: AI-generated image URL ready for use.`,
|
|
912
939
|
inputSchema: {
|
|
913
940
|
type: 'object',
|
|
914
941
|
properties: {
|
|
@@ -1035,21 +1062,24 @@ const ACTION_TOOLS = [
|
|
|
1035
1062
|
const ORCHESTRATOR_TOOLS = [
|
|
1036
1063
|
{
|
|
1037
1064
|
name: 'create_content',
|
|
1038
|
-
description:
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
- "
|
|
1042
|
-
- "
|
|
1043
|
-
- "
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1065
|
+
description: `PRIMARY TOOL for content creation. Use this when user wants to write, create, or generate any content.
|
|
1066
|
+
|
|
1067
|
+
TRIGGERS - Use when user says:
|
|
1068
|
+
- "write a blog post about..."
|
|
1069
|
+
- "create an article about..."
|
|
1070
|
+
- "I need content for..."
|
|
1071
|
+
- "help me write about..."
|
|
1072
|
+
- "generate a post on..."
|
|
1073
|
+
- "make content about..."
|
|
1074
|
+
- any request involving writing/creating/generating articles or blog posts
|
|
1075
|
+
|
|
1076
|
+
WORKFLOW (automatic 4-phase):
|
|
1077
|
+
1. RESEARCH: Keywords, SEO strategy, content structure
|
|
1078
|
+
2. CREATION: Outline, write full article, save to session
|
|
1079
|
+
3. OPTIMIZATION: Quality check, GEO optimization for AI search
|
|
1080
|
+
4. PUBLISHING: Generate images, publish to WordPress/Ghost
|
|
1081
|
+
|
|
1082
|
+
OUTCOME: Complete article written, optimized, and published to CMS.`,
|
|
1053
1083
|
inputSchema: {
|
|
1054
1084
|
type: 'object',
|
|
1055
1085
|
properties: {
|
|
@@ -1078,7 +1108,16 @@ No parameters needed - I use your project settings automatically!`,
|
|
|
1078
1108
|
},
|
|
1079
1109
|
{
|
|
1080
1110
|
name: 'save_content',
|
|
1081
|
-
description:
|
|
1111
|
+
description: `Save written article to session. Use after manually writing content outside create_content workflow.
|
|
1112
|
+
|
|
1113
|
+
TRIGGERS - Use when:
|
|
1114
|
+
- You wrote an article manually and need to save it
|
|
1115
|
+
- User says "save this article" / "save my content"
|
|
1116
|
+
- Saving edited/revised content
|
|
1117
|
+
|
|
1118
|
+
NOTE: create_content saves automatically. Only use this for manual saves.
|
|
1119
|
+
|
|
1120
|
+
OUTCOME: Article saved to session, ready for publishing.`,
|
|
1082
1121
|
inputSchema: {
|
|
1083
1122
|
type: 'object',
|
|
1084
1123
|
properties: {
|
|
@@ -1105,7 +1144,21 @@ No parameters needed - I use your project settings automatically!`,
|
|
|
1105
1144
|
},
|
|
1106
1145
|
{
|
|
1107
1146
|
name: 'publish_content',
|
|
1108
|
-
description:
|
|
1147
|
+
description: `Publish articles to WordPress/Ghost. Use when user wants to publish saved content.
|
|
1148
|
+
|
|
1149
|
+
TRIGGERS - Use when user says:
|
|
1150
|
+
- "publish my article"
|
|
1151
|
+
- "post this to WordPress/Ghost"
|
|
1152
|
+
- "publish to my blog"
|
|
1153
|
+
- "make it live"
|
|
1154
|
+
- "publish as draft"
|
|
1155
|
+
|
|
1156
|
+
NOTE: create_content publishes automatically. Use this for:
|
|
1157
|
+
- Manual publishing control
|
|
1158
|
+
- Re-publishing edited content
|
|
1159
|
+
- Publishing specific articles from session
|
|
1160
|
+
|
|
1161
|
+
OUTCOME: Article published to configured CMS platforms.`,
|
|
1109
1162
|
inputSchema: {
|
|
1110
1163
|
type: 'object',
|
|
1111
1164
|
properties: {
|
|
@@ -1135,7 +1188,16 @@ No parameters needed - I use your project settings automatically!`,
|
|
|
1135
1188
|
},
|
|
1136
1189
|
{
|
|
1137
1190
|
name: 'get_session',
|
|
1138
|
-
description:
|
|
1191
|
+
description: `View current session status. Shows saved articles, images, and publishing state.
|
|
1192
|
+
|
|
1193
|
+
TRIGGERS - Use when user says:
|
|
1194
|
+
- "what's in my session"
|
|
1195
|
+
- "show my articles"
|
|
1196
|
+
- "what have I created"
|
|
1197
|
+
- "session status"
|
|
1198
|
+
- "list my saved content"
|
|
1199
|
+
|
|
1200
|
+
OUTCOME: List of all articles in session with their publish status.`,
|
|
1139
1201
|
inputSchema: {
|
|
1140
1202
|
type: 'object',
|
|
1141
1203
|
properties: {}
|
|
@@ -1143,7 +1205,15 @@ No parameters needed - I use your project settings automatically!`,
|
|
|
1143
1205
|
},
|
|
1144
1206
|
{
|
|
1145
1207
|
name: 'remove_article',
|
|
1146
|
-
description:
|
|
1208
|
+
description: `Remove article(s) from session. Does NOT delete published content.
|
|
1209
|
+
|
|
1210
|
+
TRIGGERS - Use when user says:
|
|
1211
|
+
- "remove article 2"
|
|
1212
|
+
- "delete the second article"
|
|
1213
|
+
- "remove that article"
|
|
1214
|
+
- "discard article..."
|
|
1215
|
+
|
|
1216
|
+
OUTCOME: Specified article(s) removed from session.`,
|
|
1147
1217
|
inputSchema: {
|
|
1148
1218
|
type: 'object',
|
|
1149
1219
|
properties: {
|
|
@@ -1158,7 +1228,18 @@ No parameters needed - I use your project settings automatically!`,
|
|
|
1158
1228
|
},
|
|
1159
1229
|
{
|
|
1160
1230
|
name: 'clear_session',
|
|
1161
|
-
description:
|
|
1231
|
+
description: `Clear ALL content from session. DESTRUCTIVE - removes all unpublished articles!
|
|
1232
|
+
|
|
1233
|
+
TRIGGERS - Use when user says:
|
|
1234
|
+
- "clear my session"
|
|
1235
|
+
- "start fresh"
|
|
1236
|
+
- "remove all articles"
|
|
1237
|
+
- "reset everything"
|
|
1238
|
+
- "clear all content"
|
|
1239
|
+
|
|
1240
|
+
WARNING: Requires confirm: true. Does NOT affect already-published content.
|
|
1241
|
+
|
|
1242
|
+
OUTCOME: Empty session, ready for new content creation.`,
|
|
1162
1243
|
inputSchema: {
|
|
1163
1244
|
type: 'object',
|
|
1164
1245
|
properties: {
|
|
@@ -1172,7 +1253,18 @@ No parameters needed - I use your project settings automatically!`,
|
|
|
1172
1253
|
},
|
|
1173
1254
|
{
|
|
1174
1255
|
name: 'list_content',
|
|
1175
|
-
description:
|
|
1256
|
+
description: `List all saved content from disk. Shows past articles that can be loaded back.
|
|
1257
|
+
|
|
1258
|
+
TRIGGERS - Use when user says:
|
|
1259
|
+
- "show my past articles"
|
|
1260
|
+
- "list saved content"
|
|
1261
|
+
- "what articles do I have"
|
|
1262
|
+
- "show previous content"
|
|
1263
|
+
- "find my old articles"
|
|
1264
|
+
|
|
1265
|
+
NOTE: Different from get_session - this shows DISK storage, not current session.
|
|
1266
|
+
|
|
1267
|
+
OUTCOME: List of saved article folders with titles and dates.`,
|
|
1176
1268
|
inputSchema: {
|
|
1177
1269
|
type: 'object',
|
|
1178
1270
|
properties: {
|
|
@@ -1186,7 +1278,18 @@ No parameters needed - I use your project settings automatically!`,
|
|
|
1186
1278
|
},
|
|
1187
1279
|
{
|
|
1188
1280
|
name: 'load_content',
|
|
1189
|
-
description:
|
|
1281
|
+
description: `Load a saved article back into session for editing or re-publishing.
|
|
1282
|
+
|
|
1283
|
+
TRIGGERS - Use when user says:
|
|
1284
|
+
- "load my article about..."
|
|
1285
|
+
- "open the previous article"
|
|
1286
|
+
- "bring back that article"
|
|
1287
|
+
- "edit my old post about..."
|
|
1288
|
+
- "reload article..."
|
|
1289
|
+
|
|
1290
|
+
WORKFLOW: Run list_content first to see available articles, then load by folder name.
|
|
1291
|
+
|
|
1292
|
+
OUTCOME: Article loaded into session, ready for optimization or re-publishing.`,
|
|
1190
1293
|
inputSchema: {
|
|
1191
1294
|
type: 'object',
|
|
1192
1295
|
properties: {
|
|
@@ -3096,21 +3199,28 @@ async function executeSendWebhook(args) {
|
|
|
3096
3199
|
}
|
|
3097
3200
|
|
|
3098
3201
|
/**
|
|
3099
|
-
* Essential tools shown in the tool list
|
|
3100
|
-
*
|
|
3202
|
+
* Essential tools shown in the tool list
|
|
3203
|
+
* MCP protocol requires tools to be listed for clients to call them
|
|
3101
3204
|
*/
|
|
3102
3205
|
const VISIBLE_TOOLS = [
|
|
3206
|
+
// Essential (5) - Main workflow
|
|
3103
3207
|
'create_content', // Main entry point - creates & publishes automatically
|
|
3104
3208
|
'keyword_research', // Research keywords separately (on-demand)
|
|
3105
3209
|
'generate_image', // Generate/regenerate images (on-demand)
|
|
3106
3210
|
'publish_content', // Manual publish trigger (on-demand)
|
|
3107
|
-
'get_session'
|
|
3211
|
+
'get_session', // Check status (on-demand)
|
|
3212
|
+
|
|
3213
|
+
// Session Management (5) - Content lifecycle
|
|
3214
|
+
'save_content', // Save article to session
|
|
3215
|
+
'list_content', // List saved content
|
|
3216
|
+
'load_content', // Load past content into session
|
|
3217
|
+
'remove_article', // Remove article from session
|
|
3218
|
+
'clear_session' // Clear all session content
|
|
3108
3219
|
]
|
|
3109
3220
|
|
|
3110
3221
|
/**
|
|
3111
3222
|
* Get all available tools based on configured credentials
|
|
3112
|
-
*
|
|
3113
|
-
* Hidden tools still work when LLM calls them directly
|
|
3223
|
+
* Shows 10 essential tools (instead of 24) for cleaner UX
|
|
3114
3224
|
*/
|
|
3115
3225
|
function getAvailableTools() {
|
|
3116
3226
|
const tools = []
|
package/package.json
CHANGED