Weftly
Server Details
Find & cut horizontal and vertical video clips (Shorts/Reels), transcribe & summarize. Pay per job.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.6/5 across 11 of 11 tools scored.
Most tools target distinct tasks (transcribe vs. summarize vs. find_clips, extract_clip vs. extract_vertical_clip, create vs. trigger YouTube). Some overlap exists because summarize and find_clips both produce transcripts, and publish_to_youtube and trigger_youtube_publish are sequential steps that could be confused, but descriptions clarify the boundaries well.
The majority follow a verb_noun pattern (complete_upload, extract_clip, find_clips, get_job_status), with a few deviations like the bare verbs 'summarize' and 'transcribe', and 'publish_to_youtube' using a preposition. The pattern is still predictable and readable overall.
11 tools is a well-scoped number for a video/audio processing service covering transcription, summarization, clip extraction, YouTube publishing, and payment testing. Each tool has a clear place, and the count is within the ideal range.
The tool surface covers the full lifecycle: job creation (transcribe/summarize/find_clips), payment (mpp_smoke_test, payment challenge flows), upload (complete_upload), status polling (get_job_status), clip extraction (two variants), and YouTube publishing (create/publish/status). No critical gaps are apparent for the stated domain.
Available Tools
11 toolscomplete_uploadAInspect
Confirm that the file has been uploaded (via HTTP PUT to the upload_url from transcribe or summarize) and start processing. Verifies that the file is present in storage and that the job has been paid. Returns status "processing". Poll get_job_status to track progress and retrieve download URLs when done.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | The job_id returned from a previous transcribe or summarize call. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool verifies file presence in storage and job payment, and that it returns status 'processing'. This covers key behavioral aspects, though it omits error scenarios or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the primary action and immediately providing necessary context on preconditions and next steps. Every sentence adds value with no unnecessary wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description provides sufficient context: it explains the upload prerequisite, the verification behavior, the returned status, and how to track progress. It lacks explicit failure handling but is otherwise complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully describes job_id as 'The job_id returned from a previous transcribe or summarize call.' The description does not add extra semantic detail beyond that, but since schema coverage is 100%, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Confirm that the file has been uploaded (via HTTP PUT to the upload_url from transcribe or summarize) and start processing.' This specifies a concrete verb and resource, and distinguishes it from siblings like transcribe/summarize (which initiate jobs) and get_job_status (which polls progress).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it should be used after uploading the file via HTTP PUT to the upload_url, and it explicitly recommends polling get_job_status afterward. It doesn't explicitly state when not to use the tool, but the precondition and follow-up are clear enough to guide proper usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_clipAInspect
Cut and assemble a clip from any prior video job (find_clips, summarize, or video transcribe). Operates on a parent job — possessing the parent source_job_id is the capability, no upload step. Pass one segment for a simple cut, or multiple non-contiguous segments to compose a single mp4 highlight reel — same flat $0.50 either way. Two-call flow: (1) call with source_job_id + segments (ordered array of {start, end, label?} in source seconds, total duration capped at 30 minutes) to receive {job_id, payment_challenge}; (2) pay via MPP and call with job_id + payment_credential to start processing. No upload step. Poll get_job_status(job_id) for completion; outputs are role clip-video (the assembled .mp4, frame-accurate boundaries with 15ms audio fades at segment joins; audio loudness-normalized to -14 LUFS / -1.5 dBTP for clean, consistent playback) and — when include_transcript: true (default) — roles clip-srt + clip-words (transcripts stitched and time-shifted to match the assembled video). Set include_transcript: false to skip transcript outputs. Payment: pay by credit card via the Stripe Checkout link (open the returned payment_url in any browser) or Tempo USDC via mppx; the challenge's WWW-Authenticate header and /.well-known/mpp.json are authoritative for which methods are offered. Source must still be in storage (72h TTL for find_clips parents, 24h elsewhere — check expires_at from get_job_status on the parent). Multiple extract_clip calls against one parent are independent paid jobs. Failed jobs auto-refund.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Optional title for the assembled clip. Surfaces in get_job_status and download filenames; doesn't affect the cut itself. | |
| job_id | No | Job ID returned from a previous extract_clip call. Include along with payment_credential to confirm payment and trigger processing. Also include alone to recover the current state. | |
| segments | No | Ordered array of source-relative segments to cut and concatenate into the output. Single segment for a simple cut; multiple segments compose a single mp4 from non-contiguous moments — same flat $0.50 either way. Total summed duration capped at 30 minutes per call. Required on the first call. | |
| source_job_id | No | Job ID of any prior video job (find_clips, summarize, or video transcribe). Possessing this id is the capability — extract_clip is not session-bound, so a user can come back from a different session within the parent's TTL and still extract. Required on the first call. | |
| include_transcript | No | Default true. When true, the pipeline writes clip-srt + clip-words outputs stitched to match the assembled video. Set false to skip and just receive the .mp4. | |
| payment_credential | No | MPP payment credential (full Authorization header value, e.g. "Payment eyJ..."). extract_clip accepts Tempo USDC and Stripe SPT — see the challenge's WWW-Authenticate header or /.well-known/mpp.json for the supported methods. Include with job_id after paying the challenge to start processing. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden and does so thoroughly: discloses two-call payment flow, output roles (clip-video, clip-srt, clip-words), audio normalization, 72h/24h TTL, auto-refund on failed jobs, and segment limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Long but dense; every sentence adds essential context (pricing, TTL, output roles, payment flow). The structure is a single coherent paragraph with no wasted words for a complex tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the full lifecycle: first call with source_job_id and segments, payment via MPP/Stripe, second call with job_id and payment_credential, polling, output roles, and source storage expiry. Fully compensates for the lack of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 100% schema coverage, the description adds substantial meaning: explains that segments compose a single mp4, flat $0.50 fee regardless of segment count, 30-minute cap, payment_credential format, and include_transcript default behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Cut and assemble a clip from any prior video job' with a specific verb and resource. It distinguishes from siblings by specifying it operates on a parent job (find_clips, summarize, or video transcribe) rather than uploading new media.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit two-call flow and describes when to use (from prior video jobs) while noting 'no upload step'. However, it doesn't explicitly contrast with the sibling extract_vertical_clip, so it misses a clear alternative exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_vertical_clipAInspect
Cut a 9:16 vertical clip from any prior video job (find_clips, summarize, or video transcribe), suitable for direct upload to TikTok, Instagram Reels, or YouTube Shorts. Default output is 1080×1920 H.264 / AAC .mp4 with center-cropped framing; audio loudness-normalized to -14 LUFS / -1.5 dBTP for short-form social. Single-segment only; clip duration must be between 1 and 90 seconds (Instagram Reels max). Operates on a parent job — possessing the parent source_job_id is the capability, no upload step. Two-call flow: (1) call with source_job_id + start + end (in source seconds) to receive {job_id, payment_challenge}; (2) pay via MPP and call with job_id + payment_credential to start processing. Poll get_job_status(job_id) for completion; output is role clip-vertical-video (the .mp4). Flat price: $0.50 per clip. Payment: pay by credit card via the Stripe Checkout link (open the returned payment_url in any browser) or Tempo USDC via mppx. Optional profile parameter selects the encoding profile (default tiktok-primary). Allowed values: tiktok-primary (1080×1920, fast preset, CRF 22), tiktok-primary-720p (720×1280, CBR 3 Mbps — half-resolution mobile-optimized, ~40% faster wall time), instagram-reels (1080×1920, slow preset, CBR 4 Mbps), instagram-stories (same encode shape as instagram-reels). All four profiles loudness-normalize identically. Optional subject parameter controls reframing (default center, preserves today's behavior): auto locks onto the longest-tracked face from the parent's subjects-sidecar (or runs inline detection if the parent has none); subject_id (with subject_id param naming a face_N from the sidecar) locks onto a specific subject; follow switches crop between active speakers across the clip using the sidecar's active_speaker_timeline; manual accepts caller-supplied framing via subject_box: {x, y, w, h} (source pixels) or subject_x_offset (direct crop x). Sidecar shape at /.well-known/weftly-subjects-v1.schema.json. auto/subject_id/follow fall back to center if detection or sidecar resolution fails — the paid job always delivers a clip. Source must be a horizontal video (wider than 9:16) — already-vertical or square sources are rejected. Source must still be in storage (72h TTL for find_clips parents, 24h elsewhere — check expires_at from get_job_status on the parent). Pair with find_clips ($2.00/video) to pick a moment first, then call this to get a download-ready vertical mp4 in under 5 minutes. Multiple extract_vertical_clip calls against one parent are independent paid jobs. Failed jobs auto-refund.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | Source-relative end time in seconds (must be > start, and end - start ∈ [1, 90]). Required on the first call. | |
| start | No | Source-relative start time in seconds. Required on the first call. | |
| t_ref | No | For subject="manual" with subject_box — source-seconds timestamp the box applies to. Informational in v1. | |
| title | No | Optional title for the assembled clip. Surfaces in get_job_status and download filenames; doesn't affect the cut itself. | |
| job_id | No | Job ID returned from a previous extract_vertical_clip call. Include along with payment_credential to confirm payment and trigger processing. Also include alone to recover the current state. | |
| profile | No | Optional encoding profile. Default: tiktok-primary (1080×1920 H.264 fast preset, CRF 22, 6 Mbps cap). tiktok-primary-720p: 720×1280, CBR 3 Mbps — half-resolution mobile-optimized, ~40% faster wall time. instagram-reels: 1080×1920 H.264 slow preset, CBR 4 Mbps. instagram-stories: same encode shape as instagram-reels. All four apply loudness normalization to -14 LUFS / -1.5 dBTP. | |
| subject | No | Optional reframing strategy. Default: "center" (hardcoded center crop, today's behavior). "auto": lock onto the longest-tracked face from the parent find_clips job's subjects-sidecar (or run inline detection if no sidecar). "subject_id": lock onto a specific face named in the sidecar (pass subject_id). "follow": switch crop between active speakers across the clip using the sidecar's active_speaker_timeline (per-segment encode + concat). "manual": caller specifies the subject (pass subject_box or subject_x_offset). See /.well-known/weftly-subjects-v1.schema.json. auto/subject_id/follow fall back to center if detection fails — the paid job always delivers a clip. | |
| subject_id | No | Required when subject="subject_id". Subject id from the parent's subjects-sidecar (e.g. "face_0"). | |
| subject_box | No | For subject="manual" — bounding box of the subject in source pixels. Crop centers on the box center. | |
| source_job_id | No | Job ID of any prior video job (find_clips, summarize, or video transcribe). Possessing this id is the capability — extract_vertical_clip is not session-bound, so a user can come back from a different session within the parent's TTL and still extract. Required on the first call. | |
| subject_x_offset | No | For subject="manual" — direct crop x-offset in source pixels (alternative to subject_box). | |
| payment_credential | No | MPP payment credential (full Authorization header value, e.g. "Payment eyJ..."). extract_vertical_clip accepts Tempo USDC and Stripe SPT — see the challenge's WWW-Authenticate header or /.well-known/mpp.json for the supported methods. Include with job_id after paying the challenge to start processing. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden and excels: it discloses output specs, audio normalization, single-segment limitation, fallback behavior for subject strategies, auto-refund on failure, and storage TTL. It even explains parent-job capability semantics, making behavioral expectations crystal clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but every sentence delivers critical information. It is front-loaded with purpose and output, then systematically covers constraints, flow, pricing, options, and fallbacks. There is no fluff or tautology; the structure mirrors the operational sequence an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, prerequisites, payment flow, output role, polling mechanism, failure behavior, and complementary tools. With 12 parameters and no output schema, the description compensates fully, leaving no significant gap for an agent to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 100% schema coverage, the description adds enormous value by explaining the two-call flow, distinguishing first-call vs second-call required parameters, and detailing profile performance differences (e.g., 720p ~40% faster) and subject strategy behaviors. This transforms bare schema entries into actionable operational knowledge.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb 'Cut' and clear resource 'a 9:16 vertical clip from any prior video job', explicitly naming the parent job types and output platforms. It distinctly differentiates from siblings like extract_clip by emphasizing vertical format and social-media readiness, eliminating ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance: 'Pair with find_clips... to pick a moment first', and defines prerequisites such as horizontal-only sources, TTL constraints, and the two-call payment flow. It clearly states the tool is single-segment and duration-limited, helping the agent decide if another tool is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_clipsAInspect
START HERE for any clip workflow on a video — find_clips is the canonical entry point and includes a full transcription as a free byproduct. Do not call transcribe first: doing so doubles the upload, doubles the spend, and produces the same transcript. Identify ranked candidate clips in a video — what to cut for highlights, social, or testimonials. Three-call flow: (1) call with filename (and optional query) to receive {job_id, payment_challenge}; (2) pay via MPP, then call with job_id + payment_credential to receive {upload_url} (presigned PUT, 1h expiry); (3) PUT the bytes, then complete_upload(job_id), then poll get_job_status(job_id). On completion, get_job_status returns three outputs: role clip-candidates (JSON matching /.well-known/weftly-clips-v1.schema.json — includes source_job_id and source_expires_at), role transcript (SRT, free byproduct), role transcript-words (JSON matching /.well-known/weftly-transcript-v2.schema.json, free byproduct). Each candidate carries transcript_text — the full text of what's in the clip — so callers can preview content before paying for extract_clip. Optional query parameter switches to query mode (e.g., "they discuss pricing", "the part about hiring") with the same output shape; the mode field in clip-candidates.json indicates which mode produced the result. Flat price: $2.00 video — see /.well-known/mpp.json. Source-reuse contract: the source video stays in storage for 72h after find_clips completes. Hand the find_clips job_id (also returned as source_job_id in the candidates JSON) to extract_clip or extract_vertical_clip as their source_job_id — within those 72h they cut directly from the stored source: no re-upload, no re-transcribe, just $0.50 per cut. Pass the same source_job_id to as many extract calls as you need. Use for interviews, podcasts, sales calls, all-hands recordings. Retrying with job_id alone returns current state. Failed jobs auto-refund.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Optional. Switches the analyzer from "best clips" discovery mode to query mode — finds segments matching this content (e.g., "they discuss pricing", "the part about hiring"). Same output shape either way; the `mode` field in clip-candidates.json tells consumers how to interpret per-candidate scoring. | |
| job_id | No | Job ID returned from a previous call. Include along with payment_credential to confirm payment and receive the presigned upload URL. Also include alone to recover the current challenge/state if the original response was lost. | |
| filename | No | Filename with extension (e.g. "podcast.mp3"). Required on the first call — used to infer media type (audio vs video) and label outputs. Supported extensions: mp3, wav, m4a, ogg, flac, mp4, mov, webm, mkv. | |
| payment_credential | No | MPP payment credential (full Authorization header value, e.g. "Payment eyJ...") obtained by paying the challenge returned from the first call. Include with job_id to verify payment and receive the upload URL. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the free transcription byproduct, payment challenge flow, presigned URL expiry, 72-hour source retention, retry behavior, and auto-refund policy. It also explains the three output roles and their schemas—excellent transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but every sentence conveys essential information (flow, pricing, source reuse, retry). It is front-loaded with 'START HERE' and uses bold for key terms, though the single dense paragraph could benefit from clearer sectioning for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the multi-step payment flow, three distinct output roles, and cross-tool source-reuse contract, the description covers all necessary context: pricing, schemas, timing, retry semantics, and failure handling. It fully prepares an agent to invoke the tool correctly without additional external knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% parameter coverage, and the description adds minimal parameter-level meaning beyond the flow context. It reinforces `query` mode behavior and `job_id` recovery but does not significantly exceed the schema's descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'START HERE for any clip workflow on a video' and clearly states the tool identifies 'ranked candidate clips in a video — what to cut for highlights, social, or testimonials.' It distinguishes itself from siblings by explicitly warning not to call `transcribe` first and by outlining the extract flow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance ('canonical entry point'), a direct alternative exclusion ('Do not call transcribe first'), a step-by-step three-call flow, and a source-reuse contract for `extract_clip`/`extract_vertical_clip`. This is exemplary usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_job_statusAInspect
Check the status of a transcribe or summarize job. Returns the current state and, when completed, an outputs array. Each output has either content (returned inline) or a presigned, time-limited (1 hour) download_url. Small text outputs (e.g. transcript SRT, clip-candidates, summary) come inline as content; larger outputs — transcript-words JSON for any non-trivial recording, plus video outputs like clip-video / clip-vertical-video — come as a download_url to fetch when needed. Optionally pass format (srt, txt, vtt, json, words) to get the transcript content inline in the top-level transcript field — txt and vtt are derived from the stored SRT; json is v1 (segments only); words is v2 (segments + per-word timestamps matching /.well-known/weftly-transcript-v2.schema.json). Poll this periodically after calling complete_upload — wait at least 60 seconds between checks. For files under 10 minutes, jobs usually complete within 1-2 minutes. For long files (1hr+), expect 10-30 minutes.
Also use this to recover from lost state: if the original challenge was lost, call get_job_status(job_id) to retrieve a fresh challenge (status "awaiting_payment") or the upload URL (status "awaiting_upload").
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | When the job is completed, return the transcript inline in this format instead of only a download URL. Options: "srt" (SubRip with timestamps), "txt" (plain text — no timestamps), "vtt" (WebVTT), "json" (v1, segments only), "words" (v2, segments + per-word timestamps matching /.well-known/weftly-transcript-v2.schema.json). Omit for download URLs only. | |
| job_id | Yes | The job_id returned from a previous transcribe or summarize call. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses extensive behavioral details: outputs are either inline 'content' or a presigned time-limited (1-hour) 'download_url', format parameter behavior with derived formats (txt/vtt from SRT, json v1 vs v2), and output type variations. This goes beyond a simple status check and fully informs the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Although fairly long, the description is well-structured and front-loaded with the main purpose. Every sentence provides value: return format details, format parameter behavior, polling intervals, expected durations, and recovery scenarios. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description comprehensively covers output structure, parameter usage, polling guidance, expected completion times, and recovery from lost state. It is complete for a status-checking tool with complex output semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds significant semantics beyond the schema. It elaborates on the 'format' enum values (e.g., txt/vtt derived from SRT, json v1 vs v2 with schema reference), and explains when 'format' applies (on completion) versus default download URLs. This exceeds the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool checks the status of transcribe or summarize jobs and returns the current state and outputs array. Distinguishes from sibling tools like transcribe/summarize (job creation) and complete_upload (uploading).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to poll after complete_upload with a 60-second wait, provides expected completion times, and describes a recovery use case for lost state. Clear context but does not explicitly list when not to use or name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_youtube_publish_statusAInspect
Check the status of a YouTube publish job. Poll periodically after trigger_youtube_publish — the upload takes 1-10 minutes depending on video size. Returns status (pending, publishing, completed, failed) and the youtube_video_url once complete.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job ID returned by publish_to_youtube | |
| session_token | Yes | Session token |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the possible return states (pending, publishing, completed, failed), when youtube_video_url appears, and expected latency. This gives the agent a clear behavioral model without over-specifying.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the primary action, then supplementary details. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple polling tool with no output schema, the description adequately covers purpose, return format, timing, and usage trigger. Missing error handling details but not necessary for this complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for both parameters, so the baseline is 3. The description adds no new parameter-level detail beyond what the schema provides; it only references job_id relationship in passing. No addition to schema semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Check the status of a YouTube publish job' — a specific verb and resource that clearly distinguishes it from generic get_job_status. It also references trigger_youtube_publish, confirming its role in the publish workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states 'Poll periodically after trigger_youtube_publish' and provides a time estimate (1-10 minutes), telling the agent exactly when to call it. It doesn't explicitly mention alternatives like get_job_status, but the temporal coupling makes the usage context unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mpp_smoke_testAInspect
Smoke-test the MPP payment plumbing end-to-end via this MCP server, for $0.01 USDC. Two-call flow: (1) call with no arguments to receive an MPP payment_challenge; (2) pay via MPP and call again with payment_credential set to the resulting Authorization header value (e.g. "Payment eyJ...") to receive {paid: true, timestamp, receipt_ref, payment_method}. Uses the exact same createPayToAddress + createMppHandler verification path as paid product tools (transcribe, summarize), so a green run here means real paid calls will work too. Stateless — no job is created, no database row written. Use this whenever you want to confirm a wallet, the MCP transport, the worker, and the production payment middleware are all healthy without paying a transcribe price. Cost: $0.01 USDC per attempt.
| Name | Required | Description | Default |
|---|---|---|---|
| payment_credential | No | MPP payment credential (full Authorization header value, e.g. "Payment eyJ...") obtained by paying the challenge returned from the first call. Include to verify payment and receive {paid: true}. Omit on the first call. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses key behavioral traits: statelessness ('no job is created, no database row written'), the $0.01 USDC cost per attempt, the two-call protocol with expected responses, and the relationship to paid product tools. This is comprehensive and exceeds what annotations would typically provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively long but each sentence contributes meaningful information: the flow, cost, statelessness, and use case. While it could be tightened, the structure logically moves from purpose to flow to benefits, making it effective despite its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for the tool's complexity: it covers the two-call flow, expected response format, cost, side effects (none), and when to use it. No output schema exists, but the description describes the response structure ('{paid: true, timestamp, receipt_ref, payment_method}') so the agent knows what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already has 100% coverage for the single parameter, so the baseline is 3. The description adds value by explaining the credential's role in the two-call flow, providing an example format ('Payment eyJ...'), and explicitly stating to omit it on the first call. This enriches the schema's description without redundancy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this is a smoke test for MPP payment plumbing, with a specific verb ('smoke-test') and resource ('MPP payment plumbing via this MCP server'). It distinguishes itself from sibling paid tools by explicitly noting it uses the same verification path as transcribe/summarize but costs only $0.01 USDC and creates no job.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit usage guidance is provided: 'Use this whenever you want to confirm a wallet, the MCP transport, the worker, and the production payment middleware are all healthy without paying a transcribe price.' It also explains the two-call flow, making it clear when and how to use it as an alternative to paid tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_to_youtubeAInspect
Publish an existing video from a transcribe or summarize job to YouTube. Creates a paid publish job (flat $1.75 price) and stores the OAuth token. Captions are auto-generated from the session transcript if available. Workflow: create_job → pay → trigger_youtube_publish → poll get_youtube_publish_status. Requires a YouTube OAuth2 access token obtained independently via Google OAuth (scope: youtube.upload).
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | YouTube video title (max 100 characters) | |
| visibility | Yes | YouTube video visibility: "private" (default), "unlisted", or "public" | private |
| description | No | YouTube video description (max 5000 characters) | |
| access_token | Yes | YouTube OAuth2 access token — the caller is responsible for obtaining this via Google OAuth | |
| refresh_token | No | YouTube OAuth2 refresh token — if provided, the Workflow will refresh the access token automatically before uploading | |
| session_token | Yes | Session token from create_session, create_transcript, or create_summary | |
| source_job_id | Yes | Job ID of an existing transcribe or summarize job in this session whose video to publish. The Workflow will auto-generate captions if no transcript is found. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the $1.75 price, OAuth token storage, auto-generated captions, and the required OAuth scope, which are meaningful side effects and conditions. It does not cover failure modes or token expiry behavior, but the disclosed details go beyond a generic 'publish' statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences deliver purpose, side effects, caption behavior, workflow, and OAuth requirements without redundancy. Information is front-loaded and every sentence contributes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the overall process and points to get_youtube_publish_status for polling, covering the main constraints (existing job, OAuth token, cost). It does not describe the API response shape or failure handling, but given the workflow is explicit, the tool is sufficiently contextual for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all 7 parameters (100% coverage). The description adds workflow context and reiterates that captions are auto-generated, but does not add new parameter-specific semantics beyond what the schema already states. Thus, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific action—publishing an existing video from a transcribe or summarize job to YouTube—and clarifies it creates a paid publish job rather than directly uploading. It references the broader workflow, distinguishing itself from trigger_youtube_publish while naming it in the sequence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the prerequisite of an existing transcribe/summarize job and an independently obtained YouTube OAuth token, and lays out the full workflow (create_job → pay → trigger_youtube_publish → poll). It does not explicitly say when not to use this tool or directly compare with alternatives, leaving some room for confusion with the sibling trigger_youtube_publish.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
summarizeAInspect
Summarize an audio or video file — returns both a text summary AND the full transcript (with per-word timestamps). Do not also call transcribe on the same file. Three-call flow: (1) call with filename to receive {job_id, payment_challenge}; (2) pay via MPP, then call with job_id + payment_credential to receive {upload_url} (presigned PUT, 1h expiry); (3) PUT the bytes, then complete_upload(job_id), then poll get_job_status(job_id). On completion, get_job_status returns three outputs: role summary (plain text), role transcript (SRT), and role transcript-words (JSON matching /.well-known/weftly-transcript-v2.schema.json, with segment-level and per-word timestamps). For other formats, pass format=srt|txt|vtt|json|words to get_job_status to receive transcript content inline — txt and vtt are derived from SRT, json is v1 (segments only), words is v2 (segments + words). Flat price: audio $0.75, video $1.25 — see /.well-known/mpp.json for the authoritative table. Use for meetings, long-form interviews, lectures, and podcast episodes; the words output additionally supports creating clips, multicamera edits, or edit-video-from-transcript. Retrying any call with job_id alone returns current state (idempotent). Failed jobs auto-refund.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | No | Job ID returned from a previous call. Include along with payment_credential to confirm payment and receive the presigned upload URL. Also include alone to recover the current challenge/state if the original response was lost. | |
| filename | No | Filename with extension (e.g. "podcast.mp3"). Required on the first call — used to infer media type (audio vs video) and label outputs. Supported extensions: mp3, wav, m4a, ogg, flac, mp4, mov, webm, mkv. | |
| payment_credential | No | MPP payment credential (full Authorization header value, e.g. "Payment eyJ...") obtained by paying the challenge returned from the first call. Include with job_id to verify payment and receive the upload URL. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and excels: it discloses the three-call payment flow, MPP credential requirements, presigned URL expiry, idempotent retries, auto-refund on failure, and the exact output roles/formats. This is exceptionally thorough for a complex paid tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and a critical warning. Every sentence contributes necessary detail for the complex flow, pricing, and outputs, but the paragraph is long and dense, making it somewhat heavy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description covers the full lifecycle: initial call, payment, upload, polling, output formats, use cases, pricing, idempotency, and refunds. It even references relevant JSON schemas and includes authoritative pricing. This is remarkably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter already has a rich description covering its purpose and timing. The tool description repeats the flow but adds no semantic meaning beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool summarizes audio/video files and returns both a text summary and full transcript with per-word timestamps. It distinguishes itself from the sibling 'transcribe' by explicitly warning 'Do not also call transcribe on the same file', making the scope and differentiation clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit use cases ('meetings, long-form interviews, lectures, and podcast episodes') and a clear when-not ('Do not also call transcribe'). However, it does not compare against other relevant siblings like extract_clip or find_clips, so while guidance is strong, it is not fully exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transcribeAInspect
Transcribe audio or video to text, including per-word timestamps for precise editing. Three-call flow: (1) call with filename to receive {job_id, payment_challenge}; (2) pay via MPP, then call with job_id + payment_credential to receive {upload_url} (presigned PUT, 1h expiry); (3) PUT the bytes, then complete_upload(job_id), then poll get_job_status(job_id). On completion, get_job_status returns two outputs: role transcript (SRT) and role transcript-words (JSON matching /.well-known/weftly-transcript-v2.schema.json, with segment-level and per-word timestamps). For other formats, pass format=srt|txt|vtt|json|words to get_job_status to receive content inline — txt and vtt are derived from SRT, json is v1 (segments only), words is v2 (segments + words). Flat price: audio $0.50, video $1.00 — see /.well-known/mpp.json for the authoritative table. Use for podcasts, interviews, meetings, lectures, and especially for creating clips, multicamera edits, or edit-video-from-transcript where word boundaries matter. Retrying any call with job_id alone returns current state (idempotent). Failed jobs auto-refund.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | No | Job ID returned from a previous call. Include along with payment_credential to confirm payment and receive the presigned upload URL. Also include alone to recover the current challenge/state if the original response was lost. | |
| filename | No | Filename with extension (e.g. "podcast.mp3"). Required on the first call — used to infer media type (audio vs video) and label outputs. Supported extensions: mp3, wav, m4a, ogg, flac, mp4, mov, webm, mkv. | |
| payment_credential | No | MPP payment credential (full Authorization header value, e.g. "Payment eyJ...") obtained by paying the challenge returned from the first call. Include with job_id to verify payment and receive the upload URL. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the burden of behavioral disclosure. It explains the multi-step payment flow, presigned PUT URL with 1-hour expiry, MPP payment challenge, idempotent retries, auto-refund on failed jobs, and the exact output shapes from get_job_status across different formats. This far exceeds the minimum transparency expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but every sentence earns its place, covering a complex multi-step protocol in a logically ordered flow. It front-loads the core purpose, then systematically walks through the three-call sequence, output formats, pricing, and edge cases without redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's high complexity (multi-step payment, upload, polling, multiple output formats), the description leaves no critical gap. It covers all invocation phases, return types via get_job_status, pricing, failure handling, and even points to authoritative schemas. No output schema exists, but the description fully explains expected results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although the input schema already provides descriptions for all three parameters, the description adds substantial meaning beyond the schema. It explains the call sequence (filename first, then job_id + payment_credential), the purpose of each parameter in context, and additional details like the full Authorization header format and supported filename extensions. This significantly aids correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Transcribe audio or video to text, including per-word timestamps for precise editing,' which is a specific verb+resource statement that clearly conveys the tool's core function. It distinguishes itself from sibling tools like summarize or find_clips by focusing on transcription with word timestamps and downstream editing use cases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides an explicit three-call workflow with numbered steps, specifying exactly when to use each parameter and how to complete the process. It also names concrete use cases (podcasts, interviews, meetings, lectures, clip creation) and notes idempotent retry behavior, giving clear guidance on how to invoke the tool correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trigger_youtube_publishAInspect
Start the YouTube upload after payment is confirmed. Call this after publish_to_youtube once payment_status is "paid". Returns immediately — the upload runs as a durable Workflow in the background. Poll get_youtube_publish_status to track progress.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job ID returned by publish_to_youtube | |
| session_token | Yes | Session token |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses asynchronous behavior: 'Returns immediately' and 'runs as durable Workflow in the background'. Without annotations, this essential behavioral transparency sets expectations. Could add more about idempotency or failure modes, but the core behavior is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, front-loaded with purpose, no fluff. Each sentence adds workflow context, return behavior, or monitoring advice.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers workflow integration, return behavior, and monitoring in a compact description. Sufficient for a tool with simple schema and no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already covers both parameters with descriptions. Description doesn't add extra meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'Start' and resource 'YouTube upload' clearly state the action. Distinguishes from siblings by referencing publish_to_youtube as predecessor and get_youtube_publish_status as successor.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states call after publish_to_youtube once payment_status is 'paid', which is a clear condition. Also mentions polling get_youtube_publish_status for progress, guiding agent on alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Flicense-qualityAmaintenanceOpenShorts turns long videos into vertical clips readys for Social Media posting3,071
- Flicense-qualityCmaintenanceTurns long-form videos into short-form clips (TikTok/Reels) by reasoning over word-timestamped transcripts, with silence-aware rendering, STT-based validation, and optional reframing/captions.
- AlicenseAqualityFmaintenanceCreate AI-powered short-form video clips from YouTube videos using any AI assistant. 9 tools for creating shorts, browsing caption templates, music, gameplay overlays, and meme hooks.91894MIT
- AlicenseAqualityFmaintenanceTurn YouTube videos into short clips — from Claude, Cursor, or any AI assistant that supports MCP. You give it a YouTube link. It finds the best moments, reframes them for vertical video, adds subtitles, and gives you download links. All from a chat.62242MIT