@clipform/mcp-server 2.18.0 → 3.0.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/README.md +2 -3
- package/dist/{chunk-CHSPV2VI.js → chunk-EXV5M7YV.js} +2 -2
- package/dist/{chunk-WWIQEIFF.js → chunk-KCF7ZVDI.js} +10 -10
- package/dist/{chunk-WWIQEIFF.js.map → chunk-KCF7ZVDI.js.map} +1 -1
- package/dist/{chunk-RKYB6247.js → chunk-KNOCYZHG.js} +1 -275
- package/dist/chunk-KNOCYZHG.js.map +1 -0
- package/dist/{chunk-Y4RGN6KA.js → chunk-QBPE32AV.js} +13 -198
- package/dist/chunk-QBPE32AV.js.map +1 -0
- package/dist/index.js +4 -4
- package/dist/prompts.js +2 -2
- package/dist/resources.js +2 -2
- package/dist/server.js +4 -4
- package/package.json +1 -1
- package/dist/chunk-RKYB6247.js.map +0 -1
- package/dist/chunk-Y4RGN6KA.js.map +0 -1
- /package/dist/{chunk-CHSPV2VI.js.map → chunk-EXV5M7YV.js.map} +0 -0
package/README.md
CHANGED
|
@@ -84,15 +84,14 @@ Your MCP client lists these automatically on connect (via `tools/list`). Full re
|
|
|
84
84
|
| `clipform_log_generation` | Internal audit step run by a form-generation workflow. |
|
|
85
85
|
| `clipform_search_news` | Fallback news lookup for clients without native web search. |
|
|
86
86
|
| `clipform_generate_tts` | Generate narration audio from text with word-level captions. |
|
|
87
|
-
| `clipform_generate_video` | Generate a video from images, video clips, or both, synced to an audio track. |
|
|
88
87
|
| `clipform_search_media` | Search images or stock video clips. |
|
|
89
|
-
| `clipform_render_composition` | Render a specialised video composition to MP4 or PNG - custom animated visuals that
|
|
88
|
+
| `clipform_render_composition` | Render a specialised video composition to MP4 or PNG - custom animated visuals that a video template can't provide, such as geography animations or designed motion graphics. |
|
|
90
89
|
| `clipform_search_music` | Search for royalty-free music tracks and ambient sounds. |
|
|
91
90
|
| `clipform_list_compositions` | Browse available video compositions and their expected props schemas. |
|
|
92
91
|
| `clipform_list_video_templates` | Browse available video templates - curated Scene arrangements (bed + overlay + sane defaults) that render through the Scene composition from a small controls object. |
|
|
93
92
|
| `clipform_render_video_template` | Render a curated video template (a pre-arranged Scene: bed + overlay + sane defaults) to MP4 or PNG from a small controls object, instead of hand-assembling Scene layers. |
|
|
94
93
|
| `clipform_list_assets` | List available creative assets (sound effects, animations, fonts) for video compositions. |
|
|
95
|
-
| `clipform_check_render` | Check the status of render jobs started by
|
|
94
|
+
| `clipform_check_render` | Check the status of render jobs started by clipform_render_video_template or clipform_render_composition. |
|
|
96
95
|
| `clipform_fetch_boundary` | Fetch a GeoJSON boundary polygon for a country, city, or region. |
|
|
97
96
|
| `clipform_get_guide` | Retrieve craft knowledge for building a specific form type. |
|
|
98
97
|
| `clipform_get_workflow` | Retrieve a step-by-step build workflow for creating a specific form type. |
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
FULL_CAPS,
|
|
6
6
|
callApi,
|
|
7
7
|
getSessionContext
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-KNOCYZHG.js";
|
|
9
9
|
|
|
10
10
|
// src/lib/guides.ts
|
|
11
11
|
var guidesPromise = null;
|
|
@@ -143,4 +143,4 @@ export {
|
|
|
143
143
|
getGuideUri,
|
|
144
144
|
registerResources
|
|
145
145
|
};
|
|
146
|
-
//# sourceMappingURL=chunk-
|
|
146
|
+
//# sourceMappingURL=chunk-EXV5M7YV.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
WORKFLOW_TYPES,
|
|
4
4
|
getDiscoveryParams,
|
|
5
5
|
getSessionContextWithAuth
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-KNOCYZHG.js";
|
|
7
7
|
import {
|
|
8
8
|
__export
|
|
9
9
|
} from "./chunk-G3PMV62Z.js";
|
|
@@ -4100,7 +4100,7 @@ function resourceLink(name, uri, title) {
|
|
|
4100
4100
|
}
|
|
4101
4101
|
var BUILD_ONCE_STEP = "**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:";
|
|
4102
4102
|
var TAGS_LINE = "- tags: one format (quiz/survey/interview/feedback/lead-gen), one genre (trivia/personality/nps/poll/testimonial), and 2-3 topic words";
|
|
4103
|
-
var ATTACH_MEDIA_STEP = "**Attach media**: pass node_id (and form_id) on each render call (
|
|
4103
|
+
var ATTACH_MEDIA_STEP = "**Attach media**: pass node_id (and form_id) on each render call (clipform_render_video_template / clipform_render_composition) so it attaches to the node automatically once the render finishes - do not poll clipform_check_render to completion, just fire the renders and move on. Fall back to the manual two-step only for a render that didn't take a node_id: first clipform_upload_media_asset (batch all uploads in one call, include captions), then clipform_attach_node_media (batch all attachments in one call), setting show_captions: true and fit_media: true (generated renders must not be cropped).";
|
|
4104
4104
|
var REPUBLISH_STEP = "**Republish** with clipform_update_form (is_live: true) - forms are live from creation, but media and edits added since are only visible in the live form after republishing. Never skip this when you attached anything.";
|
|
4105
4105
|
var LOG_STEP = "**Log** with clipform_log_generation";
|
|
4106
4106
|
var TEXT_ONLY_OVERRIDE = "\n\n> **Text-only override:** If the user explicitly asked for text-only (no video), skip the video production and media attachment steps. Still generate narration.";
|
|
@@ -4130,7 +4130,7 @@ var quizWorkflow = (args, sessionContext, authMode, caps) => {
|
|
|
4130
4130
|
${TAGS_LINE}`,
|
|
4131
4131
|
caps.media && "**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.",
|
|
4132
4132
|
caps.media && `**Build video** for each question - pass each question's node_id (and form_id) on the render call so it attaches automatically once done. Pick per question; mixing treatments across one quiz is fine:
|
|
4133
|
-
- Default - narrated slideshow: clipform_search_media (kind: "image", 3 images per question, batch all queries in one call), then
|
|
4133
|
+
- Default - narrated slideshow: clipform_search_media (kind: "image", 3 images per question, batch all queries in one call), then clipform_render_video_template (template: "slideshow", controls.items + controls.audio_url) with wait: false per question - fires all renders in parallel - then collect URLs with clipform_check_render.
|
|
4134
4134
|
- Designed visual - when a recipe or composition fits the question or the user asks for one (e.g. a versus, a grid reveal, guess-the-city): recipe book first - clipform_list_video_templates and match the mechanic to a recipe, then clipform_render_video_template with its curated controls (wait: false, one call per question). Only if no recipe fits, drop to the raw primitives - clipform_list_compositions, then ONE clipform_render_composition call with items (all clips render in parallel). Collect job_ids with clipform_check_render. Both take narration via sound.narration.`,
|
|
4135
4135
|
caps.media && ATTACH_MEDIA_STEP,
|
|
4136
4136
|
REPUBLISH_STEP,
|
|
@@ -4208,7 +4208,7 @@ var comprehensionQuizWorkflow = (args, sessionContext, authMode, caps) => {
|
|
|
4208
4208
|
caps.media && `**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.`,
|
|
4209
4209
|
caps.media && `**Build video** for each question:
|
|
4210
4210
|
- clipform_search_media (kind: "image") - 3 images per question, batch all queries in one call
|
|
4211
|
-
-
|
|
4211
|
+
- clipform_render_video_template (template: "slideshow", controls.items + controls.audio_url) with wait: false per question - fires all renders in parallel - then collect URLs with clipform_check_render`,
|
|
4212
4212
|
caps.media && ATTACH_MEDIA_STEP,
|
|
4213
4213
|
REPUBLISH_STEP,
|
|
4214
4214
|
caps.research && `${LOG_STEP} - include the YouTube URL and video title/channel as sources, using whatever of those the user provided`
|
|
@@ -4276,7 +4276,7 @@ var interviewWorkflow = (args, sessionContext, authMode, caps) => {
|
|
|
4276
4276
|
- Consent node - "I agree that my response may be used in [context]"` : ""}
|
|
4277
4277
|
- End screen that sets expectations: "Thanks! We'll be in touch."
|
|
4278
4278
|
${TAGS_LINE}`,
|
|
4279
|
-
caps.media && `**Optional - Rich Media:** Add TTS narration (clipform_generate_tts, batch all questions in one call) with a warm, inviting tone - "We'd love to hear your story..." Video backgrounds (clipform_search_media \u2192
|
|
4279
|
+
caps.media && `**Optional - Rich Media:** Add TTS narration (clipform_generate_tts, batch all questions in one call) with a warm, inviting tone - "We'd love to hear your story..." Video backgrounds (clipform_search_media \u2192 clipform_render_video_template slideshow) on the intro question can set a professional tone.`,
|
|
4280
4280
|
REPUBLISH_STEP,
|
|
4281
4281
|
caps.research && LOG_STEP
|
|
4282
4282
|
]);
|
|
@@ -4300,7 +4300,7 @@ var surveyWorkflow = (args, sessionContext, authMode, caps) => {
|
|
|
4300
4300
|
- Contact collection (type: "details") - name + email for follow-up` : ""}
|
|
4301
4301
|
- End screen: "Thanks for your feedback!"
|
|
4302
4302
|
${TAGS_LINE}`,
|
|
4303
|
-
caps.media && "**Optional - Rich Media:** For a more engaging experience, add TTS narration (clipform_generate_tts) for the intro or key questions, video backgrounds (clipform_search_media \u2192
|
|
4303
|
+
caps.media && "**Optional - Rich Media:** For a more engaging experience, add TTS narration (clipform_generate_tts) for the intro or key questions, video backgrounds (clipform_search_media \u2192 clipform_render_video_template slideshow), or background music (clipform_search_music).",
|
|
4304
4304
|
REPUBLISH_STEP,
|
|
4305
4305
|
caps.research && LOG_STEP
|
|
4306
4306
|
]);
|
|
@@ -4356,7 +4356,7 @@ var applicationWorkflow = (args, sessionContext, authMode, caps) => {
|
|
|
4356
4356
|
- Optional "Anything else?" (type: "open") - catches things you didn't think to ask.
|
|
4357
4357
|
- End screen: "Your application has been submitted. We'll review it and get back to you." icon: "tick", no score, no restart
|
|
4358
4358
|
- tags: format "application", genre "screening", and 2-3 topic words`,
|
|
4359
|
-
caps.media && `**Optional - Rich Media:** Add TTS narration (clipform_generate_tts) - professional and welcoming: "Thanks for your interest - let's get to know you." Video backgrounds (clipform_search_media \u2192
|
|
4359
|
+
caps.media && `**Optional - Rich Media:** Add TTS narration (clipform_generate_tts) - professional and welcoming: "Thanks for your interest - let's get to know you." Video backgrounds (clipform_search_media \u2192 clipform_render_video_template slideshow) on the intro can make the application feel more personal.`,
|
|
4360
4360
|
REPUBLISH_STEP,
|
|
4361
4361
|
caps.research && LOG_STEP
|
|
4362
4362
|
]);
|
|
@@ -4378,7 +4378,7 @@ var bookingWorkflow = (args, sessionContext, authMode, caps) => {
|
|
|
4378
4378
|
- 1-3 event-specific questions (type: "choice") - session preferences, dietary requirements, experience level. Only ask what you'll use.
|
|
4379
4379
|
- End screen: "You're registered! Here's what to expect." Include event details (date, time, location/link) in the message. icon: "tick", no score, no restart, cta_type: "external_link" with a URL to calendar invite or event page (if available)
|
|
4380
4380
|
- tags: format "registration", genre "${eventType}", and 2-3 topic words`,
|
|
4381
|
-
caps.media && "**Optional: add welcome video** - a short intro from the host. Generate narration with clipform_generate_tts, then build a video with clipform_search_media +
|
|
4381
|
+
caps.media && "**Optional: add welcome video** - a short intro from the host. Generate narration with clipform_generate_tts, then build a video with clipform_search_media + clipform_render_video_template (slideshow).",
|
|
4382
4382
|
REPUBLISH_STEP,
|
|
4383
4383
|
caps.research && LOG_STEP
|
|
4384
4384
|
]);
|
|
@@ -4404,7 +4404,7 @@ var intakeWorkflow = (args, sessionContext, authMode, caps) => {
|
|
|
4404
4404
|
- Optional "Anything else?" (type: "open") - catches what you didn't think to ask
|
|
4405
4405
|
- End screen: "Thanks! We've got your details and we'll be in touch shortly." icon: "tick", no score, no restart
|
|
4406
4406
|
- tags: format "intake", genre "onboarding", and 2-3 topic words`,
|
|
4407
|
-
caps.media && "**Optional: add a welcome video** - a short personal intro from you. Generate narration with clipform_generate_tts, then build a video with clipform_search_media +
|
|
4407
|
+
caps.media && "**Optional: add a welcome video** - a short personal intro from you. Generate narration with clipform_generate_tts, then build a video with clipform_search_media + clipform_render_video_template (slideshow).",
|
|
4408
4408
|
REPUBLISH_STEP,
|
|
4409
4409
|
caps.research && LOG_STEP
|
|
4410
4410
|
]);
|
|
@@ -4856,4 +4856,4 @@ export {
|
|
|
4856
4856
|
getWorkflowText,
|
|
4857
4857
|
registerPrompts
|
|
4858
4858
|
};
|
|
4859
|
-
//# sourceMappingURL=chunk-
|
|
4859
|
+
//# sourceMappingURL=chunk-KCF7ZVDI.js.map
|