@clipform/mcp-server 1.29.0 → 1.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-6SFMF2AQ.js → chunk-ELO7KCMZ.js} +49 -61
- package/dist/{chunk-6SFMF2AQ.js.map → chunk-ELO7KCMZ.js.map} +1 -1
- package/dist/{chunk-B6ZWH3GD.js → chunk-J4KJN4C4.js} +2 -2
- package/dist/chunk-J4KJN4C4.js.map +1 -0
- package/dist/{chunk-5FG2V7B7.js → chunk-Y3A5HHT6.js} +23 -14
- package/dist/{chunk-5FG2V7B7.js.map → chunk-Y3A5HHT6.js.map} +1 -1
- package/dist/index.js +3 -3
- package/dist/prompts.js +1 -1
- package/dist/resources.js +1 -1
- package/dist/server.js +3 -3
- package/package.json +1 -1
- package/dist/chunk-B6ZWH3GD.js.map +0 -1
|
@@ -4107,30 +4107,25 @@ function quizWorkflow(args, sessionContext, authMode = "oauth") {
|
|
|
4107
4107
|
|
|
4108
4108
|
1. **Research** the topic - find surprising facts, common misconceptions, myth-busters
|
|
4109
4109
|
2. **Write questions** - follow the difficulty curve (easy start, hard middle, satisfying end). Target ${count} questions.
|
|
4110
|
-
3. **
|
|
4111
|
-
- show_step_counter: true
|
|
4112
|
-
-
|
|
4113
|
-
|
|
4114
|
-
|
|
4115
|
-
|
|
4116
|
-
|
|
4117
|
-
|
|
4118
|
-
|
|
4119
|
-
|
|
4110
|
+
3. **Build the whole form in ONE clipform_create_form call** - pass nodes, settings, and tags together; do NOT create an empty form and add nodes one by one:
|
|
4111
|
+
- Settings: show_step_counter: true, disable_back_navigation: true
|
|
4112
|
+
- One choice node per question: config { choice: { show_answer_feedback: true }, randomise_options: true }, options with score: 1 on the correct answer and score: 0 on 3-4 plausible wrong ones. The viewer shuffles options at render time, so list them in any order. Scored options enable correct-answer marking automatically.
|
|
4113
|
+
- Final end_screen node - EVERY quiz must have:
|
|
4114
|
+
- show_score: true, icon: "trophy"
|
|
4115
|
+
- show_share_button: true (drives virality)
|
|
4116
|
+
- cta_type: "restart", cta_text: a short challenge like "Beat your score?" or "Try again?"
|
|
4117
|
+
- title and message that fit the quiz's voice - short, punchy, and specific to the topic (not generic "Good job!"). Example: title: "Well played!", message: "Share your score and challenge a friend."
|
|
4118
|
+
- NOTE: Personalised messages per score tier (score_ranges) are coming soon. For now, write one great end screen message that works for all scores.
|
|
4119
|
+
- tags: one format (quiz/survey/interview/feedback/lead-gen), one genre (trivia/personality/nps/poll/testimonial), and 2-3 topic words
|
|
4120
|
+
4. **Generate narration** with clipform_generate_tts - batch ALL questions in a single call (pass an array of items). Tease the question - do NOT reveal the answer or read options aloud. Keep each narration 5-15 seconds.
|
|
4121
|
+
5. **Build video** for each question:
|
|
4120
4122
|
- clipform_search_media (kind: "image") - 3 images per question
|
|
4121
4123
|
- clipform_generate_video - creates Ken Burns video synced to audio
|
|
4122
|
-
|
|
4123
|
-
|
|
4124
|
-
|
|
4125
|
-
- show_share_button: true (drives virality)
|
|
4126
|
-
- cta_type: "restart", cta_text: a short challenge like "Beat your score?" or "Try again?"
|
|
4127
|
-
- title and message that fit the quiz's voice - short, punchy, and specific to the topic (not generic "Good job!"). Example: title: "Well played!", message: "Share your score and challenge a friend."
|
|
4128
|
-
- NOTE: Personalised messages per score tier (score_ranges) are coming soon. For now, write one great end screen message that works for all scores.
|
|
4129
|
-
9. **Publish** with clipform_update_form
|
|
4130
|
-
10. **Tag the form** - pass tags: one format (quiz/survey/interview/feedback/lead-gen), one genre (trivia/personality/nps/poll/testimonial), and 2-3 topic words
|
|
4131
|
-
11. **Log** with clipform_log_generation (sources, images, attributions)
|
|
4124
|
+
6. **Attach media** with clipform_upload_node_media. Include captions, set show_captions: true.
|
|
4125
|
+
7. **Publish** with clipform_update_form
|
|
4126
|
+
8. **Log** with clipform_log_generation (sources, images, attributions)
|
|
4132
4127
|
|
|
4133
|
-
> **Text-only override:** If the user explicitly asked for text-only (no video), skip steps 6
|
|
4128
|
+
> **Text-only override:** If the user explicitly asked for text-only (no video), skip steps 5-6 (video production and media attachment). Still generate narration in step 4.`;
|
|
4134
4129
|
}
|
|
4135
4130
|
function personalityQuizWorkflow(args, sessionContext, authMode = "oauth") {
|
|
4136
4131
|
const topic = args.topic ? ` - "${args.topic}"` : "";
|
|
@@ -4148,24 +4143,22 @@ There are NO correct answers. Each option should feel equally valid - the quiz i
|
|
|
4148
4143
|
|
|
4149
4144
|
1. **Define 3-5 outcome categories** conceptually - these guide your question design even though automated scoring is not yet available.
|
|
4150
4145
|
2. **Write questions** - each question should feel revealing but fun. Target ${count} questions.
|
|
4151
|
-
3. **
|
|
4152
|
-
- show_step_counter: true
|
|
4153
|
-
-
|
|
4154
|
-
|
|
4155
|
-
|
|
4156
|
-
-
|
|
4157
|
-
|
|
4158
|
-
|
|
4159
|
-
|
|
4160
|
-
|
|
4161
|
-
|
|
4162
|
-
-
|
|
4163
|
-
|
|
4164
|
-
|
|
4165
|
-
|
|
4166
|
-
|
|
4167
|
-
9. **Tag the form** - pass tags: one format (quiz/survey/interview/feedback/lead-gen), one genre (trivia/personality/nps/poll/testimonial), and 2-3 topic words
|
|
4168
|
-
10. **Log** with clipform_log_generation`;
|
|
4146
|
+
3. **Build the whole form in ONE clipform_create_form call** - pass nodes, settings, and tags together; do NOT create an empty form and add nodes one by one:
|
|
4147
|
+
- Settings: show_step_counter: true, disable_back_navigation: true
|
|
4148
|
+
- One choice node per question: config { choice: { show_answer_feedback: false } } (no right/wrong!)
|
|
4149
|
+
- Do NOT set randomise_options (option order matters for personality quizzes - lead with the most appealing)
|
|
4150
|
+
- Do NOT set score or scores on options (category-based scoring is not yet available)
|
|
4151
|
+
- Final end_screen node - EVERY personality quiz must have:
|
|
4152
|
+
- show_score: false, icon: "star"
|
|
4153
|
+
- show_share_button: true (personality results are inherently shareable)
|
|
4154
|
+
- cta_type: "restart", cta_text: "Find out again?" or "Take it again?"
|
|
4155
|
+
- Write a title and message that feel personal and shareable. Example: title: "Thanks for playing!", message: "Share this quiz with friends and compare your answers."
|
|
4156
|
+
- NOTE: Automated result screens per category (scoring_results) are coming soon. For now, write one engaging end screen.
|
|
4157
|
+
- tags: one format (quiz/survey/interview/feedback/lead-gen), one genre (trivia/personality/nps/poll/testimonial), and 2-3 topic words
|
|
4158
|
+
4. **Generate narration** with clipform_generate_tts - batch ALL questions in a single call. Conversational, reflective tone. "What does this say about you?" not "Do you know the answer?"
|
|
4159
|
+
5. **Build video** + **attach media** (same as knowledge quiz workflow)
|
|
4160
|
+
6. **Publish** with clipform_update_form
|
|
4161
|
+
7. **Log** with clipform_log_generation`;
|
|
4169
4162
|
}
|
|
4170
4163
|
function comprehensionQuizWorkflow(args, sessionContext, authMode = "oauth") {
|
|
4171
4164
|
const count = args.question_count ?? 8;
|
|
@@ -4187,28 +4180,23 @@ function comprehensionQuizWorkflow(args, sessionContext, authMode = "oauth") {
|
|
|
4187
4180
|
- Include 1-2 inference questions: "Based on the video, why does the presenter believe...?"
|
|
4188
4181
|
- Avoid questions answerable without watching (e.g., common knowledge about the topic)
|
|
4189
4182
|
4. **Adapt to the audience**${audienceLabel} - simplify language for younger audiences, focus on concrete/visual details rather than abstract arguments
|
|
4190
|
-
5. **
|
|
4191
|
-
- show_step_counter: true
|
|
4192
|
-
-
|
|
4193
|
-
|
|
4194
|
-
|
|
4195
|
-
|
|
4196
|
-
|
|
4197
|
-
|
|
4198
|
-
|
|
4199
|
-
|
|
4183
|
+
5. **Build the whole form in ONE clipform_create_form call** - pass nodes, settings, and tags together; do NOT create an empty form and add nodes one by one:
|
|
4184
|
+
- Settings: show_step_counter: true, disable_back_navigation: true
|
|
4185
|
+
- One choice node per question: config { choice: { show_answer_feedback: true }, randomise_options: true }, options with score: 1 on the correct answer and score: 0 on 3-4 plausible wrong ones - make distractors things someone might guess without watching. The viewer shuffles options at render time, so list them in any order. Scored options enable correct-answer marking automatically.
|
|
4186
|
+
- Final end_screen node:
|
|
4187
|
+
- show_score: true, icon: "trophy"
|
|
4188
|
+
- show_share_button: true
|
|
4189
|
+
- cta_type: "restart", cta_text: "Rewatch and try again?"
|
|
4190
|
+
- title and message that reference the video. Example: title: "How well do you know this video?", message: "Share your score and see if your friends were really paying attention."
|
|
4191
|
+
- NOTE: Personalised messages per score tier (score_ranges) are coming soon. For now, write one great end screen message.
|
|
4192
|
+
- tags: ["quiz", "comprehension", "youtube"] + 2-3 topic words from the video
|
|
4193
|
+
6. **Generate narration** with clipform_generate_tts - batch ALL questions in a single call. Reference the video naturally: "If you watched closely, you'll know this one..." Keep each narration 5-10 seconds.
|
|
4194
|
+
7. **Build video** for each question:
|
|
4200
4195
|
- clipform_search_media (kind: "image") - 3 images per question
|
|
4201
4196
|
- clipform_generate_video - Ken Burns video synced to audio
|
|
4202
|
-
|
|
4203
|
-
|
|
4204
|
-
|
|
4205
|
-
- show_share_button: true
|
|
4206
|
-
- cta_type: "restart", cta_text: "Rewatch and try again?"
|
|
4207
|
-
- title and message that reference the video. Example: title: "How well do you know this video?", message: "Share your score and see if your friends were really paying attention."
|
|
4208
|
-
- NOTE: Personalised messages per score tier (score_ranges) are coming soon. For now, write one great end screen message.
|
|
4209
|
-
11. **Publish** with clipform_update_form
|
|
4210
|
-
12. **Tag** - tags: ["quiz", "comprehension", "youtube"] + 2-3 topic words from the video
|
|
4211
|
-
13. **Log** with clipform_log_generation - include the YouTube URL, video title, and channel as sources
|
|
4197
|
+
8. **Attach media** with clipform_upload_node_media. Include captions, set show_captions: true.
|
|
4198
|
+
9. **Publish** with clipform_update_form
|
|
4199
|
+
10. **Log** with clipform_log_generation - include the YouTube URL, video title, and channel as sources
|
|
4212
4200
|
|
|
4213
4201
|
## Question Types for Comprehension
|
|
4214
4202
|
|
|
@@ -4222,7 +4210,7 @@ function comprehensionQuizWorkflow(args, sessionContext, authMode = "oauth") {
|
|
|
4222
4210
|
|
|
4223
4211
|
Wrong answers should sound right to someone who didn't watch but googled the topic. The quiz should be unfair to non-watchers and fair to watchers.
|
|
4224
4212
|
|
|
4225
|
-
> **Text-only override:** If the user explicitly asked for text-only (no video), skip steps 8
|
|
4213
|
+
> **Text-only override:** If the user explicitly asked for text-only (no video), skip steps 7-8 (video production and media attachment). Still generate narration in step 6.`;
|
|
4226
4214
|
}
|
|
4227
4215
|
function interviewWorkflow(args, sessionContext, authMode = "oauth") {
|
|
4228
4216
|
const purpose = args.purpose ?? "responses";
|
|
@@ -4671,4 +4659,4 @@ export {
|
|
|
4671
4659
|
getWorkflowText,
|
|
4672
4660
|
registerPrompts
|
|
4673
4661
|
};
|
|
4674
|
-
//# sourceMappingURL=chunk-
|
|
4662
|
+
//# sourceMappingURL=chunk-ELO7KCMZ.js.map
|