@clipform/mcp-server 1.1.3 → 1.3.1

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 (51) hide show
  1. package/README.md +17 -43
  2. package/dist/__tests__/api-parity.test.d.ts +1 -0
  3. package/dist/__tests__/api-parity.test.js +148 -0
  4. package/dist/__tests__/api-parity.test.js.map +1 -0
  5. package/dist/lib/api-client.js +2 -2
  6. package/dist/lib/api-client.js.map +1 -1
  7. package/dist/lib/config.js +31 -21
  8. package/dist/lib/config.js.map +1 -1
  9. package/dist/lib/schemas.d.ts +28 -2
  10. package/dist/lib/schemas.js +9 -5
  11. package/dist/lib/schemas.js.map +1 -1
  12. package/dist/prompts.js +17 -5
  13. package/dist/prompts.js.map +1 -1
  14. package/dist/server.js +5 -21
  15. package/dist/server.js.map +1 -1
  16. package/dist/tools/add-question.js +4 -4
  17. package/dist/tools/create-form.js +64 -20
  18. package/dist/tools/create-form.js.map +1 -1
  19. package/dist/tools/generate-slideshow.js +1 -1
  20. package/dist/tools/generate-tts.js +2 -2
  21. package/dist/tools/generate-tts.js.map +1 -1
  22. package/dist/tools/search-media.d.ts +2 -0
  23. package/dist/tools/search-media.js +40 -0
  24. package/dist/tools/search-media.js.map +1 -0
  25. package/dist/tools/search-news.js +13 -4
  26. package/dist/tools/search-news.js.map +1 -1
  27. package/dist/tools/update-form.js +59 -2
  28. package/dist/tools/update-form.js.map +1 -1
  29. package/dist/tools/update-question.js +8 -3
  30. package/dist/tools/update-question.js.map +1 -1
  31. package/dist/tools/upload-question-media.js +36 -8
  32. package/dist/tools/upload-question-media.js.map +1 -1
  33. package/package.json +35 -36
  34. package/dist/tools/get-daily-content.d.ts +0 -2
  35. package/dist/tools/get-daily-content.js +0 -66
  36. package/dist/tools/get-daily-content.js.map +0 -1
  37. package/dist/tools/get-trivia.d.ts +0 -2
  38. package/dist/tools/get-trivia.js +0 -49
  39. package/dist/tools/get-trivia.js.map +0 -1
  40. package/dist/tools/lookup-country.d.ts +0 -2
  41. package/dist/tools/lookup-country.js +0 -38
  42. package/dist/tools/lookup-country.js.map +0 -1
  43. package/dist/tools/search-images.d.ts +0 -2
  44. package/dist/tools/search-images.js +0 -36
  45. package/dist/tools/search-images.js.map +0 -1
  46. package/dist/tools/search-knowledge.d.ts +0 -2
  47. package/dist/tools/search-knowledge.js +0 -40
  48. package/dist/tools/search-knowledge.js.map +0 -1
  49. package/dist/tools/search-videos.d.ts +0 -2
  50. package/dist/tools/search-videos.js +0 -37
  51. package/dist/tools/search-videos.js.map +0 -1
package/README.md CHANGED
@@ -2,28 +2,26 @@
2
2
 
3
3
  MCP server for [Clipform](https://clipform.io) - build and manage video-style forms from Claude Code, Claude Desktop, or any MCP client.
4
4
 
5
- ## Quick Start
5
+ ## Install
6
6
 
7
- Add to your Claude Desktop config (`claude_desktop_config.json`):
7
+ ```bash
8
+ npm install @clipform/mcp-server
9
+ ```
8
10
 
9
- ```json
10
- {
11
- "mcpServers": {
12
- "clipform": {
13
- "command": "npx",
14
- "args": ["-y", "@clipform/mcp-server"]
15
- }
16
- }
17
- }
11
+ ### Claude Code
12
+
13
+ ```bash
14
+ claude mcp add clipform -- npx -y @clipform/mcp-server
18
15
  ```
19
16
 
20
- Or for Claude Code, add to `.mcp.json`:
17
+ ### Claude Desktop
18
+
19
+ Add to your `claude_desktop_config.json`:
21
20
 
22
21
  ```json
23
22
  {
24
23
  "mcpServers": {
25
24
  "clipform": {
26
- "type": "stdio",
27
25
  "command": "npx",
28
26
  "args": ["-y", "@clipform/mcp-server"]
29
27
  }
@@ -39,7 +37,7 @@ Or for Claude Code, add to `.mcp.json`:
39
37
  |------|-------------|
40
38
  | `clipform_create_form` | Create a new form with questions in one call |
41
39
  | `clipform_get_form` | View a form and all its questions |
42
- | `clipform_update_form` | Change title, publish status, or settings (step counter, back nav) |
40
+ | `clipform_update_form` | Change title, publish status, or settings (step counter, back nav, embed autoplay, theme) |
43
41
  | `clipform_delete_form` | Delete an unclaimed form |
44
42
  | `clipform_add_question` | Add a question to an existing form |
45
43
  | `clipform_update_question` | Update question text, type, config, or options |
@@ -54,27 +52,21 @@ Or for Claude Code, add to `.mcp.json`:
54
52
  | `clipform_delete_question_media` | Remove media from a question |
55
53
  | `clipform_attach_question_audio` | Attach audio to a still-image question |
56
54
  | `clipform_set_question_logic` | Set branching logic on a question |
57
- | `clipform_generate_tts` | Generate narration audio from text (Edge TTS) |
58
- | `clipform_generate_slideshow` | Create a Ken Burns slideshow video from images + audio |
59
55
  | `clipform_log_generation` | Save an audit trail for generated forms |
60
56
 
61
57
  ### Content research
62
58
 
63
59
  | Tool | Description |
64
60
  |------|-------------|
65
- | `formgen_search_images` | Search royalty-free images (Pexels, Unsplash, Pixabay, Wikimedia, NASA, iNaturalist) |
66
- | `formgen_search_videos` | Search stock video clips (Pexels, Pixabay) |
67
- | `formgen_search_knowledge` | Search Wikipedia for topic research |
68
- | `formgen_search_news` | Search current news (NewsAPI, The Guardian) |
69
- | `formgen_get_trivia` | Get ready-made trivia questions (Open Trivia DB, 24 categories) |
70
- | `formgen_lookup_country` | Look up country data (capital, population, flags, etc.) |
71
- | `formgen_get_daily_content` | Get today's NASA APOD and Wikipedia featured content |
61
+ | `clipform_search_news` | **Fallback** structured news lookup (NewsAPI + The Guardian) for clients that do not have a native web search tool. Used only for post-cutoff or uncertain facts; prefer your client's own web search if it has one. Timeless topics should be written from model knowledge without calling any research tool. |
62
+
63
+ > **Note:** Creative tools (TTS, slideshow generation, media search, rendering) have moved to `@clipform/mcp-server-creative` - a separate domain-scoped MCP server for video/audio production.
72
64
 
73
65
  ### Guided prompts
74
66
 
75
67
  | Prompt | Description |
76
68
  |--------|-------------|
77
- | `create-quiz` | Best practices for building scored quizzes with media |
69
+ | `create-quiz` | Best practices for building scored quizzes with media (supports per-category scoring and knockouts) |
78
70
  | `create-form` | Best practices for standard forms and surveys |
79
71
  | `create-journo-request` | Turn a journalist's callout into a Clipform |
80
72
 
@@ -87,30 +79,12 @@ Or for Claude Code, add to `.mcp.json`:
87
79
  - **binary** - Two-option choice (yes/no, true/false, this vs that)
88
80
  - **scale** - Rating scale
89
81
  - **external_link** - Redirect to an external URL
90
- - **end_screen** - Customizable completion screen with score-based content
82
+ - **end_screen** - Customizable completion screen with score-based content (supports `score_ranges` for cumulative scoring and `scoring_results` for per-category recommendation quizzes)
91
83
 
92
84
  ## Example prompt
93
85
 
94
86
  > Create a Clipform called "Customer Feedback" with a choice question asking "How would you rate our service?" with options Excellent, Good, Fair, Poor, then an open-ended question asking "Any additional comments?", and finish with an end screen saying "Thanks for your feedback!"
95
87
 
96
- ## Configuration
97
-
98
- By default the server connects to `https://api.clipform.io`. To point at a local dev server:
99
-
100
- ```json
101
- {
102
- "mcpServers": {
103
- "clipform": {
104
- "command": "npx",
105
- "args": ["-y", "@clipform/mcp-server"],
106
- "env": {
107
- "SERVER_URL": "http://localhost:3003"
108
- }
109
- }
110
- }
111
- }
112
- ```
113
-
114
88
  ## How it works
115
89
 
116
90
  When you create a form, you get back an `edit_token` that authorizes all subsequent changes. The token works until the form is claimed by a user via the claim URL.
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,148 @@
1
+ /**
2
+ * Verifies that MCP tool input schemas expose all fields that the
3
+ * corresponding API endpoints accept. When a new field is added to an
4
+ * API route, add it to the map below — the test will fail if the MCP
5
+ * tool doesn't expose it yet.
6
+ *
7
+ * Companion to config-sync.test.ts (which checks node types / contact fields).
8
+ */
9
+ import { describe, it, expect } from "vitest";
10
+ import { registerUpdateFormTool } from "../tools/update-form.js";
11
+ import { registerAddQuestionTool } from "../tools/add-question.js";
12
+ import { registerUpdateQuestionTool } from "../tools/update-question.js";
13
+ import { registerUploadQuestionMediaTool } from "../tools/upload-question-media.js";
14
+ import { registerCreateFormTool } from "../tools/create-form.js";
15
+ // ---------------------------------------------------------------------------
16
+ // Helpers
17
+ // ---------------------------------------------------------------------------
18
+ /** Mock McpServer that captures the inputSchema from registerTool */
19
+ function captureSchema(registerFn) {
20
+ let captured = {};
21
+ const mockServer = {
22
+ registerTool: (_name, def, _handler) => {
23
+ captured = def.inputSchema;
24
+ },
25
+ };
26
+ registerFn(mockServer);
27
+ return captured;
28
+ }
29
+ /** Extract top-level field names from a captured Zod inputSchema */
30
+ function fieldNames(schema) {
31
+ return Object.keys(schema);
32
+ }
33
+ /** Extract field names from a Zod object schema's .shape */
34
+ function shapeFields(zodSchema) {
35
+ const shape = zodSchema?._def?.shape;
36
+ if (typeof shape === "function")
37
+ return Object.keys(shape());
38
+ if (shape)
39
+ return Object.keys(shape);
40
+ return [];
41
+ }
42
+ /**
43
+ * Unwrap Zod wrappers (.optional(), .nullable(), .default()) to get the
44
+ * underlying schema. Follows the innerType chain.
45
+ */
46
+ function unwrap(schema) {
47
+ while (schema?._def?.innerType) {
48
+ schema = schema._def.innerType;
49
+ }
50
+ return schema;
51
+ }
52
+ /** Extract element shape fields from a Zod array schema (possibly wrapped in .optional()) */
53
+ function arrayElementFields(zodSchema) {
54
+ // Unwrap .optional() / .nullable() / .default()
55
+ const arraySchema = unwrap(zodSchema);
56
+ // z.array(z.object({...}))._def.type is the z.object
57
+ const elemType = arraySchema?._def?.type;
58
+ if (elemType)
59
+ return shapeFields(elemType);
60
+ return [];
61
+ }
62
+ // ---------------------------------------------------------------------------
63
+ // API field map — source of truth for what each API endpoint accepts.
64
+ // Update this when adding fields to API routes.
65
+ // ---------------------------------------------------------------------------
66
+ /**
67
+ * Fields that are MCP-internal (auth/routing, not API body fields).
68
+ * These are excluded from parity checks.
69
+ */
70
+ const MCP_ONLY_FIELDS = ["form_id", "edit_token", "question_id"];
71
+ const API_PARITY = {
72
+ "update-form": {
73
+ register: registerUpdateFormTool,
74
+ /** Body fields accepted by PATCH /forms/:formId (apps/api/src/routes/v1/forms/update-form.ts) */
75
+ apiBodyFields: ["title", "is_published", "show_step_counter", "disable_back_navigation", "total_steps", "primary_color", "background_color", "font_family"],
76
+ },
77
+ "create-form": {
78
+ register: registerCreateFormTool,
79
+ /** Fields the create tool should expose (beyond title/questions which are core) */
80
+ apiBodyFields: ["title", "questions", "show_step_counter", "disable_back_navigation", "primary_color", "background_color", "font_family"],
81
+ },
82
+ "add-question": {
83
+ register: registerAddQuestionTool,
84
+ apiBodyFields: ["question", "after_question_id"],
85
+ /** Nested: fields inside the question object */
86
+ questionFields: ["type", "prompt", "label", "required", "config", "options"],
87
+ /** Nested: fields inside each option */
88
+ optionFields: ["content", "score", "scores"],
89
+ },
90
+ "update-question": {
91
+ register: registerUpdateQuestionTool,
92
+ apiBodyFields: ["prompt", "label", "type", "required", "config", "options"],
93
+ optionFields: ["content", "score", "scores"],
94
+ },
95
+ "upload-question-media": {
96
+ register: registerUploadQuestionMediaTool,
97
+ /** Body fields accepted by POST /forms/:formId/questions/:questionId/media */
98
+ apiBodyFields: ["media_type", "media_source", "url", "captions", "show_captions"],
99
+ },
100
+ };
101
+ // ---------------------------------------------------------------------------
102
+ // Tests
103
+ // ---------------------------------------------------------------------------
104
+ describe("api-parity", () => {
105
+ for (const [toolName, spec] of Object.entries(API_PARITY)) {
106
+ describe(toolName, () => {
107
+ const schema = captureSchema(spec.register);
108
+ const mcpFields = fieldNames(schema).filter((f) => !MCP_ONLY_FIELDS.includes(f));
109
+ it("exposes all API body fields", () => {
110
+ for (const field of spec.apiBodyFields) {
111
+ if (MCP_ONLY_FIELDS.includes(field))
112
+ continue;
113
+ expect(mcpFields, `MCP tool "${toolName}" is missing API field "${field}"`).toContain(field);
114
+ }
115
+ });
116
+ if ("questionFields" in spec) {
117
+ it("question schema exposes all API question fields", () => {
118
+ const questionSchema = schema.question;
119
+ const qFields = shapeFields(questionSchema);
120
+ for (const field of spec.questionFields) {
121
+ expect(qFields, `QuestionSchema is missing field "${field}"`).toContain(field);
122
+ }
123
+ });
124
+ }
125
+ if ("optionFields" in spec) {
126
+ it("option schema exposes all API option fields", () => {
127
+ // For add-question: schema.question is a Zod object with shape().options
128
+ // For update-question: schema.options is directly on the inputSchema
129
+ let optionsSchema;
130
+ if (schema.question) {
131
+ // Nested inside QuestionSchema
132
+ const qShape = schema.question._def?.shape;
133
+ const shape = typeof qShape === "function" ? qShape() : qShape;
134
+ optionsSchema = shape?.options;
135
+ }
136
+ else {
137
+ optionsSchema = schema.options;
138
+ }
139
+ const optFields = arrayElementFields(optionsSchema);
140
+ for (const field of spec.optionFields) {
141
+ expect(optFields, `OptionSchema is missing field "${field}"`).toContain(field);
142
+ }
143
+ });
144
+ }
145
+ });
146
+ }
147
+ });
148
+ //# sourceMappingURL=api-parity.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-parity.test.js","sourceRoot":"","sources":["../../src/__tests__/api-parity.test.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ export async function callApi(path, options = {}) {
34
34
  if (response.status === 204) {
35
35
  return { ok: true, data: {} };
36
36
  }
37
- const data = await response.json();
37
+ const data = (await response.json());
38
38
  if (!response.ok) {
39
39
  return {
40
40
  ok: false,
@@ -79,7 +79,7 @@ export async function callInternalApi(path, options = {}) {
79
79
  if (response.status === 204) {
80
80
  return { ok: true, data: {} };
81
81
  }
82
- const data = await response.json();
82
+ const data = (await response.json());
83
83
  if (!response.ok) {
84
84
  return {
85
85
  ok: false,
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"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"}
@@ -245,40 +245,50 @@ export const ANSWER_TYPES = {
245
245
  default: "Thank you!",
246
246
  description: "Heading shown on completion",
247
247
  },
248
- cta_url: {
249
- type: "string",
250
- label: "CTA button URL",
251
- format: "uri",
252
- description: "URL for CTA button",
253
- placeholder: "https://example.com",
254
- },
255
248
  message: {
256
249
  type: "string",
257
250
  label: "Message",
258
251
  default: "Your response has been submitted.",
259
252
  description: "Message shown on completion",
260
253
  },
261
- cta_text: {
262
- type: "string",
263
- label: "CTA button text",
264
- description: "Call-to-action button text",
265
- placeholder: "Visit our website",
266
- },
267
- show_social_share: {
254
+ show_score: {
268
255
  type: "boolean",
269
- label: "Show social share",
256
+ label: "Show score",
270
257
  default: false,
271
- description: "Show social media share buttons",
258
+ description: "Display score on the end screen (e.g. \"You scored 4 out of 5\")",
259
+ },
260
+ icon: {
261
+ type: "string",
262
+ label: "Icon",
263
+ enum: ["tick", "trophy", "star", "crown", "party", "none"],
264
+ default: "tick",
265
+ description: "Icon shown above the title",
272
266
  },
273
- show_restart_button: {
267
+ show_share_button: {
274
268
  type: "boolean",
275
- label: "Show restart button",
269
+ label: "Show share button",
276
270
  default: false,
271
+ description: "Show a share button above the CTA",
277
272
  },
278
- restart_button_text: {
273
+ cta_type: {
279
274
  type: "string",
280
- label: "Restart button text",
281
- default: "Start over",
275
+ label: "CTA type",
276
+ enum: ["none", "restart", "external_link"],
277
+ default: "none",
278
+ description: "Primary call-to-action button type",
279
+ },
280
+ cta_text: {
281
+ type: "string",
282
+ label: "CTA button text",
283
+ default: "Continue",
284
+ description: "Button label for the CTA",
285
+ },
286
+ cta_url: {
287
+ type: "string",
288
+ label: "CTA URL",
289
+ format: "uri",
290
+ description: "URL to open (only for external_link CTA type)",
291
+ placeholder: "https://example.com",
282
292
  },
283
293
  score_ranges: {
284
294
  type: "array",
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
@@ -7,25 +7,48 @@ export declare const CONTACT_FIELD_IDS: string[];
7
7
  export declare const QUESTION_TYPES_DESCRIPTION: string;
8
8
  /** Aggregate config description for Zod .describe() on the config field */
9
9
  export declare const CONFIG_DESCRIPTION: string;
10
+ export declare const OptionSchema: z.ZodObject<{
11
+ content: z.ZodString;
12
+ score: z.ZodOptional<z.ZodNumber>;
13
+ scores: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ content: string;
16
+ score?: number | undefined;
17
+ scores?: Record<string, number> | undefined;
18
+ }, {
19
+ content: string;
20
+ score?: number | undefined;
21
+ scores?: Record<string, number> | undefined;
22
+ }>;
10
23
  export declare const QuestionSchema: z.ZodObject<{
11
24
  type: z.ZodEnum<[string, ...string[]]>;
12
25
  prompt: z.ZodString;
26
+ label: z.ZodOptional<z.ZodString>;
13
27
  required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
14
28
  config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
15
29
  options: z.ZodOptional<z.ZodArray<z.ZodObject<{
16
30
  content: z.ZodString;
17
- }, "strict", z.ZodTypeAny, {
31
+ score: z.ZodOptional<z.ZodNumber>;
32
+ scores: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
33
+ }, "strip", z.ZodTypeAny, {
18
34
  content: string;
35
+ score?: number | undefined;
36
+ scores?: Record<string, number> | undefined;
19
37
  }, {
20
38
  content: string;
39
+ score?: number | undefined;
40
+ scores?: Record<string, number> | undefined;
21
41
  }>, "many">>;
22
- }, "strict", z.ZodTypeAny, {
42
+ }, "strip", z.ZodTypeAny, {
23
43
  type: string;
24
44
  required: boolean;
25
45
  prompt: string;
26
46
  options?: {
27
47
  content: string;
48
+ score?: number | undefined;
49
+ scores?: Record<string, number> | undefined;
28
50
  }[] | undefined;
51
+ label?: string | undefined;
29
52
  config?: Record<string, unknown> | undefined;
30
53
  }, {
31
54
  type: string;
@@ -33,6 +56,9 @@ export declare const QuestionSchema: z.ZodObject<{
33
56
  required?: boolean | undefined;
34
57
  options?: {
35
58
  content: string;
59
+ score?: number | undefined;
60
+ scores?: Record<string, number> | undefined;
36
61
  }[] | undefined;
62
+ label?: string | undefined;
37
63
  config?: Record<string, unknown> | undefined;
38
64
  }>;
@@ -100,19 +100,23 @@ export const CONFIG_DESCRIPTION = (() => {
100
100
  return lines.join("\n");
101
101
  })();
102
102
  // --- Zod schemas ---
103
- export const QuestionSchema = z
104
- .object({
103
+ export const OptionSchema = z.object({
104
+ content: z.string().describe("Option text"),
105
+ score: z.number().optional().describe("Score value for this option (for scored quizzes)"),
106
+ scores: z.record(z.number()).optional().describe("Category-based scores keyed by category name (for personality/category quizzes)"),
107
+ });
108
+ export const QuestionSchema = z.object({
105
109
  type: z.enum(QUESTION_TYPES),
106
110
  prompt: z.string().describe("The question text shown to the respondent"),
111
+ label: z.string().optional().describe("Short label for the question (used in logic builder). Defaults to the prompt text."),
107
112
  required: z.boolean().optional().default(true),
108
113
  config: z
109
114
  .record(z.unknown())
110
115
  .optional()
111
116
  .describe(CONFIG_DESCRIPTION),
112
117
  options: z
113
- .array(z.object({ content: z.string() }).strict())
118
+ .array(OptionSchema)
114
119
  .optional()
115
120
  .describe("Answer options for choice/button questions"),
116
- })
117
- .strict();
121
+ });
118
122
  //# sourceMappingURL=schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/lib/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/lib/schemas.ts"],"names":[],"mappings":"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"}
package/dist/prompts.js CHANGED
@@ -14,9 +14,10 @@ export function registerPrompts(server) {
14
14
  type: "text",
15
15
  text: `When creating a quiz (knowledge questions with correct/wrong answers):
16
16
 
17
- **Form settings** (set via clipform_update_form after creation):
17
+ **Form settings** (set during clipform_create_form):
18
18
  - show_step_counter: true (shows "1/5" progress)
19
19
  - disable_back_navigation: true (no going back to change answers)
20
+ - Always set both of these when creating a quiz
20
21
 
21
22
  **Question defaults:**
22
23
  - Randomise answer options (set randomise_options: true in config)
@@ -26,15 +27,26 @@ export function registerPrompts(server) {
26
27
  **Scoring:**
27
28
  - Set score: 1 on the correct answer option, score: 0 on wrong answers
28
29
  - This enables automatic score tracking throughout the quiz
30
+ - On the end_screen, set show_score: true and icon: "trophy" in config to display the score and a trophy icon
29
31
 
30
32
  **Media workflow (if the user wants video):**
31
- 1. clipform_generate_tts - generate narration audio for each question
32
- 2. formgen_search_images - find 3 images per question
33
+ 1. clipform_generate_tts - generate narration audio for each question (returns captions)
34
+ 2. clipform_search_media (kind: "image") - find 3 images per question
33
35
  3. clipform_generate_slideshow - create Ken Burns video from images + audio
34
- 4. clipform_upload_media - attach video to question (include captions from TTS for subtitles)
36
+ 4. clipform_upload_question_media - attach video to question. ALWAYS include the captions from step 1 and set show_captions: true. Captions must always be on for narrated content.
35
37
 
36
38
  **Image selection:**
37
- - ONLY use image URLs from formgen_search_images results. These are quality-filtered and high-res.
39
+ - ONLY use image URLs from clipform_search_media results. These are quality-filtered and high-res.
40
+
41
+ **Writing the questions - factual accuracy (IMPORTANT):**
42
+ For timeless topics (history, geography, science, nature, general knowledge up to your training cutoff), write questions directly from your own knowledge - a good language model is more accurate and more interesting than a generic trivia API.
43
+
44
+ For any topic that is recent (post-training-cutoff) or any fact you are NOT confident about, follow this preference order BEFORE writing the question:
45
+ 1. If your client exposes a native web search or web fetch tool (e.g. WebSearch / WebFetch), use that - it is broader and more current.
46
+ 2. Otherwise, use clipform_search_news for structured current-news results.
47
+ 3. If neither is available, REFUSE rather than fabricate. Tell the user you cannot verify facts about that topic and suggest they provide the source material.
48
+
49
+ Never invent dates, names, statistics, or event details you are not sure of. It is always better to refuse a question than to ship a hallucinated one.
38
50
 
39
51
  **Narration style:**
40
52
  - The TTS narration should only read the question - do NOT repeat the answer options verbally. The options are displayed on screen for the user to read and tap.
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,MAAM,CAAC,cAAc,CACnB,aAAa,EACb;QACE,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,+DAA+D;KAC7E,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,6BAA6B,EAAE;aACxE;YACD;gBACE,IAAI,EAAE,WAAoB;gBAC1B,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAqCiB;iBACxB;aACF;SACF;KACF,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,cAAc,CACnB,aAAa,EACb;QACE,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,qEAAqE;KACnF,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,6BAA6B,EAAE;aACxE;YACD;gBACE,IAAI,EAAE,WAAoB;gBAC1B,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE;;;;;;;;;;;;iIAY+G;iBACtH;aACF;SACF;KACF,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,cAAc,CACnB,uBAAuB,EACvB;QACE,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,mEAAmE;KACjF,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,gDAAgD,EAAE;aAC3F;YACD;gBACE,IAAI,EAAE,WAAoB;gBAC1B,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE;;;;;;;;;;;;;;;;;+DAiB6C;iBACpD;aACF;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,MAAM,CAAC,cAAc,CACnB,aAAa,EACb;QACE,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,+DAA+D;KAC7E,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,6BAA6B,EAAE;aACxE;YACD;gBACE,IAAI,EAAE,WAAoB;gBAC1B,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAiDiB;iBACxB;aACF;SACF;KACF,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,cAAc,CACnB,aAAa,EACb;QACE,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,qEAAqE;KACnF,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,6BAA6B,EAAE;aACxE;YACD;gBACE,IAAI,EAAE,WAAoB;gBAC1B,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE;;;;;;;;;;;;iIAY+G;iBACtH;aACF;SACF;KACF,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,cAAc,CACnB,uBAAuB,EACvB;QACE,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,mEAAmE;KACjF,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,gDAAgD,EAAE;aAC3F;YACD;gBACE,IAAI,EAAE,WAAoB;gBAC1B,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE;;;;;;;;;;;;;;;;;+DAiB6C;iBACpD;aACF;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC"}