Skip to main content
Glama

UGC Fans

Server Details

Make ads, images and video from a URL; every paid generation is quoted in credits first

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
ugcfans/gpt-plugin
GitHub Stars
0

TDQS

A3.8/5.0

Scored across 26 tools

Disambiguation4/5

Most tools target clearly distinct resources and actions, and the descriptions differentiate outputs well (image vs video vs speech vs ad). However, make_launch_film and make_site_sting both produce 12-second page-based films, and make_ad overlaps with make_performance for talking-presenter creation, creating some risk of misselection.

Naming Consistency4/5

All names use the ugcfans_ snake_case prefix and are overwhelmingly verb_noun (get_job, make_ad, list_files). Minor deviations such as estimate, transcribe, and ad_to_film exist, but they do not impair readability or predictability.

Tool Count3/5

26 tools is heavy for any server, and while the platform is broad, a few pairs (get_job/wait_job, make_launch_film/make_site_sting) could be consolidated. It sits just over the 25-tool threshold where the surface starts to feel unwieldy, earning a borderline score.

Completeness3/5

Core creation and job workflows are covered, but there is no way to list or retrieve saved assets (brand kits, products, presenters, voices) or films/revisions, which can strand agents that lose an ID. File deletion is also absent, making the surface notably incomplete for a library-based platform.

Available Tools

26 tools
ugcfans_ad_to_filmTurn a finished ad into an editable filmAInspect

Makes an editable film from a finished video ad, so its captions and end card can be changed, and returns the film and its first revision. The ad must be finished, must not already be a film, must be a video and at most 96 MiB. Free of credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
adYesThe ad id, from a finished ugcfans_make_ad job.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare a non-read, non-idempotent, non-destructive but closed-world operation; the description adds behavior beyond that by disclosing the result shape (the film plus its first revision) and the cost profile (free of credits). It does not explain reversibility or the failure mode when preconditions fail, but the added cost and return details are meaningful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler, front-loaded with the transformation and its payoff before the constraint list. Every clause carries an actionable fact (output, preconditions, size limit, cost).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly covers the return value (the film and its first revision), the input preconditions, and cost. What is missing for a job-oriented sibling set is whether the call is synchronous or job-backed and how to follow up if the film needs further editing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single parameter with 100% schema description coverage, so the schema already explains that 'ad' is an ad id from a finished ugcfans_make_ad job. The description restates the 'must be finished' constraint but adds no format or syntax detail beyond the schema, making 3 the correct baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: converts a finished video ad into an editable film, and names the downstream benefit (captions and end card become editable). It implicitly separates itself from ugcfans_make_launch_film and ugcfans_make_site_sting by naming the source artifact (a finished ad), but never routes the agent between those alternatives explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete preconditions for use: the ad must be finished, must not already be a film, must be video, and at most 96 MiB. That is real context for when the call will succeed, though it stops short of naming an alternative tool or describing the case where the ad does not meet these conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_cancel_jobCancel a jobA
DestructiveIdempotent
Inspect

Stops a job that has not yet reached a provider; a cancelled job is not charged. A job that is already with a provider cannot be stopped and the call says so. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobYesThe job id a tool returned, job_...

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, readOnlyHint=false and idempotentHint=true. The description adds genuinely new behavioral facts: no charge for a successful cancellation and an explicit failure signal when the job is already with a provider. It does not contradict the destructive/idempotent hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, the mutation semantics front-loaded, followed by the precondition and cost note. Zero filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter mutation with no output schema, the description covers cost, precondition and failure reporting. It stops short of saying what a successful call returns or how to verify the job's new state, which is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Single parameter with 100% schema description coverage ('The job id a tool returned, job_...'), so the schema already carries the format detail. The description adds nothing about the job id, which is acceptable at this coverage level but earns no bonus.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Stops') and resource ('a job') plus a scope constraint ('has not yet reached a provider'). It is clearly distinguishable from get_job/wait_job by implication, but it never names a sibling to route the agent explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives both when-to-use and when-not: cancellable only before the job reaches a provider, and already-dispatched jobs cannot be stopped. No alternative tool is named for those cases, so it falls short of the top mark.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_capture_websitePhotograph a website for a filmAInspect

Opens a public web page in a sandboxed browser, records its text, pictures and layout, and returns a job whose result is a capture id. A capture is the raw material of ugcfans_make_launch_film and ugcfans_make_site_sting. Free of credits. Calling it confirms the person has the right to reuse the page's content in their own films. Only http and https pages on ports 80 and 443 can be captured.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe address of the page, starting with https:// or http://.
viewportNodesktop captures a 1280 by 900 window (the default); phone captures 390 by 844 at twice the density.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds substantive behavior beyond the annotations: it returns a job whose result is a capture id (the async job pattern tied to wait_job/get_job), it is free of credits, and it asserts a legal/rights confirmation. The annotations (openWorldHint, non-idempotent, non-destructive) cover the safety profile, but the description usefully adds the cost and legal-attestation context those annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five compact sentences, each carrying distinct information (behavior, downstream use, cost, legal attestation, domain limits), with the core action front-loaded. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly explains the return value (a job resolving to a capture id) and the async workflow. It stops short of explicitly warning that repeated calls create new captures (non-idempotent), which would matter for an agent retrying, but it is otherwise complete for a capture tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both url and viewport (including the enum and default) are already fully documented in the schema. The description contributes only the port restriction (80/443) on the URL, which is a meaningful constraint but does not go beyond baseline for the parameters themselves.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ('Opens a public web page in a sandboxed browser, records its text, pictures and layout') and names the two sibling tools that consume its output (ugcfans_make_launch_film, ugcfans_make_site_sting). An agent can distinguish this capture tool from the get_capture/get_job siblings without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly positions the tool as the upstream step for make_launch_film and make_site_sting and states eligibility constraints (only http/https on ports 80 and 443). However, it never explicitly states when NOT to capture or how it relates to non-consumer siblings like get_capture, leaving that routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_estimatePrice an ad, image or videoA
Read-onlyIdempotent
Inspect

Prices a request without making it: the most it can cost in credits, the dollar figures behind it, any warnings, and a quote that is good for about 10 minutes. Free. The body takes the same fields as ugcfans_make_ad, ugcfans_make_image or ugcfans_make_video, without the quote; the make tool takes the quote back and refuses it if any field changed.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesThe request: the fields of the make tool for this kind, without quote.
kindYesWhat is being priced.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered; the description adds genuinely new behavior beyond that: zero cost, a ~10 minute quote lifetime, and invalidation when any field changes. It stops short of noting rate limits or whether warnings are advisory vs. blocking, so it is not a full 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded passage that leads with the definition and cost, then the quote mechanics. Mostly dense, though the mid-sentence list of return values is slightly crowded and could be trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description compensates by describing the return payload (max credits, dollar figures, warnings, expiring quote). It also explains how the nested 'body' object relates to the make tools, so an agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already documents both 'kind' (enum) and 'body' (fields of the make tool for this kind, without quote). The description largely restates that mapping rather than adding new syntax or constraints, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('prices a request without making it') and immediately enumerates what the price consists of (credit cost, dollar figures, warnings, quote). It explicitly differentiates itself from the make siblings by name, so an agent can distinguish it without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use guidance: call this before making, it is free, the quote lasts ~10 minutes, and the corresponding make tool accepts the quote back and rejects it if a field changed. It names the three alternative tools by name and describes the round-trip workflow between estimate and make.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_export_filmExport a film to MP4AInspect

Renders one revision of a film to an MP4 with a content credential, and returns a job; when it is done the result carries a link to the file. Free of credits. A film with an unresolved rendering requirement cannot be exported.

ParametersJSON Schema
NameRequiredDescriptionDefault
filmYesThe film id.
revisionYesThe revision to render.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes beyond the annotations by disclosing the asynchronous job contract ('returns a job; when it is done the result carries a link to the file') and the cost profile ('Free of credits'). That is real added context, though it stops short of saying whether repeated invocations spawn duplicate jobs (relevant given idempotentHint=false) or how the job is polled.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with no filler: the action and output first, then the async/result contract, then the cost and the blocking condition. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly carries the return-value burden by describing the job and its eventual file link. The main remaining gap is operational: no pointer to a job-status sibling (get_job/wait_job) for retrieving the finished render.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters are documented there, so the baseline is 3. The description only obliquely reinforces that a single revision is rendered and adds no format, ID-source, or constraint detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb+resource+output ('Renders one revision of a film to an MP4') and scopes it to a single revision, which clearly separates it from the many creation-oriented siblings like ugcfans_make_launch_film and ugcfans_ad_to_film. An agent can tell this is the terminal export step for an existing film without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear precondition/exclusion ('A film with an unresolved rendering requirement cannot be exported') and notes the operation is free of credits, which is useful selection context. It does not, however, name any alternative path or explain what to do when the precondition fails (e.g. which sibling resolves the requirement).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_finish_clipTrim, reformat, caption and brand a clipAInspect

Runs up to 6 finishing operations in order on a clip of the library, each on the file the one before made: trim, reformat to another frame, burn in captions, overlay a brand logo, close with an end card, or mix in music. Returns the last job, whose result links the finished file. A call that runs past 4 minutes returns the job it is on and the operations still to run. Free of credits. The clip must already be in the library: upload footage at https://ugc.fans/library, then find its address with ugcfans_list_files. mix confirms the person may use the music file.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYesThe clip's address in the library, out/...
operationsYesThe operations, in order.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare the mutation profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the description adds genuinely useful context beyond them: operations chain each on the previous file's output, a run past 4 minutes returns the in-progress job plus remaining operations, and the call is free of credits. Omits details like retry/failure semantics, but the timeout and pipelining disclosures are substantive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core mechanism (up to 6 chained operations) before secondary details like timeout behavior and prerequisites. Dense but nearly every sentence carries required information; the music-rights clause is slightly awkwardly appended.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by explaining the return value (the last job, whose result links the finished file) and the partial-run case. Combined with prerequisites and the 4-minute boundary, an agent has enough to invoke it correctly, though failure/error behavior is not covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so per-operation parameters (trim start/end, captions cues/transcript, reformat mode/aspect_ratio, overlay/end_card brand, mix music) are fully documented in the schema. The description adds the meaningful ordering rule (operations run in sequence) but does not extend individual parameter semantics, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('runs up to 6 finishing operations... on a clip') and enumerates the six operations, so the agent knows exactly what the tool produces. It names sibling tools (ugcfans_list_files, ugcfans_transcribe, upload URL) and distinguishes itself from them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear prerequisites and routing: the clip must already be in the library, upload at the given URL, resolve its address with ugcfans_list_files, and use ugcfans_transcribe for transcripts. It doesn't state when NOT to use the tool, but the sequencing and dependency guidance is explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_get_accountShow plan and creditsA
Read-onlyIdempotent
Inspect

Shows the signed-in account's credits left, credits granted and spent this period, when they expire, its plan and whether the account is admitted to UGC Fans. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds a genuine behavioral fact not in structured data: the call is free, meaning it does not consume the credits it reports on — a meaningful signal in a toolset that otherwise bills credits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence, front-loaded with what is shown and closed with the cost note. The enumeration of returned fields is long but every item earns its place since there is no output schema to carry them.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the full burden of describing the return payload and does so precisely, listing all six pieces of information. Annotations cover the safety profile and no parameters need explaining, so nothing an agent needs to invoke and interpret this tool is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4. There is nothing for the description to disambiguate, and nothing misleading about the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (shows) tied to a specific resource (the signed-in account) and enumerates exactly what is surfaced: credits left, granted, spent, expiry, plan, and admission status. None of the sibling tools touch account state, so it is trivially distinguishable from the film/file/job operations around it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: an agent can infer this is the tool for checking remaining credits or plan before or after consuming a paid operation. There is no explicit when-to-use or when-not-to-use guidance, nor any mention of prerequisites, though the absence of alternatives for account state limits the practical gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_get_captureRead a website captureA
Read-onlyIdempotent
Inspect

Reads a finished capture: the address it ended on, the parts of the page that can go into a film (node_id, role and the first words), and whether a launch film can be made from it. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
captureYesThe capture id from the finished ugcfans_capture_website job.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds useful context about the returned content and a "Free" cost signal, but discloses no rate limits or authorization requirements beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single well-formed sentence that front-loads the core action and enumerates return content compactly. No filler, though the parenthetical list is dense.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, single-parameter tool with no output schema, the description adequately covers what is returned (address, node_id/role/first words, film feasibility) and the cost. Minor omission is the lack of explicit prerequisite routing to the capture job.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already ties the capture id to "the finished ugcfans_capture_website job." The description's "finished capture" phrasing reinforces but does not extend that meaning, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ("Reads") and resource ("a finished capture"), and further specifies the returned content: final address, page parts usable in a film, and launch-film feasibility. The "finished" qualifier implicitly separates it from ugcfans_capture_website, though it does not name any sibling outright.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The word "finished" implies the capture job must already be complete, giving only an indirect usage cue. There is no explicit guidance on when to prefer this over siblings like ugcfans_get_job or ugcfans_wait_job, nor any stated exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_get_jobRead a jobA
Read-onlyIdempotent
Inspect

Reads where a job stands: working, done with its files as links, failed with the reason, or cancelled. Free. Works for any job the account started.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobYesThe job id a tool returned, job_...

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent and non-destructive, so safety is covered. The description adds value beyond them: it discloses that the call is free, that it works for any job the account started (a scope/auth boundary), and what the failure result contains (the reason). It does not mention rate limits or polling guidance, keeping it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero waste, with the core semantics (what the read reports) front-loaded before the cost/scope note. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully enumerates the possible terminal/working states, partially compensating for the missing return contract. Combined with annotations covering safety, an agent has enough to call it correctly, though the exact payload shape is still unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter and schema coverage is 100%, so the schema already defines the job id format (job_..., max length 128). The description adds nothing about the parameter, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (reads) and resource (a job) and enumerates the possible states it reports — working, done with links, failed with reason, cancelled — so an agent knows exactly what it returns. It does not, however, distinguish itself from siblings like ugcfans_wait_job or ugcfans_cancel_job, which an agent also faces when reasoning about job status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Free. Works for any job the account started" gives useful scope and cost context, implying this is a cheap polling/status check. But it never says when to prefer this over ugcfans_wait_job (blocking wait) or ugcfans_cancel_job, leaving the routing decision to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_list_filesList files in the libraryA
Read-onlyIdempotent
Inspect

Lists files in the account's library, newest first: the path of each (out/...), its size and when it changed. Pictures, video, audio and fonts only. Free. Footage is added at https://ugc.fans/library; the path is what the clip and transcript tools take as source.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many files to list, newest first.
prefixNoOnly paths that start with this, such as out/api/images. The default is the whole library, out.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds real value beyond that: newest-first ordering, the media-type restriction, that the operation is free, and how the returned paths feed downstream tools. It does not cover pagination or result limits, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences, front-loaded with what the tool does and what it returns, then the scope restriction, then the source-path integration hint. Every sentence earns its place with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless read-only listing with no output schema, the description supplies the returned fields (path, size, change time), the ordering, the media-type filter, and the downstream usage of the paths — everything an agent needs to call and interpret it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both limit and prefix are fully documented in the schema, including defaults and constraints. The description echoes the newest-first ordering but adds no syntax or format detail beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (lists files in the account's library) plus the ordering (newest first) and the media-type scope (pictures, video, audio, fonts only). An agent can immediately tell this is the library enumeration tool and what it will return, with no sibling tool offering an equivalent listing operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains where footage comes from and, crucially, that the returned path is the source argument for the clip and transcript tools — telling the agent when this tool is a useful precursor. It does not state when-not-to-use or name a competing alternative, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_list_modelsList the qualities and their credit pricesA
Read-onlyIdempotent
Inspect

Lists what UGC Fans makes at each quality: stills, clips and talking clips, with the credits each costs per unit (an image, a clip) and whether a plan locks it. Free, and needs no sign-in. Signed out it is the whole price list; signed in it is what is on offer to this account, the model ids ugcfans_estimate and the make tools accept.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNoOnly models of this kind.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safe read profile (readOnlyHint, idempotentHint, non-destructive, non-open-world), so the bar is lower. The description adds genuinely new behavior: no authentication required, and results differ by auth state (signed out = full price list, signed in = entitlement-filtered offer). It does not mention pagination or caching, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in the opening clause and every sentence carries information (payload, cost unit, auth behavior, downstream consumers). The final sentence runs long and packs several ideas together, costing some scannability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description must describe return content, and it does: qualities, per-unit credit costs, plan gating, and the accepted model ids. Combined with the auth-state explanation, an agent has enough to call and use it, though exact field shapes and ordering remain unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with a single optional enum ('kind'), so the schema already carries the parameter meaning; baseline 3 applies. The description adds adjacent context (plan locks, per-account availability) but never explains the kind filter or the enum values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Lists what UGC Fans makes at each quality') plus the payload (stills, clips, talking clips, credit cost per unit, plan locks, model ids). This clearly separates it from siblings like ugcfans_estimate (pricing computation) and the make_* tools (which consume the ids listed here).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context: it is free and needs no sign-in, and it explains that the returned model ids are the ones ugcfans_estimate and the make tools accept, which implicitly routes the agent to call this first. It stops short of explicit when-not-to-use or a named alternative for overlapping lookups.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_make_adMake a UGC adAInspect

Makes a UGC-style ad from a product and a template or feature (testimonial, talking presenter, product video and others) and returns a job; when it is done the result lists the ad's files as links. Spends the account's credits; the cost depends on the feature and its length, so call ugcfans_estimate first and pass its quote. Without a quote this returns the cost and makes nothing. A presenter must be saved, have a portrait and, for a real person, recorded consent at https://ugc.fans/library.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoA name for the ad.
quoteNoThe quote from ugcfans_estimate for exactly this request. Without it the call returns the estimate and makes nothing.
voiceNoThe voice: the id of a saved voice.
personNoThe presenter: the id of a saved person that has a portrait and, for a real person, recorded consent.
scriptNoA script already written, by its id from ugcfans_write_script.
featureYesWhat kind of ad, a slug from ugcfans_search_templates such as testimonial, talking-presenter or product-video.
productNoWhat is being sold: a sentence, or an object with its name, description and pictures.
reviewsNoReal customer reviews a testimonial rests on.
page_urlNoA web page to read the product from.
templateNoA template slug from ugcfans_search_templates, which fills in the frame, length and shots.
testimonial_basisNoWhere a testimonial's words come from. verbatim and edited need reviews.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare a non-read-only, non-idempotent write, and the description adds the crucial cost/destructive-to-credits behavior, the quote gating, and the async job return (job now, files as links when done). This goes well beyond what the annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The output job, credit spend, quote gating and presenter preconditions are front-loaded in a compact block with no filler. Sentences are long and dense, but every clause carries operational information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description explains the return behavior (a job, later listing the ad's files as links) and the no-quote estimate path. For a complex, credit-spending, multi-parameter tool, an agent has everything it needs to call correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema documents all 11 parameters, giving a baseline of 3. The description still adds cross-parameter meaning the schema does not, notably the quote-to-estimate relationship, presenter prerequisites, and that testimonial basis relies on reviews.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb ('Makes') plus resource ('UGC-style ad') with the input basis (product and template or feature) spelled out and example features named. It is clearly distinguishable from siblings like ugcfans_make_video, ugcfans_make_image and ugcfans_make_performance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly directs the agent to call ugcfans_estimate first and pass its quote, and states the fallback behavior when no quote is given ('returns the cost and makes nothing'). It also states presenter prerequisites (saved, portrait, recorded consent for a real person).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_make_imageMake an imageAInspect

Makes a picture from a prompt, optionally following reference pictures, and returns a job; when it is done the result links the picture and a small one is shown inline. Spends the account's credits per picture (ugcfans_list_models gives each model's price). Call ugcfans_estimate first and pass its quote; without a quote this returns the cost and makes nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
nNoHow many pictures (default 1).
modelYesThe model id, from ugcfans_list_models.
quoteNoThe quote from ugcfans_estimate for exactly this request. Without it the call returns the estimate and makes nothing.
promptYesWhat to draw, in words.
referenceNoPictures of the subject or style to follow: addresses of library files, out/...
resolutionNoThe resolution, such as 1K, when the model offers it.
aspect_ratioNoThe frame, such as 1:1, 9:16 or 16:9, when the model offers it.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations mark this as a non-read-only, non-idempotent action, and the description adds the crucial economics (spends credits per picture), the async contract (returns a job; result links the picture and shows a thumbnail inline), and the quote guard that makes the call a no-op without a quote. This goes well beyond the annotation surface.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense, front-loaded sentences that lead with what the tool produces and end with the prerequisite. No filler, though the second sentence packs pricing, workflow, and fallback behavior in a way that takes a second read.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers prompt, references, cost, the quote prerequisite, and the asynchronous job return with inline preview, which is strong given no output schema. It could name the job-polling siblings (ugcfans_get_job / ugcfans_wait_job) to complete the async loop.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description reinforces the quote parameter's behavior and mentions the reference option, but adds little syntax or format detail beyond what the schema already documents.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Makes a picture from a prompt'), plus scope details (optional reference pictures, job-returning). It is clearly distinguishable from siblings like ugcfans_make_video or ugcfans_make_speech, which produce other media types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly orders the workflow: call ugcfans_estimate first and pass its quote, otherwise the call returns the cost and makes nothing. It also routes to ugcfans_list_models for pricing, naming concrete alternatives rather than implying them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_make_launch_filmMake a launch film from a captureAInspect

Makes a 12-second launch film of the page's headline, button and picture from a finished capture, in the chosen frame, and returns a job. The result is an editable film; ugcfans_export_film renders it to MP4. Free of credits. A launch film has no text layers: its words are pictures of the page.

ParametersJSON Schema
NameRequiredDescriptionDefault
aspectYesThe frame: 16:9 landscape, 9:16 vertical, 1:1 square.
captureYesThe capture id.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the mutation/cost profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), and the description adds valuable context beyond them: it returns an async job, is free of credits, and produces an editable film with no text layers. It stops short of describing job polling or failure behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and outcome, then qualifies editability and cost. Every sentence carries information, though the final clause about text layers is slightly tangential and could be folded in.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-parameter mutation tool with no output schema, the description supplies the key facts an agent needs: async job return, credit cost, editability, prerequisite capture state, and the render hand-off. Job-lifecycle detail is the only notable omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the enum for 'aspect' is fully described in the schema, so the baseline is 3. The description adds only that the capture must be 'finished' and that the frame is 'chosen', which is marginal beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Makes a 12-second launch film ... from a finished capture') with concrete scope (headline, button, picture, chosen frame). It also distinguishes itself from siblings by naming ugcfans_export_film as the renderer and clarifying the no-text-layers nature, setting it apart from ugcfans_set_film_words.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clear context: requires a 'finished capture', produces an editable film, and routes rendering to ugcfans_export_film. It does not explicitly state when-not to use it versus siblings like ugcfans_ad_to_film or ugcfans_make_site_sting, leaving some inference to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_make_performanceMake a clip of a saved personAInspect

Puts a saved person on screen and returns a job: talking has them speak a line, motion has them move as a reference clip moves, swap puts them in place of the person in a clip, and product shows them holding a product (a picture). Spends the account's credits; a talking clip costs about what its avatar model costs (ugcfans_list_models, kind avatar). The person must be saved with a portrait and, if real, recorded consent at https://ugc.fans/library. motion and swap need rights_confirmed: true, given only after the person confirms they may use the source clip.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYesWhat to make.
noteNoswap: what to change, in words.
textNotalking: words to speak.
brandNoproduct: the id of a saved brand whose kit holds the product pictures.
imageNotalking: which picture of the person to use, out/...
voiceNotalking, with script or text: the id of the saved voice to speak in.
personYesThe id of the saved person.
scriptNotalking: the id of a saved script to speak.
sourceNomotion and swap: the reference clip's address, out/...
speechNotalking: the id of a saved line to use as the audio.
productNoproduct: the product's name.
settingNomotion and product: where it happens.
handlingNoproduct: how the person has it.
motion_fromNomotion: follow the clip itself or its pose (default clip).
product_imagesNoproduct: pictures of the product, out/...
rights_confirmedNomotion and swap: the person confirms they may use the source clip.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare the generic profile (not read-only, not idempotent, not destructive), so the description carries real weight and delivers it: it spends account credits, explains the talking-cost relationship to avatar models, states the consent/rights gate for motion and swap, and says it returns a job (async). It does not cover job lifecycle details such as awaiting, cancelling, or failure behavior, which matters for a job-returning mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences, front-loaded with purpose, then modes and cost, then prerequisites. Each sentence carries distinct information (mode semantics, credit cost, eligibility/consent), so nothing is filler, though the parenthetical '(a picture)' and the closing consent sentence are slightly compressed for the amount of constraint they encode.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly signals the async contract ('returns a job') and covers prerequisites, rights gating, and cost for a 16-parameter tool that is fully schema-documented. It leaves the agent to discover job retrieval via siblings (get_job, wait_job), which is a minor gap rather than a blocking one.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description adds genuine meaning by mapping behavior to mode: talking = speak a line, motion = follow a reference clip, swap = replace the person in a clip, product = hold a product picture. This lets an agent infer which of the 16 parameters apply to the chosen kind, beyond the schema's per-parameter prefixes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb and resource ('Puts a saved person on screen and returns a job') and immediately enumerates the four modes (talking, motion, swap, product), so an agent knows exactly what class of output this produces. The 'saved person' scope and the per-mode behaviors distinguish it from generic siblings like ugcfans_make_video even without naming them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives strong preconditions: the person must be saved with a portrait and, if real, recorded consent at ugc.fans/library, and motion/swap additionally require rights_confirmed: true set only after the person confirms use of the source clip. It also names ugcfans_list_models for pricing context. It stops short of routing the agent away from this tool toward specific alternatives, so it is clear context without explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_make_site_stingMake a sting from chosen website partsAInspect

Makes a 12-second, 8-scene film from the page parts you choose (node_ids from ugcfans_get_capture), in the chosen frame. Unlike a launch film its page text stays as editable text, so ugcfans_set_film_words can change it. Free of credits. Returns the film and its first revision at once.

ParametersJSON Schema
NameRequiredDescriptionDefault
aspectYesThe frame: 16:9 landscape, 9:16 vertical, 1:1 square.
captureYesThe capture id.
node_idsYesThe node_id of each part to include, from ugcfans_get_capture.
key_phraseNoA phrase of the chosen text to feature. It must appear in the chosen parts.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover the safety profile (non-read-only, non-destructive, non-idempotent, closed-world). The description adds genuinely new behavior: fixed 12s/8-scene output, text remaining editable, zero credit cost, and synchronous return of the film plus its first revision. That is substantial context beyond structured fields, though permission/auth requirements are not addressed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences front-load the core action and output spec, then add the sibling contrast and cost/return facts. Every sentence carries information with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly compensates by stating the return ('the film and its first revision at once'), plus duration, scene count, editability, and cost. It does not cover async/job behavior, though the synchronous return framing largely addresses that for this creation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters are already documented. The description only reinforces the node_ids source and the 'chosen frame' notion, and never mentions key_phrase, so it does little beyond the schema baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Makes) and precise resource (a 12-second, 8-scene film from chosen page parts), and ties node_ids to their source (ugcfans_get_capture). It explicitly differentiates itself from the sibling ugcfans_make_launch_film, so an agent can pick between them without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The contrast 'Unlike a launch film its page text stays as editable text, so ugcfans_set_film_words can change it' gives a real selection criterion against the launch-film sibling and names the downstream editing tool. It stops short of an explicit when-to-use/when-not statement, but the routing context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_make_speechSpeak a line in a saved voiceAInspect

Speaks a line or a saved script in a saved voice and returns a job whose result links the audio. Spends a few of the account's credits. Without a quote the call prices the line first and, when the pipeline can price it, makes it; a voice that cannot be priced ahead cannot be made here. A cloned voice needs its owner's recorded consent.

ParametersJSON Schema
NameRequiredDescriptionDefault
textNoThe words to speak.
quoteNoA quote for exactly this line, when you hold one.
speedNoHow fast, 0.5 to 1.5 (default 1).
voiceYesThe id of a saved voice, voice_...
scriptNoOr the id of a saved script to speak.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say this is non-read-only, non-idempotent, non-destructive. The description adds substantive behavior: it consumes account credits, it may price before making, it fails for unpriceable voices, and cloned voices require owner consent. That is meaningful disclosure beyond the structured hints, though job/polling semantics and failure modes remain thin.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense sentences with the core action front-loaded before the credit, pricing, and consent caveats. No filler, though the pricing sentence is compressed enough to require a second read.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully states that a job is returned and that the audio is linked from its result, and it flags the billing and consent requirements. It does not explain how to wait on or retrieve the job, which matters given the async job model shared across siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds behavior the schema does not: the quote parameter's role in skipping the pricing step and the consequence of omitting it, plus the constraint that an unpriceable voice cannot be rendered. It also implies text and script are alternate inputs rather than required together, which the schema leaves implicit.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Speaks a line or a saved script in a saved voice") and goes further to describe the return ("returns a job whose result links the audio"). Speech synthesis is clearly distinct from every sibling (make_video, make_ad, write_script, etc.), so an agent can route to it without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives real conditional guidance: without a quote it prices first, and voices that cannot be priced ahead cannot be made here, plus the consent prerequisite for cloned voices. It stops short of naming an alternative (e.g., ugcfans_estimate for pre-pricing, ugcfans_get_job/ugcfans_wait_job for result retrieval), so usage is implied rather than fully routed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_make_videoMake a video clipAInspect

Makes a video clip from a prompt, optionally beginning on a still, and returns a job; when it is done the result links the clip. Spends the account's credits per clip (ugcfans_list_models gives each model's price). Call ugcfans_estimate first and pass its quote; without a quote this returns the cost and makes nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesThe model id, from ugcfans_list_models.
quoteNoThe quote from ugcfans_estimate for exactly this request. Without it the call returns the estimate and makes nothing.
promptYesWhat happens, in words.
durationNoThe length in seconds, from the lengths the model offers.
resolutionNoThe resolution, such as 720p, when the model offers it.
start_imageNoA picture to begin on: the address of a library file, out/...
aspect_ratioNoThe frame, such as 9:16 or 16:9, when the model offers it.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (non-readOnly, non-idempotent, non-destructive), and the description adds material context: credits are spent per clip, the call returns a job rather than the finished clip, and omitting the quote downgrades the call to a cost estimate. It stops short of stating credit-refund or failure behavior, but the disclosed traits are substantial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with what it does, then the credit implication, then the hard prerequisite. No filler and every clause carries operational information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly explains the return value (a job whose completion links the clip) and the cost-only fallback path. For a 7-parameter, non-idempotent generation tool, nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents every parameter including the quote's 'exactly this request' semantics. The description reinforces the quote requirement and start_image usage but adds no syntax or format detail beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('makes a video clip from a prompt, optionally beginning on a still') and describes the async job contract plus the returned clip link. It is clearly distinguishable from sibling generators like ugcfans_make_image or ugcfans_make_ad.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly prescribes the workflow: call ugcfans_estimate first and pass its quote, otherwise the call only returns cost and makes nothing. It also points to ugcfans_list_models for per-model pricing, giving the agent both prerequisites and the right companion tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_read_referenceBreak down a reference videoAInspect

Reads a reference video of up to 3 minutes in the library and returns a job whose result is its breakdown: hook, structure, shots, pacing and look, with still frames, and none of its footage, sound or words. Spends a few of the account's credits. Using it confirms the person may study the file. Upload the video at https://ugc.fans/library first.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYesThe video's address in the library, out/...

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say readOnlyHint=false, idempotent=false, destructive=false. The description goes well beyond that: it discloses credit spend ('Spends a few of the account's credits'), the 3-minute length ceiling, the asynchronous job return shape, and crucially what is NOT returned (no footage, sound or words). That is exactly the extra behavioral context the annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but front-loaded: the core action and its output come first, then cost, then the prerequisite. Some sentences are clause-heavy, but every sentence carries information an agent needs, with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and only one required parameter, the description has to explain the return value itself, and it does: a job whose result is the breakdown. Combined with cost, length limit, and prerequisite disclosure, an agent has everything needed to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single 'source' parameter is fully documented in the schema, so the description need not re-explain it. The description only hints at the library-location concept via the upload URL. Baseline 3 applies since the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (reads a reference video from the library) and enumerates the actual deliverable: hook, structure, shots, pacing and look, with still frames. This clearly distinguishes it from siblings like ugcfans_transcribe or ugcfans_make_video, which produce footage, sound or words this tool explicitly does not.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a concrete prerequisite ('Upload the video at https://ugc.fans/library first') and a consent condition ('confirms the person may study the file'), which is real usage context. However, it never names an alternative tool or a when-not-to-use condition, so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_save_assetSave a brand, product, presenter or voiceAInspect

Saves a brand kit, a product, a generated presenter or a stock voice to the library for reuse in ads, and returns its id. Free. Only generated presenters (described in words, not a real person) and stock voices can be saved here: a real person's face or voice needs the consent the person records at https://ugc.fans/library. A new presenter has no picture until its portrait is drawn there.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNobrand and product: their web address.
kindYesWhat to save.
logoNobrand: the address of its logo, out/...
nameYesIts name.
toneNobrand: its voice, such as warm and plain.
brandNoproduct: the id of the brand it belongs to.
neverNobrand: words and claims its ads never use.
claimsNoproduct: claims an ad may make about it.
imagesNobrand and product: addresses of product pictures, out/...
paletteNo
productNobrand: what the brand sells.
taglineNobrand: its tagline.
languageNovoice: its language, as a tag such as en-US.
descriptionNoproduct: what it is. person: who the presenter is, drawn from these words.
call_to_actionNobrand: what an ad asks the viewer to do.
provider_voiceNovoice: the stock voice's name, from the speech models.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (write, non-destructive, non-idempotent, closed-world). The description adds genuine context beyond them: no cost ('Free'), an explicit return value ('returns its id'), a consent prerequisite, and a post-condition ('A new presenter has no picture until its portrait is drawn there'). It does not restate the non-idempotent behavior, but the added disclosure is substantive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with verb, resource and return value, then eligibility and the presenter/portrait caveat. Every sentence carries information, though the final sentence about the missing portrait is a slightly tangential detail that could be trimmed or merged.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 16-parameter, nested-object write tool with no output schema, the description supplies what the schema cannot: cost, the returned id, eligibility limits, and the consent prerequisite. Combined with 94% schema coverage, an agent has everything needed to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 94% and every parameter, including the nested palette, is already documented in-schema with per-kind applicability. The description only reinforces the presenter case ('described in words, not a real person'), adding little beyond what the schema says, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a precise verb+resource+outcome: 'Saves a brand kit, a product, a generated presenter or a stock voice to the library for reuse in ads, and returns its id.' The four kinds map exactly to the schema enum, so an agent can identify the tool and its scope without opening the schema, and it is clearly distinct from the make_* siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit eligibility rule with the reason: 'Only generated presenters ... and stock voices can be saved here: a real person's face or voice needs the consent the person records at https://ugc.fans/library.' This is a strong when/when-not statement, though it stops short of naming where the excluded case should go or naming any sibling alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_search_templatesSearch ad templates and formatsA
Read-onlyIdempotent
Inspect

Lists the ad templates, ad features and creation modes UGC Fans offers, each with its slug, name and a sentence on what it makes. Free, and needs no sign-in. A template slug goes into ugcfans_make_ad as template; a feature slug as feature.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoWords to look for in names and descriptions, such as "testimonial" or "product video". Leave out to list everything.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only/idempotent/safe behavior, and the description adds useful context: it is free, needs no sign-in (auth requirement disclosed), and returns slug/name/description per item. It does not mention pagination or result-size limits, which is the only gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with what is listed, then cost/auth, then how to consume the output. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by describing the return shape (slug, name, sentence on what it makes) and the downstream slug usage. For a single-param, read-only discovery tool this is fully sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single 'query' parameter is fully documented in-schema (including 'leave out to list everything'). The description adds nothing further about the parameter, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Lists) and resource (ad templates, ad features, creation modes) and even enumerates the fields of each entry (slug, name, one-sentence summary). No sibling tool overlaps this discovery role, so the agent can identify it immediately.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly frames the tool as the discovery step whose slugs feed 'ugcfans_make_ad as template' or 'as feature', giving the agent an explicit downstream use. It does not state when NOT to use it or enumerate alternatives, but none of the siblings compete for this job.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_set_film_wordsChange the words of a filmAInspect

Changes text in a film: every text layer whose words contain find gets replace, and the result is saved as a new revision; the earlier revision stays as it was. Films made by ugcfans_make_launch_film have no text layers, so nothing changes in them. Free of credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
filmYesThe film id.
revisionYesThe revision to edit.
replacementsYesPairs of words to find and what to put in their place, applied in order.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the write/non-destructive/idempotent profile, and the description adds real context on top: the edit produces a new revision while the earlier revision is left untouched (explaining why destructiveHint is false), matching is substring-based on text layers, and the call is free of credit cost. Cost and revision-persistence behavior are not derivable from the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, mutation scope front-loaded before the no-op caveat and the cost note. Every sentence carries information; the only drag is the slightly garbled 'gets replace' and an unexplained 'Free of credits' phrasing that could be stated more plainly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-required-param mutation tool with full schema coverage and no output schema, the description covers scope, persistence semantics, cost, and the no-op case. It never says what the call returns (e.g., the new revision identifier), which is the one detail an agent might need since there is no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents film, revision, and the find/replace pairs and their ordering. The description still adds matching semantics not in the schema — that 'find' matches text layers whose words contain it (substring, not exact) — which materially affects how an agent constructs the replacements array.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (change text in a film) and then sharpens scope: every text layer whose words contain 'find' gets replaced. It even distinguishes itself from the sibling ugcfans_make_launch_film by noting those films have no text layers, so an agent can tell them apart without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a clear when-not condition: films produced by ugcfans_make_launch_film are effectively no-ops for this tool. It also implies the operation is a non-in-place edit that yields a new revision. It does not name an alternative tool for other kinds of film edits, so it stops short of a full when/when-not/alternatives treatment.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_share_fileMake a link for a fileAInspect

Makes a link that opens one file of the library for anyone who holds it, without signing in. A link lasts 6 hours; a showcase page, which carries the Made with UGC Fans badge, lasts 30 days. Free. Anyone with the link can see the file until it expires.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNolink opens the file itself (default); showcase is a page that shows it.
pathYesThe file's address in the library, out/...

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say this is a non-destructive, non-idempotent mutation. The description goes well beyond that by disclosing the two expiry windows (6 hours vs 30 days), the Made with UGC Fans badge on showcase pages, that it is free, and that anyone holding the link can view the file without signing in. Public-exposure and lifetime details are exactly what an agent needs before sharing a file.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, front-loaded with the core action before the mode details. Efficient overall, though the final sentence partially restates the opening's 'opens for anyone who holds it' point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description should ideally say it returns a URL, which it does not. Otherwise it fully covers behavior, lifetime, and both parameters for this simple two-parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description earns above baseline by giving the `kind` choice real meaning - link = 6-hour direct file access, showcase = 30-day badged page - which the enum description alone does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Makes a link that opens one file of the library'. The purpose is unambiguous and the sharing scope is spelled out. It does not distinguish itself from any sibling tool, but the sibling set is mostly film/render operations so collision risk is low.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied through the link-vs-showcase durations rather than stated: an agent can infer 'use showcase for a longer-lived page' but there is no explicit when-to-use or when-not-to-use guidance, nor any named alternative. Adequate but leaves the selection rationale to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_transcribeTranscribe a clipAInspect

Writes out the words of an audio or video file in the library, up to 10 minutes long, with the built-in speech model, and returns a job; when it is done the result has the transcript id, its text, the language and the length. The transcript id feeds the captions operation of ugcfans_finish_clip. Free of credits. Upload footage at https://ugc.fans/library first, then find its address with ugcfans_list_files.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYesThe file's address in the library, out/...

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the non-read-only, non-idempotent profile, and the description adds genuinely useful context: the operation is asynchronous ('returns a job'), it is priced ('Free of credits'), it is capped at 10 minutes, and it enumerates the result fields (transcript id, text, language, length). It does not mention how to await the job despite siblings ugcfans_get_job and ugcfans_wait_job existing, which is the one notable gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Effectively two sentences, front-loaded with the action and constraints, then the cost and workflow hints. Dense but every clause carries information; the only slight awkwardness is a long compound first sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by describing the async job return and the eventual result fields. Combined with the prerequisite upload/discovery steps and the size limit, an agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and there is only one parameter, whose schema description ('The file's address in the library, out/...') matches the description's phrasing. The description repeats the library-address concept without adding syntax or format detail beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Writes out the words of an audio or video file in the library') with concrete scope (max 10 minutes, built-in speech model). It clearly distinguishes itself from adjacent tools by naming ugcfans_list_files as the way to obtain the input and ugcfans_finish_clip as the downstream consumer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit prerequisite workflow: upload to https://ugc.fans/library first, then resolve the address with ugcfans_list_files. It also tells the agent what to do with the result (transcript id feeds captions in ugcfans_finish_clip). It stops short of stating when transcription is unnecessary or naming an alternative transcription path, but as the only transcribe tool the routing need is low.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_wait_jobWait for a jobA
Read-onlyIdempotent
Inspect

Waits up to 45 seconds for a job to finish and reports where it stands, as ugcfans_get_job does. It returns as soon as the job ends. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobYesThe job id a tool returned, job_...
secondsNoHow long to wait at most, up to 45 (default 45).

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, idempotent, non-destructive semantics, so the bar is lower; the description still adds real value by disclosing the 45-second ceiling, the early-return behavior, and that the call costs nothing. It does not describe what a still-running job returns versus a finished one, but the core behavioral traits are covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with the key constraint (45s) front-loaded and the early-return rule immediately following. Slightly oblique phrasing ("as ugcfans_get_job does") and the trailing "Free." cost it a perfect score but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter polling tool with no output schema and full annotation coverage, the description supplies everything needed to invoke it correctly: the wait bound, the early-return semantics, and the equivalence to get_job's report. The only gap is not spelling out the shape of a still-running result, which is minor given the get_job reference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (job id and seconds) are already documented with type, range and default. The description echoes the 45-second cap and default but adds no format or edge-case detail beyond the schema, so it sits at the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (wait for a job) and scopes the behavior precisely: waits up to 45 seconds, returns early when the job ends. It explicitly differentiates itself from the sibling it most resembles, ugcfans_get_job, by framing the result as equivalent to that tool's output.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly conveys the context of use — blocking wait with a 45s cap that returns as soon as the job finishes — which implicitly tells the agent to prefer this over repeated get_job polling. It notes the tool is free, but there is no explicit when-not-to-use or named alternative to wait_job.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ugcfans_write_scriptWrite a script, hooks or a translationAInspect

Writes an ad script from a product or a web page, or, given a saved script, writes alternative opening hooks for it or translates it, and returns a job whose result holds the script. Spends a few of the account's credits. Give product or page_url to write a new script; give script with hooks (how many) or with translate_to (a language) to work on one.

ParametersJSON Schema
NameRequiredDescriptionDefault
angleNoThe angle or hook to take.
brandNoThe id of a saved brand whose voice to follow.
hooksNoWith script: how many alternative openings to write.
offerNoThe offer or call to action.
pointsNoPoints the script should make.
scriptNoThe id of a saved script to work on, from an earlier ugcfans_write_script.
productNoWhat is being sold, in a sentence or two.
secondsNoHow long the ad runs, 5 to 120 (default 30).
audienceNoWho the ad is for.
languageNoThe language to write in (default English).
page_urlNoA web page to read the product from, instead of product.
translate_toNoWith script: the language to translate it into.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark this as a non-read-only, non-idempotent operation, and the description adds two facts annotations cannot convey: it 'spends a few of the account's credits' and it returns a job whose result holds the script (implying the async get_job/wait_job pattern). It does not describe failure modes, rate limits, or what an in-progress job looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences with no filler; the core action and the credit cost are front-loaded and the parameter-conditioning guidance follows. Is slightly run-on but every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter, zero-required, multi-mode tool with no output schema, the description covers what matters: the mode-selecting parameters, the cost, and the fact that the return is a job holding the script. Nothing critical is missing, though a pointer to the job-retrieval sibling would have closed the loop.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage the individual parameters are fully documented, so the baseline would be 3. The description adds real semantic value by explaining that hooks and translate_to are mode selectors that only apply when script is supplied, a conditional relationship the flat schema cannot express.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (writes) and resource (ad script), and enumerates the three distinct modes: new script from product/page_url, alternative hooks from a saved script, and translation. It is clear enough that an agent knows what it will get back, though it does not name which sibling to prefer (e.g. ugcfans_make_ad) for overlapping ad-writing needs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly conditions the modes: 'Give product or page_url to write a new script; give script with hooks (how many) or with translate_to (a language) to work on one.' This tells the agent exactly which parameter combinations select which behavior. It stops short of saying when NOT to use this tool versus the other ad-making siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedugcfans_list_models1 field changed
      • changedInput schema / properties / kind / enum
        Previous value: -[
        -  "image",
        -  "video",
        -  "voice",
        -  "avatar"
        -]New value: +[
        +  "image",
        +  "video",
        +  "avatar"
        +]
  2. 26 tool updates
    • First observedugcfans_ad_to_film
    • First observedugcfans_cancel_job
    • First observedugcfans_capture_website
    • First observedugcfans_estimate
    • First observedugcfans_export_film
    • First observedugcfans_finish_clip
    • First observedugcfans_get_account
    • First observedugcfans_get_capture
    • First observedugcfans_get_job
    • First observedugcfans_list_files
    • First observedugcfans_list_models
    • First observedugcfans_make_ad
    • First observedugcfans_make_image
    • First observedugcfans_make_launch_film
    • First observedugcfans_make_performance
    • First observedugcfans_make_site_sting
    • First observedugcfans_make_speech
    • First observedugcfans_make_video
    • First observedugcfans_read_reference
    • First observedugcfans_save_asset
    • First observedugcfans_search_templates
    • First observedugcfans_set_film_words
    • First observedugcfans_share_file
    • First observedugcfans_transcribe
    • First observedugcfans_wait_job
    • First observedugcfans_write_script

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to generate on-brand visuals from ideas, URLs, documents, or PDFs in over 100 formats and 150+ languages, with consistent brand kits.
    11 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Generate AI UGC video ads from any product URL in 5 minutes. Realistic AI avatars, natural voiceover, proven ad templates. No actors, no editing, no experience required.
    65 npm
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Generate video from a prompt, from an image, or from up to thirty reference images, routed across the field of AI video models (Sora, Veo, Kling, Seedance, Hailuo, Wan and more). Quotes the credit cost before spending it and refunds a technical failure automatically.
    5
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.