Skip to main content
Glama

UnrealUGC MCP Server

npm CI

The official Model Context Protocol server for UnrealUGC. It gives MCP-compatible assistants eleven typed tools for browsing creators and models, estimating credit cost, and generating AI UGC video ads.

This repository contains only the public MCP adapter. The UnrealUGC application and backend remain private.

Prerequisites

  • Node.js 20 or newer

  • An UnrealUGC API key from Dashboard → Settings → API Keys

API keys start with usk_live_ and should be stored in your MCP client's environment settings, never committed to a repository.

Related MCP server: sahmk-mcp

Local stdio setup

You do not need to install the package globally. MCP clients can launch it with npx.

Claude Desktop

Add this server to your Claude Desktop configuration:

{
  "mcpServers": {
    "unrealugc": {
      "command": "npx",
      "args": ["-y", "@unrealugc/mcp"],
      "env": {
        "UNREALUGC_API_KEY": "usk_live_..."
      }
    }
  }
}

Claude Code

claude mcp add unrealugc --env UNREALUGC_API_KEY=usk_live_... -- npx -y @unrealugc/mcp

Codex

[mcp_servers.unrealugc]
command = "npx"
args = ["-y", "@unrealugc/mcp"]

[mcp_servers.unrealugc.env]
UNREALUGC_API_KEY = "usk_live_..."

Cursor, Windsurf, OpenClaw, and other stdio MCP clients use the same command and environment variable.

Hosted Streamable HTTP setup

Clients that support remote MCP can connect without running a local process:

URL: https://unrealugc.com/api/mcp
Authorization: Bearer usk_live_...

See the MCP setup guide for client-specific instructions.

Tools

Tool

Purpose

get_me

Confirm the account, plan, and balance behind an API key

get_credits

Read subscription and purchased credit pools

list_models

Browse available video models and capabilities

list_creators

Browse stock creators and custom avatars

list_voices

Browse stock and custom voices

list_projects

Find product and campaign projects

create_project

Create a project for related generations

list_videos

Browse generation history with filters and pagination

get_video

Poll a generation and retrieve its output URL

estimate_video_cost

Estimate credits from the script before spending

generate_video

Start an asynchronous video generation

generate_video supports native or selected voices, silent reaction/b-roll clips, per-scene visual directions, and parallel or sequential multi-clip generation.

Generation flow

  1. Call list_models and list_creators.

  2. Call estimate_video_cost with the proposed script.

  3. Check get_credits if budget matters.

  4. Call generate_video.

  5. Poll get_video about every 15 seconds, or use UnrealUGC webhooks for completion events.

Environment variables

Variable

Required

Default

UNREALUGC_API_KEY

Yes

UNREALUGC_BASE_URL

No

https://unrealugc.com

UNREALUGC_REQUEST_TIMEOUT_MS

No

30000

UNREALUGC_BASE_URL is intended for UnrealUGC development and staging environments.

Development

npm ci
npm run check
npm pack --dry-run

See CONTRIBUTING.md before opening a pull request. Security reports should follow SECURITY.md.

License

MIT © Next MVP Solutions LLC

Available Tools

11 tools
create_projectBInspect

Create a project to group videos for one product or campaign. Recommended when generating multiple related ads.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
productUrlNo
descriptionNo
productNameNo
productDescriptionNo

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are present, so the description must disclose behavioral traits. It only states the creation action, which is obvious from the name. Missing details on side effects, limits, authentication, or return value. Minimal value beyond the name.

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 with zero wasted words. Front-loads purpose immediately. Every sentence earns its place.

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

Completeness2/5

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

Given 5 parameters, no annotations, and no output schema, the description is too brief. It does not explain how to use parameters, what is returned, or any constraints. For a creation tool, this leaves significant gaps for an AI agent.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate by explaining parameters. It mentions grouping videos for a product/campaign but does not elaborate on any of the 5 parameters (name, productUrl, description, productName, productDescription). No added meaning beyond the raw 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?

Description clearly states the verb 'create' and resource 'project', specifies grouping videos for one product/campaign, and distinguishes from sibling tools like list_projects and generate_video by noting it's recommended when generating multiple related ads.

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 clear context by stating it is recommended when generating multiple related ads, implying a use case. Lacks explicit exclusions or alternatives, but siblings like generate_video suggest contrast.

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

estimate_video_costBInspect

Estimate the credit cost before generating. Video length is derived from script or scriptLength; durationSeconds is accepted only for backwards compatibility and is ignored.

ParametersJSON Schema
NameRequiredDescriptionDefault
scriptNo
presetSlugNoPreset slug instead of videoModel.
videoModelNoModel id returned by list_models.
voiceModelNo
scriptLengthNo
useNativeAudioNo
durationSecondsNoDeprecated and ignored; retained for backwards compatibility.

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It does not explicitly state that the tool is read-only, safe, or has no side effects. The phrase 'before generating' hints at non-destructive behavior, but it is not explicit. Missing details on auth needs, rate limits, or return behavior.

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, front-loaded with purpose, no redundancy. Every sentence adds value beyond the schema.

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

Completeness2/5

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

Given the complex input schema (allOf/oneOf/anyOf, 7 parameters, no output schema, no annotations), the description is insufficient. It does not explain the return value (credit estimate format), the constraints between parameters, or how to correctly satisfy the required groups. An agent would lack crucial information to invoke the tool 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 only 43%, so the description must compensate. It adds value by clarifying that video length is derived from script or scriptLength and that durationSeconds is ignored. However, it does not explain other parameters like voiceModel, useNativeAudio, or the relationship between presetSlug and videoModel, leaving gaps.

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 clearly states the verb 'Estimate' and resource 'credit cost', with the context 'before generating', which distinguishes it from sibling tools like generate_video. It also adds a specific detail about video length derivation, reinforcing purpose.

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 description provides guidance on parameter usage (video length from script/scriptLength, deprecation of durationSeconds) but does not explicitly state when to use this tool vs alternatives like get_credits or generate_video. Usage context is implied but not compared.

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

generate_videoAInspect

Start an asynchronous UGC video generation. Choose exactly one stock or custom creator. Poll get_video for completion after the request returns.

ParametersJSON Schema
NameRequiredDescriptionDefault
scenesNoOptional per-scene spoken lines and visual directions.
scriptYesVoiceover text when dialogue is true; visual direction when dialogue is false.
voiceIdNo
clipModeNoParallel is faster; sequential chains clips for visual continuity.
dialogueNoSet false for silent b-roll or reaction clips.
creatorIdNoStock creator id or slug.
projectIdNo
presetSlugNo
videoModelNo
voiceModelNo
aspectRatioNoFor example 9:16, 16:9, or 1:1.
productNameYes
useNativeAudioNo
customCreatorIdNoCustom creator id.
durationSecondsNoDeprecated and ignored; script length determines duration.
productImageUrlNo
productDescriptionNo

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries full responsibility. It does disclose the async behavior and polling requirement, which are critical. However, it omits other behavioral traits such as authorization needs (e.g., API key/credits), error handling, side effects (e.g., credit consumption), and the fact that the tool likely returns an ID for polling. The transparency is adequate but incomplete.

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 concise sentences (24 words) with no fluff. The first sentence front-loads the core action, and the second provides immediate next-step guidance. Every word earns its place. Excellent structure for quick comprehension.

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

Completeness2/5

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

Given the tool's complexity (17 parameters, nested scenes array, async behavior, no output schema), the description is underspecified. It fails to mention the expected return value (e.g., a video ID or job token to pass to get_video), prerequisites (e.g., creator must exist, credits sufficient), or error conditions. The agent is left without enough context to safely invoke and process the response.

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 47% (moderate). The description adds minimal parameter insight beyond 'choose exactly one stock or custom creator' (mapping to creatorId/customCreatorId). Key optional parameters (scenes, clipMode, dialogue, etc.) are not explained. The description does not compensate for the missing schema descriptions of the remaining 53% of parameters.

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 clearly states the tool's purpose: 'Start an asynchronous UGC video generation.' It specifies the key resource (video generation) and distinguishes from sibling tools like get_video (for polling) and estimate_video_cost (for cost estimation). The verb 'start' is action-specific and the mention of 'asynchronous' sets expectations. No 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?

Provides explicit guidance: 'Choose exactly one stock or custom creator' and 'Poll get_video for completion after the request returns.' This tells the agent when to use this tool (to initiate generation) and what to do next. However, it does not explicitly exclude alternative tools (e.g., use estimate_video_cost before generating), so it falls 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.

get_creditsAInspect

Get the current credit balance, split into subscription and purchased credit pools. Check this before starting a batch of video generations.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It reveals the tool is read-only and returns a balance split into two pools. However, it does not disclose the return format (e.g., object with fields), authentication requirements, or latency. The description is adequate but lacks detail about the response structure.

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 with no wasted words. The first sentence states the core function, and the second provides usage context. Every sentence earns its place.

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

Completeness3/5

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

Given the tool's simplicity (no parameters, no output schema), the description is mostly complete but lacks explicit definition of the return value structure. It implies an object with two pools but does not specify field names or types. For a tool with no output schema, this is a gap.

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?

There are no parameters, and schema coverage is 100% (vacuously). The description adds no parameter information, but none is needed. Baseline for 0-parameter tools is 4, and the description does not detract from that.

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 clearly states the tool's purpose: 'Get the current credit balance, split into subscription and purchased credit pools.' It uses specific verbs and resources, and the mention of checking before video generations distinguishes it from sibling tools like get_me or list_models.

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 description provides explicit guidance: 'Check this before starting a batch of video generations.' This tells the agent when to use the tool. It does not explicitly state when not to use it or name alternatives, but the context is clear for a simple read-only tool with no parameters.

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

get_meAInspect

Get the authenticated UnrealUGC account, current plan, subscription status, and credit balance. Use this to confirm which account the API key belongs to.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations provided, the description must fully disclose behavioral traits. It identifies the tool as a read operation (no side effects implied) and lists the returned data, but does not explicitly state it is non-destructive, idempotent, or safe to call repeatedly. The transparency is adequate but minimal.

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 concise sentences that front-load the primary function and give a practical usage tip. Every word adds value with no 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?

Given no output schema, the description adequately lists the main return items (account, plan, subscription status, credit balance). It is sufficient for an agent to understand what the tool provides, though a more explicit mention of the response structure or format would improve completeness.

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 has zero parameters, so the input schema is perfectly covered. Per guidelines, zero parameters warrant a baseline score of 4. The description adds no parameter info because none are needed.

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 clearly states it retrieves the authenticated account, plan, subscription status, and credit balance. It distinguishes itself from the sibling 'get_credits' by returning a broader set of account info, and includes a specific use case—confirming which account the API key belongs to.

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 description explicitly says to use this tool to confirm the account associated with the API key, providing a clear context. However, it does not explicitly compare with alternatives like 'get_credits' or state when not to use it, but the context is sufficient for an agent to choose appropriately.

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

get_videoAInspect

Get one video by id. Poll this while a generation is in progress; completed videos include an output URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description bears full burden. It discloses polling behavior and output readiness (output URL on completion), but does not state whether the operation is read-only or mention any side effects. Still, it covers the key behavioral patterns for an agent.

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, front-loaded sentences – the first states the core operation, the second adds essential usage context. No fluff.

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

Completeness3/5

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

Given the tool is simple (1 param, no output schema, no nested objects), the description is mostly adequate. However, it lacks any details about return format or error conditions, and the output URL mention leaves open questions about URL lifetime or accessibility. Slight gaps exist.

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 0%, so the description must compensate. It does not describe the meaning of the id parameter beyond 'by id', adding no format or source hints. Baseline for 0 params schema coverage with 1 param would be lower than 3, but the param is self-evident from the name and tool purpose, warranting a 3.

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 uses a specific verb-resource pair ('get one video by id') and clearly distinguishes from siblings like list_videos (for listing) and generate_video (for creation). The polling hint further clarifies its purpose as a status-checker for pending generations.

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?

The description explicitly says to poll this while generation is in progress, implying it should be called repeatedly for incomplete tasks. It also signals that once complete, the video is retrievable via an output URL, indicating when to stop polling.

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

list_creatorsAInspect

List stock AI creators and the authenticated account's custom avatars. Use include to return only stock or custom creators.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeNoOptionally return only stock or custom creators.

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description bears full responsibility. It correctly identifies the tool as a read-only list operation and mentions the filter behavior. However, it does not disclose potential pagination, authentication requirements beyond 'authenticated account,' rate limits, or expected output format. This is adequate for a simple list tool but lacks depth.

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?

The description is two crisp sentences with no superfluous wording. The purpose is stated first, and the parameter usage is immediately explained. Every word earns its place.

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

Completeness3/5

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

Given the tool's simplicity (one optional parameter, no output schema, no annotations), the description covers the core functionality. However, it omits any information about the return value structure, potential error cases, or empty results. For a list tool, the lack of output specification leaves a gap, making it merely adequate.

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% for the single parameter. The description repeats the schema's documentation ('Use include to return only stock or custom creators') without adding new meaning, such as the default behavior when the parameter is omitted. It meets the baseline but does not elaborate 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?

The description clearly states the tool lists 'stock AI creators and the authenticated account's custom avatars,' specifying both the verb (list) and the two types of resources. The optional 'include' parameter is explicitly described to filter results. This distinguishes it from sibling tools like list_models and list_voices which target different resource types.

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 description provides clear context on what the tool does and how to use the 'include' parameter. However, it offers no explicit guidance on when to use this tool versus alternatives (e.g., if another tool could also list creators), nor does it state when not to use it. The context is sufficient but lacks explicit exclusions or comparisons.

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

list_modelsAInspect

List available AI video models and their supported formats and audio capabilities. Pick a model id from this result before generating a video.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden of disclosure. It accurately describes a non-destructive listing operation and previews the result content (formats and audio capabilities). While it doesn't mention authentication or pagination, these are less critical for a simple list operation.

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?

The description is two concise sentences. The first states the core function, and the second provides actionable workflow guidance. No filler or redundancy exists.

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 zero-parameter, no-output-schema tool, the description is complete. It explains what will be returned (model list with formats and audio capabilities) and why to use it (before generating a video), giving the agent enough context to invoke and utilize the tool 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?

The tool has zero parameters and the schema coverage is 100%, so the baseline is 4. The description correctly does not introduce nonexistent parameters, and no additional parameter semantics are needed.

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 uses a specific verb ('List') and resource ('AI video models'), and explicitly mentions the contained information (supported formats and audio capabilities). This clearly differentiates it from sibling tools like list_voices or list_creators.

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 description provides clear context by instructing the agent to pick a model id from this result before generating a video, indicating the tool's role in the workflow. It does not explicitly name alternatives or exclusions, but the guidance is sufficient for selecting this tool when model information is needed.

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

list_projectsBInspect

List projects used to group videos by product or campaign. Use this to find an existing project before generating.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full transparency burden. It only states what the tool does (list projects) but does not disclose that it is read-only, what the output format is, potential errors, or pagination behavior. The agent lacks information about side effects or results.

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?

The description is two sentences, each serving a distinct purpose: stating the function and providing usage context. No unnecessary words, and the critical information is front-loaded.

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

Completeness2/5

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

Given the absence of an output schema and annotations, the description omits essential details: the structure of returned project objects (e.g., id, name), how the limit parameter affects results, and any behavioral traits. It barely meets the minimum for a list tool, lacking completeness for effective agent use.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not mention the single parameter 'limit' at all. The agent cannot infer what limit controls (e.g., max number of projects) from the description alone, leaving semantics entirely to the parameter name and constraints.

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 clearly states the verb 'List projects' and defines the resource as 'projects used to group videos by product or campaign.' It distinguishes from sibling tools like list_videos, list_models, and create_project by focusing on project listing.

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 description explicitly tells agents to use this tool 'to find an existing project before generating,' providing a clear use case. It implicitly distinguishes from create_project (creating vs. listing) but does not explicitly exclude other alternatives or mention when not to use it.

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

list_videosCInspect

List videos newest first. Filter by status or project and use the returned cursor for pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo
statusNo
projectIdNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so the description must fully convey behavior. It hints at pagination via the cursor but does not explain latency, whether the tool is read-only, or if results are cached. For a listing action with no other safety hints, this is insufficient.

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?

One sentence, front-loaded with ordering 'newest first', then filters and pagination hint. Every word earns its place.

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

Completeness2/5

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

Tool has 4 parameters, no output schema, and no annotations. With such complexity, the description must cover return structure and pagination behavior in more detail, e.g., how the cursor appears in the response.

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 0% (parameters have no descriptions), so the description must compensate. It mentions 'filter by status or project' but doesn't clarify which value of status maps to the enum, or whether projectId is optional. The cursor pagination is explained minimally.

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?

The description states the tool lists videos, orders them newest first, and clarifies filtering by status or project, which distinguishes it from siblings like get_video or list_models.

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

Usage Guidelines2/5

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

No guidance on when to use vs other listing tools (e.g., list_creators, list_projects). Does not mention whether filters can be combined or if projectId is required, leaving usage ambiguous.

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

list_voicesAInspect

List stock voices and the authenticated account's custom voices. Pick a voice id before generating without native model audio.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeNoOptionally return only stock or custom voices.

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It does not mention authentication requirements, rate limits, pagination, or response format. The tool is a read operation, but the description fails to clarify what exact data is returned (e.g., voice IDs, names, properties).

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 concise sentences with no filler. The first states the action, the second provides a usage hint. Every word earns its place.

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

Completeness2/5

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

The tool is simple but lacks an output schema. The description does not specify the structure of the return value (e.g., voice IDs, names, or metadata). It also omits details about default behavior when 'include' is omitted and whether results are paginated. For a list tool, this is a notable 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?

Schema coverage is 100% with the single 'include' parameter having a clear enum description. The description restates the stock/custom dichotomy but adds no new format, syntax, or constraints beyond the schema. 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?

The description clearly states it lists 'stock voices' and the 'authenticated account's custom voices', which is a specific verb+resource. It distinguishes itself from sibling tools like list_videos and list_projects by focusing on voices. The second sentence adds context for voice ID selection before generation.

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 description implies when to use this tool: 'before generating without native model audio' to pick a voice ID. This gives clear context. There are no alternative voice-related sibling tools, so no exclusions are needed. However, it does not explicitly state when not to use it.

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. Dates show when Glama detected each change.

  1. 11 tool updatesv1.0.0
    • First observedcreate_project
    • First observedestimate_video_cost
    • First observedgenerate_video
    • First observedget_credits
    • First observedget_me
    • First observedget_video
    • First observedlist_creators
    • First observedlist_models
    • First observedlist_projects
    • First observedlist_videos
    • First observedlist_voices

TDQS

A3.8/5.0

Scored across 11 tools

Disambiguation5/5

Each tool targets a distinct resource or action: account info, credits, resource listing (models, creators, voices, projects), project creation, video listing, single video retrieval, cost estimation, and video generation. No two tools have overlapping purposes.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case (e.g., get_me, list_models, create_project, generate_video). There is no mixing of conventions or confusing verb styles.

Tool Count5/5

With 11 tools, the server is well-scoped for a UGC video generation API. It covers account management, resource exploration, project management, and video lifecycle without being overwhelming or too sparse.

Completeness4/5

The tool set covers the primary workflow: authentication, credit checking, resource selection, project creation, cost estimation, video generation, and polling. Minor gaps include missing delete operations for projects and videos, and no ability to create or update custom creators/voices, but these are not critical for the core use case.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Official MCP server for PostIdentity - Generate AI-powered social media posts, threads, and replies from any MCP-compatible AI assistant with identity management and refinement capabilities.
    36
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Official MCP server for interacting with Saudi market data (Sahmk) via natural language queries, enabling stock quotes, company info, and market summaries inside AI agents like Cursor and Claude Desktop.
    15
    12
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Official MCP server for NanoCart, enabling AI agents to manage products, orders, coupons, categories, subscribers, settings, and pull sales reports from your store.
    31
    81
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/UnrealUGC/mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server