UGCmind MCP
Allows generating images via OpenAI-compatible image APIs as an alternative to UGCmind-hosted image generation.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@UGCmind MCPSearch the gallery for a cyberpunk city street at night"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
UGCmind MCP

Open-source MCP server and CLI for AI image and video generation through UGCmind. It lets Claude Code, Cursor, Codex, Windsurf, OpenClaw, Hermes Agent, and any MCP-compatible host search prompt inspiration, enhance rough ideas, submit image/video jobs, poll async project artifacts, and optionally use local ComfyUI or OpenAI-compatible image providers.
UGCmind stays the orchestration layer: the App owns auth, project scope, credits, model routing, provider configuration, asset storage, and generated artifacts. This MCP adapter exposes that runtime safely to local agent hosts.
Open-source scope
This repository contains the complete local MCP adapter: stdio server, CLI, host setup helpers, MCP tools/resources, optional local providers, tests, and plugin manifests. You can inspect it, run it from source, fork it, and contribute under the MIT License.
It does not contain the hosted UGCmind App backend, user data, provider credentials, billing logic, or private deployment configuration. UGCmind-hosted generation still calls the App API, where authentication, project ownership, credits, model policy, skill grants, and artifact persistence are enforced.
The boundary is intentional:
Claude / Codex / Cursor / other MCP host
│ stdio MCP
▼
ugcmind-mcp (this repo)
├─ public discovery and local helpers
├─ optional OpenAI-compatible / ComfyUI image providers
└─ authenticated UGCmind App Runtime calls
│
▼
auth · projects · credits · models · tasks · assetsSee Architecture, Contributing, Security, and Release process.
Related MCP server: nanobanana-mcp
Quick start
Requirements: Node.js 18 or newer and an MCP-compatible host. Prompt inspiration, capabilities, and the public model catalog do not require an account. UGCmind-hosted generation requires a user API key.
One-command host setup
Published npm releases support:
npx -y ugcmind-mcp@0.3.0 init cursor
npx -y ugcmind-mcp@0.3.0 init claude
npx -y ugcmind-mcp@0.3.0 init windsurf
npx -y ugcmind-mcp@0.3.0 init vscode
npx -y ugcmind-mcp@0.3.0 init rooThis installs a standard stdio MCP entry; it does not install UGCmind into the host itself. Restart the host after setup.
Claude Code
For read-only discovery:
claude mcp add --scope user ugcmind -- npx -y ugcmind-mcp@0.3.0For generation, keep the key in an environment variable and register it in the user-scoped MCP entry:
export UGCMIND_API_KEY=sk_...
claude mcp add --scope user \
-e UGCMIND_API_URL=https://ugcmind.com \
-e UGCMIND_API_KEY="$UGCMIND_API_KEY" \
ugcmind -- npx -y ugcmind-mcp@0.3.0Codex
For read-only discovery:
codex mcp add ugcmind -- npx -y ugcmind-mcp@0.3.0For generation:
export UGCMIND_API_KEY=sk_...
codex mcp add \
--env UGCMIND_API_URL=https://ugcmind.com \
--env UGCMIND_API_KEY="$UGCMIND_API_KEY" \
ugcmind -- npx -y ugcmind-mcp@0.3.0Run from source
Use this path for development or before the first npm release is available:
git clone https://github.com/keenocean/ugcmind-mcp.git
cd ugcmind-mcp
npm ci
npm test
npm run build
node bin/ugcmind-mcp.jsTo attach a source checkout to a host, replace npx -y ugcmind-mcp@0.3.0 in the examples above with node /absolute/path/to/ugcmind-mcp/bin/ugcmind-mcp.js.
What It Does
Tool | Provider config required | Purpose |
| No | Discover the live tool catalog, provider availability, access rules, resource URIs, and async task contract. |
| No | Search UGCmind prompt inspiration by query, category, type, model, and locale. |
| No | Fetch the full prompt and images for a selected inspiration entry. |
| No | Expand a short idea into a structured image prompt locally. |
| No | Show the public UGCmind image/video model catalog; authenticated calls may include project-specific overrides. |
| No | Store local MCP preferences such as style, aspect ratio, provider, and favorites. |
| Yes | Find available UGCmind skills that match the user's requested workflow. |
| Yes | Enable a selected skill and obtain its project-scoped tool grant before execution. |
| Yes | Generate through UGCmind App Runtime, OpenAI-compatible image APIs, or local ComfyUI workflows. |
| Yes | Submit a UGCmind video generation task. |
| Yes | Poll queued or running UGCmind Tool Runtime tasks. |
| Local only | Import, view, modify, list, and delete local ComfyUI workflow templates for |
No API key is needed for inspiration. Read-only prompt inspiration, local prompt enhancement, local preferences, and the public model catalog work against https://ugcmind.com. UGCmind-hosted image/video generation requires UGCMIND_API_KEY; image generation can alternatively use OPENAI_API_KEY or local ComfyUI.
Skill-aware workflows
UGCmind skills remain ordinary, individually installable Agent Skills. They all use this same MCP server; users do not need a second installer, a skill-specific MCP, or a custom invocation protocol.
For skill-driven work, the agent first calls find_skill when discovery is needed, then calls run_skill for the selected skill. run_skill returns a scoped grant/run descriptor, and the MCP client automatically carries that descriptor into the permitted concrete tools. Direct calls to these tools are rejected until the matching skill is active:
Research and assets:
web_fetch,create_file_by_url,search_project_assets,read_project_asset,prepare_reference_asset,search_ugc_actors.Creative production:
visual_design_task,video_generation,music_generation,speech_generation.Documents and media:
transcribe_media,write_free_doc,create_voice_profile.
This preserves the same project ownership, skill grants, billing, task queue, and artifact persistence used by UGCmind itself.
Capability and resource discovery
Third-party agents can inspect the current integration instead of relying on a hardcoded tool list:
Call
ugcmind_capabilitieswithview: "overview","discovery","skills","generation","providers", or"all".Read
ugcmind://capabilitiesfor the full machine-readable catalog.Read
ugcmind://modelsfor the current public or project-aware model catalog.Discover prompt inspiration through
search_galleryandget_inspiration.Discover UGC actors, project assets, and brand assets through the paths returned by
ugcmind_capabilities. These project-aware reads deliberately remain behindrun_skill; the resource layer does not bypass project ownership or skill grants.
Every App-backed asynchronous result exposes the same agent-facing fields while preserving the original App response: taskId and toolTaskId aliases, normalized status, nextAction, statusTool, and statusUrl. Provider-specific values remain available as providerStatus and runtimeNextAction. Agents poll statusTool; users may open statusUrl to inspect the project.
UGCmind Prompt Library
UGCmind includes a public prompt inspiration library for visual creation. The MCP server can search it before generation so agents do not have to start from a blank prompt.
Prompt Library entries may include:
A reusable full prompt or prompt template.
Preview images or media URLs.
Category, modality, model, and locale metadata.
Scores and sorting signals for relevance, quality, or freshness.
A stable id or slug that can be passed to
get_inspiration.
Use search_gallery to discover matching examples:
Find UGCmind prompt inspiration for luxury skincare product photography.Use get_inspiration when the user picks a result and needs the full prompt, images, and metadata:
Get the full prompt for the second inspiration result and adapt it for a coffee brand.The prompt library is served by UGCmind APIs. It is not bundled into the npm package, so the package stays small and the library can update independently.
Installation details
One-command setup without installing the package:
npx ugcmind-mcp init cursor
npx ugcmind-mcp init claude
npx ugcmind-mcp init windsurf
npx ugcmind-mcp init vscode
npx ugcmind-mcp init rooThe npm package is ugcmind-mcp, and it exposes the shorter ugcmind command. After a global install, you can use the short command directly:
npm install -g ugcmind-mcp
ugcmind init cursor
ugcmind init claudeOr add this server to your MCP host configuration manually:
{
"mcpServers": {
"ugcmind": {
"command": "npx",
"args": ["-y", "ugcmind-mcp@0.3.0"],
"env": {
"UGCMIND_API_URL": "https://ugcmind.com",
"UGCMIND_API_KEY": "sk_..."
}
}
}
}For read-only inspiration search, you may omit UGCMIND_API_KEY:
{
"mcpServers": {
"ugcmind": {
"command": "npx",
"args": ["-y", "ugcmind-mcp@0.3.0"],
"env": {
"UGCMIND_API_URL": "https://ugcmind.com"
}
}
}
}Restart your MCP host after changing its configuration.
Standalone CLI
Use the standalone CLI when you want one-shot image generation from a shell or script without opening an MCP host:
export UGCMIND_API_KEY=sk_...
# No install:
npx ugcmind-mcp gen --prompt "a ceramic coffee dripper product photo" --ratio 1:1
npx ugcmind-mcp gen -p "luxury perfume campaign" -m seedream --json
npx ugcmind-mcp gen -p "poster design" --reference https://example.com/ref.png --no-wait
# After `npm install -g ugcmind-mcp`:
ugcmind gen --prompt "a ceramic coffee dripper product photo" --ratio 1:1ugcmind gen uses UGCmind App Runtime only. OpenAI-compatible and ComfyUI provider modes are available through the MCP generate_image tool.
Get An API Key
Sign in at
https://ugcmind.com.Open
Settings.Go to
API Keys.Click
Create Key.Name it, for example
Claude MCPorUGCmind MCP.Copy the generated
sk_...key immediately.
The full key is shown only once. If you lose it, delete that key and create a new one.
Configuration
Environment variables:
export UGCMIND_API_URL=https://ugcmind.com
export UGCMIND_API_KEY=sk_...
export UGCMIND_LOCALE=en
# Optional image-only providers
export OPENAI_API_KEY=...
export OPENAI_BASE_URL=https://api.openai.com
export OPENAI_MODEL=gpt-image-2
export COMFYUI_URL=http://localhost:8188Equivalent config file:
{
"ugcmindApiUrl": "https://ugcmind.com",
"ugcmindApiKey": "sk_...",
"ugcmindLocale": "en",
"openaiApiKey": "...",
"openaiBaseUrl": "https://api.openai.com",
"openaiModel": "gpt-image-2",
"comfyuiUrl": "http://localhost:8188",
"comfyuiDefaultWorkflow": "default"
}Config path:
~/.config/ugcmind-mcp/config.jsonAdvanced internal deployments may also provide UGCMIND_USER_ID, UGCMIND_PROJECT_ID, and UGCMIND_CHAT_ID, but normal open-source usage should use only UGCMIND_API_URL and UGCMIND_API_KEY.
Provider Modes
generate_image supports three provider modes:
provider: "ugcmind": default whenUGCMIND_API_KEYis configured. Jobs run in UGCmind App Runtime with credits, model policy, project assets, and artifact storage.provider: "openai": usesOPENAI_API_KEY,OPENAI_BASE_URL, andOPENAI_MODELagainst an OpenAI-compatible/v1/images/generationsendpoint. Results are saved locally.provider: "comfyui": uses local ComfyUI. Import a workflow JSON first withcomfyui_workflow import; results are saved locally.
Video generation and get_tool_task_status are UGCmind App Runtime features and require UGCMIND_API_KEY.
Usage Examples
Search inspiration without an API key:
Find image prompt inspiration for a cyberpunk perfume bottle campaign.List current image/video models:
What image and video models are available in UGCmind?Generate an image with an API key:
Generate a 1:1 premium product photo of a ceramic coffee dripper on a warm stone countertop.Generate a video with an API key:
Generate a 5 second vertical video of ocean waves crashing against black volcanic rocks.Poll async work:
Check the status of tool task <toolTaskId>.Expected agent workflow:
Search inspiration first when the brief is broad or exploratory.
Enhance short prompts locally when useful.
Submit one generation task.
If the task is queued or running, call
get_tool_task_statusinstead of submitting again.Report the exact task id, status, artifact URLs, and App messages returned by the tool.
Runtime Notes
ugcmind_capabilities,search_gallery,get_inspiration,list_models,enhance_prompt, andmanage_preferenceswork without an API key.generate_imagedefaults to UGCmind App Runtime, but can useprovider: "openai"orprovider: "comfyui"when configured.generate_videosubmits UGCmind Tool Runtime tasks. If a task is queued or running, poll withget_tool_task_statusinstead of resubmitting.The App validates project/chat ownership, credits, model availability, provider policy, and project asset access server-side for UGCmind-hosted jobs.
Local reference file upload to UGCmind is intentionally not implemented. Use public URLs or UGCmind project assets for UGCmind/OpenAI-compatible providers. ComfyUI can read local reference paths when the workflow has LoadImage nodes.
Model availability is controlled by the UGCmind App. Do not hardcode model assumptions in host prompts; call
list_modelsor use App defaults.
Troubleshooting
Problem | Fix |
MCP tools are not visible | Restart the host after adding the MCP config. |
Inspiration works but generation fails | Check |
Task is queued or running | Call |
Reference image is a local path | Use ComfyUI with a LoadImage workflow, or upload it to UGCmind first and use a URL/project asset. |
ComfyUI is not available | Start ComfyUI, set |
Model choices are unclear | Call |
The API key was lost after creation | Create a new key in UGCmind Settings. Full API keys are only shown once. |
Development
npm ci
npm test
npm run typecheck
npm run build
npm pack --dry-runRun the local server:
npm run build
node bin/ugcmind-mcp.jsTests do not require a real UGCmind API key. Live App smoke testing must use a non-production account and sanitized project data. Before opening a pull request, read CONTRIBUTING.md.
Project status and support
Source repository: github.com/keenocean/ugcmind-mcp
Issues and feature requests: GitHub Issues
Changelog: CHANGELOG.md
Roadmap: ROADMAP.md
Security reports: follow SECURITY.md; do not disclose vulnerabilities in a public issue.
If npm returns
E404, that version has not been published yet. Run from source until the release appears in the npm registry.
License
MIT. See LICENSE and NOTICE.md for attribution and third-party notices.
Available Tools
25 toolscomfyui_workflowADestructive
Manage ComfyUI workflow templates: list, view parameters, import from file, modify settings, or delete.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Workflow name. Required for view/modify/delete. For import, used as the save name (defaults to filename). | |
| input | No | Input field name to modify (for modify action). E.g. "steps", "cfg", "sampler_name", "ckpt_name". | |
| value | No | New value as JSON (for modify action). Examples: "30", "\"euler\"", "7.5", "true". | |
| action | Yes | Action to perform on ComfyUI workflows | |
| nodeId | No | Node ID to modify (for modify action). Use "view" action first to see available node IDs. | |
| filePath | No | Path to a ComfyUI API-format workflow JSON file (for import action). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructive action (destructiveHint=true, readOnlyHint=false), and the description's action list is consistent with that. However, the description adds no extra behavioral details such as permanence of deletion, side effects of modification, or output format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the primary verb and lists all supported actions without fluff. It is appropriately sized for the tool's scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a complex multi-action interface with no output schema, and the description does not mention what actions return (e.g., whether view returns the workflow JSON or list returns names). While the param descriptions are thorough, the lack of output/return info leaves a gap for agents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage with detailed descriptions for all six parameters, including the enum for action and examples for modify values. The description itself adds no parameter semantics beyond the schema, so baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool manages ComfyUI workflow templates and enumerates the five supported actions (list, view, import, modify, delete). This distinguishes it from sibling tools focused on generation or search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for workflow template management but does not explicitly state when to use this tool over alternatives, nor does it mention any prerequisites or exclusions. However, the action list provides clear context for when each action is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_file_by_urlA
Materialize a public URL as a current-project asset. Use the returned asset id in later media calls. Call run_skill first. This tool rejects direct calls without the active skill grant/run descriptor.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) URL to materialize into the current project. | |
| title | No | ||
| purpose | No | ||
| groupName | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a key behavioral trait: the tool rejects direct calls without an active skill grant/run descriptor, which is not captured in annotations. It also reveals that it returns an asset id for later use. Annotations only indicate non-read-only/non-destructive, so this additional behavioral context is valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences, each adding distinct value: what it does, how to use the output, and a prerequisite/restriction. There is no filler, and the main purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters and no output schema, the description covers the core action, the return value (asset id), and a critical prerequisite. It omits details on optional parameters and failure behavior, but the provided annotations and straightforward purpose keep it reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% (only url has a description). The tool description does not explain the purpose of title, purpose, or groupName, and it merely restates the url's schema description. With low schema coverage, the description was expected to compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool materializes a public URL into a current-project asset, using a specific verb and resource. It distinguishes itself from siblings by mentioning the returned asset id for later media calls and by referencing the run_skill prerequisite, making its role unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs calling run_skill first and warns that direct calls are rejected without the skill grant, giving a clear precondition. It also indicates the tool's output is used in later media calls, providing context. It does not explicitly name alternative tools like web_fetch, but the usage context is well-defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_voice_profileA
Create a reusable project voice profile from 1-3 authorized project audio samples. Call run_skill first. This tool rejects direct calls without the active skill grant/run descriptor.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| language | No | ||
| description | No | ||
| displayName | Yes | ||
| voicePrompt | No | ||
| idempotencyKey | No | ||
| sampleAssetIds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a write operation (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds behavioral context: it requires an active skill grant/run descriptor and rejects direct calls, and it requires 1-3 authorized audio samples. This goes beyond the annotations and informs the agent of preconditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and includes a critical prerequisite. Every word contributes; no wasted content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives the essential purpose and a key precondition, but with seven parameters and no output schema, it lacks details on return values, error cases, and the role of optional parameters. It is adequate but not fully complete for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It clarifies sampleAssetIds as '1-3 authorized project audio samples' but does not explain the other six parameters like language, voicePrompt, idempotencyKey, tags, etc. This leaves significant ambiguity for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Create a reusable project voice profile from 1-3 authorized project audio samples.' It uses a specific verb 'create' with a clear object and source constraint, distinguishing it from siblings like run_skill.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: 'Call run_skill first' and 'This tool rejects direct calls without the active skill grant/run descriptor.' This tells the agent when to use the tool (after run_skill) and when not to (direct calls without grant). It doesn't mention alternatives, but the sequential dependency is clearly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enhance_promptARead-only
Transform a simple idea into a professional image generation prompt. Use when the user provides a brief description (e.g., "a cat in a garden") and needs a detailed, high-quality prompt. Combine with gallery inspiration for best results. Free, no API key needed.
| Name | Required | Description | Default |
|---|---|---|---|
| style | No | Target visual style: realistic (photorealistic), anime (2D/Japanese), or illustration (concept art). Use the style that matches the user intent; the UGCmind App decides the final model. | realistic |
| prompt | Yes | The simple prompt to enhance (e.g., "a cat in a garden") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true already signals a safe read-only operation, lowering the burden on the description. The description adds useful operational context ('Free, no API key needed') but doesn't disclose return format or side effects. With the annotation covering safety, this is adequate but not exceptional.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three focused sentences: purpose, when to use, and an extra tip with operational info. Every sentence earns its place, and the key purpose is front-loaded. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description provides essential context: what it does, when to use it, and a workflow suggestion. It doesn't explain the return format, but that is expected and covered by the schema's name and purpose. Slight gap on output specifics, but overall complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'prompt' and 'style' already well-documented. The description's example for prompt adds no additional meaning beyond the schema's example. No info about style is mentioned in the description, so it does not compensate beyond the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource ('Transform a simple idea into a professional image generation prompt'), clearly distinguishing the tool from image generation or inspiration siblings. The example ('a cat in a garden') reinforces the concrete function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use the tool: 'Use when the user provides a brief description... and needs a detailed, high-quality prompt.' It also suggests combining with gallery inspiration, giving workflow context. It lacks explicit 'when not to use' or named alternatives, which prevents a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_skillARead-only
Find an App-managed skill for the current task. Use this before run_skill when the user intent requires a specialized App skill.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Search mode. Use recommend when choosing a skill for execution. | |
| limit | No | ||
| scope | No | Skill catalog scope. Defaults to all. | |
| intent | Yes | Natural-language task intent or user request. | |
| locale | No | Preferred response locale. | |
| capability | No | Optional capability alias accepted by the App search endpoint. | |
| outputCapability | No | Optional normalized desired output capability, when known, such as presentation_generation. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, so the safety profile is already covered. The description adds valuable context by indicating this is a pre-execution discovery step ('Use this before run_skill') and that the skill must be 'App-managed', but it does not describe output format or behavior when no skill is found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the verb and resource; the second sentence provides actionable sequencing guidance. Every word earns its place, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters, annotations, and high schema coverage, the description provides enough context for a discovery tool: it states what it finds, for whom, and when to use it. The lack of output schema is partially mitigated by the clear relationship to run_skill, but a brief mention of the return value (e.g., skill ID) would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 86% with descriptions for mode, scope, intent, capability, and outputCapability, so the baseline is 3. The description adds minimal parameter nuance beyond linking 'intent' to 'user intent' in the usage sentence, so it does not exceed the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Find' with the resource 'App-managed skill' and scopes it to 'the current task', clearly stating its function. It differentiates from sibling run_skill by positioning this as a lookup step: 'Use this before run_skill'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use this before run_skill, and specifies the condition: 'when the user intent requires a specialized App skill.' This provides clear when-to-use guidance and points to the alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_imageADestructive
Generate an image. Supports UGCmind App Runtime, local ComfyUI workflows, or OpenAI-compatible image APIs. UGCmind remains the default when UGCMIND_API_KEY is configured.
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | Image size for OpenAI-compatible providers, for example "1024x1024", "1536x1024", or "auto". | |
| model | No | Model id. For UGCmind, use list_models or App UI. For OpenAI-compatible providers, use any model your endpoint supports. | |
| prompt | Yes | The image generation prompt. | |
| quality | No | Provider-specific quality hint passed through to the selected runtime. | |
| fileName | No | Desired UGCmind artifact filename. Defaults to generated-image.png. | |
| provider | No | Generation provider. Defaults to UGCmind when UGCMIND_API_KEY is configured; otherwise ComfyUI workflow, then OpenAI-compatible. | |
| workflow | No | ComfyUI workflow name to use. Manage workflows with the comfyui_workflow tool. | |
| resolution | No | Provider-specific resolution hint passed through to the selected runtime. | |
| aspectRatio | No | Aspect ratio for UGCmind App Runtime, for example "1:1", "16:9", "9:16", "4:3", or "auto". | |
| modelOptionId | No | UGCmind Tool Runtime model option id. Omit to use the App/project default. | |
| referenceImages | No | Reference images. UGCmind/OpenAI-compatible providers accept public URLs. ComfyUI accepts public URLs or local file paths when the workflow has LoadImage nodes. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and readOnlyHint=false, and the description does not contradict these. It adds useful behavioral context about provider support and default selection, but does not disclose potential side effects like file overwriting, output location, or cost implications, which would be relevant given the destructive hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exactly two sentences, front-loaded with 'Generate an image.' The second sentence adds key provider information. There is zero waste, and it is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 11 parameters and no output schema, the description is very brief. It does not explain what the tool returns (e.g., an image URL or file path), whether it saves files, or any provider-specific nuances beyond defaults. Given the tool's complexity, the description is insufficient for the agent to fully understand invocation results and side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with descriptions, so the baseline is 3. The tool description does not add additional parameter-level meaning beyond what is already in the schema; it only restates the provider default, which is also in the provider parameter description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Generate an image,' a specific verb+resource pair that clearly identifies the tool's function. It also distinguishes it from sibling tools like video_generation and speech_generation by focusing solely on image generation, and the mention of three supported providers adds specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context about when to use the tool (when generating images) and describes provider selection behavior (UGCMind default when configured). However, it does not explicitly state when not to use it or compare alternatives, such as if another tool would be better for a different image-related task.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_videoADestructive
Generate a video through the UGCmind App Tool Runtime. Video jobs are asynchronous; if queued/running, call get_tool_task_status rather than submitting again.
| Name | Required | Description | Default |
|---|---|---|---|
| wait | No | Ask the App route to wait briefly for completion when supported. Defaults to true. | |
| model | No | Alias for modelOptionId. Do not invent this value; use list_models or App UI. | |
| prompt | Yes | The video generation prompt. Describe motion, camera, pacing, and scene. | |
| duration | No | Duration in seconds. Defaults to 5. | |
| fileName | No | Desired artifact filename. Defaults to generated-video.mp4. | |
| lastFrame | No | Optional public image URL for the end frame, when supported by the selected model. | |
| firstFrame | No | Public image URL for image-to-video first frame. Local paths are not supported by this MCP adapter. | |
| aspectRatio | No | Aspect ratio, for example "16:9", "9:16", or "1:1". | |
| modelOptionId | No | UGCmind Tool Runtime video model option id. Omit to use the App/project default. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false. The description adds valuable context by disclosing that video jobs are asynchronous and warning against duplicate submission. This is useful operational behavior not captured in the annotations. No contradiction found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The first sentence front-loads the core action, and the second delivers essential async guidance. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 9 parameters, no output schema, and async behavior, the description provides crucial context (async, status polling) but omits what the response contains or how the final video is retrieved. It is not fully complete for such a complex tool, though the rich parameter schema compensates somewhat.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with all nine parameters fully documented including defaults and constraints. The description itself adds no parameter-level details beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's primary action: 'Generate a video through the UGCmind App Tool Runtime.' It uses a specific verb and resource, making the purpose unambiguous. However, it does not explicitly differentiate from the sibling tool 'video_generation', so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance for the asynchronous case: 'if queued/running, call get_tool_task_status rather than submitting again.' This names a specific alternative and tells the agent when not to resubmit. It does not, however, explain when to prefer this tool over the 'video_generation' sibling, which prevents a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_inspirationARead-only
Get the full prompt, media URLs, model/type metadata, and next-action hints for one UGCmind prompt library entry.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | Locale for returned prompt text. | |
| imageId | Yes | Prompt id or slug from search_gallery results. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds value by enumerating the returned content (prompt, media URLs, metadata, next-action hints), which helps set expectations for a read-only retrieval call. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, directly states the operation and outcomes. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with a well-documented schema and read-only annotation, the description sufficiently explains purpose and return content. Without an output schema, the enumerated return fields provide adequate context; minor ambiguity about 'next-action hints' is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both locale and imageId already documented. The description adds no further parameter-level semantics beyond the general return contents, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a concrete action (Get) and identifies the resource (one UGCmind prompt library entry) plus the exact data returned. This clearly distinguishes it from search_gallery which lists entries rather than retrieving full detail for a single one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool or contrast it with siblings. The imageId parameter's schema reference to 'search_gallery results' implies the intended workflow, but this guidance is not in the description itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tool_task_statusARead-only
Check the latest status and artifacts for a UGCmind Tool Runtime task. Use this after generate_image/generate_video returns queued or running.
| Name | Required | Description | Default |
|---|---|---|---|
| toolTaskId | Yes | Tool task id returned by generate_image or generate_video. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only. The description adds value by clarifying this is for polling asynchronous tasks that returned queued/running and that it returns status and artifacts. It does not describe the output structure in detail, but the mention of 'status and artifacts' provides a helpful overview beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first states the purpose, the second states when to use it. There is no filler or redundancy, and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the one-parameter input, read-only annotation, and no output schema, the description covers the essential usage scenario well. The mention of 'status and artifacts' gives a sufficient sense of the return value, though it does not go into error cases or polling behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully describes the single parameter 'toolTaskId' with the same source context ('returned by generate_image or generate_video'). The description repeats that context but does not add further parameter-level semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Check' and names the resource 'UGCmind Tool Runtime task' along with what is checked: 'latest status and artifacts'. It clearly differentiates from sibling generation tools by framing this as the follow-up status check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'Use this after generate_image/generate_video returns queued or running.' This provides a clear trigger condition. However, it does not mention alternatives or situations to avoid, so it does not earn a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_modelsARead-only
List UGCmind image/video generation model options from the App public model catalog. With UGCMIND_API_KEY, project-specific overrides may also be included.
| Name | Required | Description | Default |
|---|---|---|---|
| activeOnly | No | Reserved for compatibility. UGCmind App currently returns active model options only. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already indicates a safe read operation. The description adds valuable behavioral context: the source is the App public model catalog, and with UGCMIND_API_KEY, project-specific overrides may be included, which can affect results. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the core purpose and add a relevant caveat. Every word earns its place, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with one optional parameter and no output schema, the description is sufficiently complete. It states what is listed and the API key influence. A minor gap is not specifying whether the return includes identifiers or how to use them in generation calls, but this is not critical for basic selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, as the only parameter (activeOnly) is already documented with its purpose and current behavior. The description adds nothing about parameter syntax or meaning, but the schema handles it fully, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and identifies the resource ('UGCmind image/video generation model options from the App public model catalog'). It clearly differentiates this tool from sibling generation tools like generate_image and video_generation by focusing on listing model options rather than generating content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for querying available models before generation, and notes that an API key may include project-specific overrides. However, it does not explicitly state when to use this tool versus alternatives, nor does it mention exclusions or prerequisites beyond the API key.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_preferencesA
Read or update user preferences: default style, aspect ratio, model, style notes, and favorite prompts. Call with action "get" at conversation start to load preferences.
| Name | Required | Description | Default |
|---|---|---|---|
| index | No | remove_favorite: 0-based index of the favorite to remove | |
| model | No | set: preferred default UGCmind model option id or model label | |
| style | No | set: preferred default style (e.g. "realistic", "anime", "illustration") | |
| action | Yes | Action to perform: "get" reads all preferences, "set" updates defaults/styleNotes, "add_favorite" saves a prompt, "remove_favorite" removes by index | |
| prompt | No | add_favorite: the prompt text to save | |
| provider | No | set: preferred default provider: ugcmind, openai, or comfyui. | |
| styleNotes | No | set: free-text style notes (e.g. "cinematic lighting, shallow DOF, brand colors #1A1A2E") | |
| aspectRatio | No | set: preferred default aspect ratio. Use "auto" to let the UGCmind App choose, or pin a value like "16:9", "1:1", "9:16". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=false is consistent with the description's "Read or update" framing, so no contradiction. The description adds the useful behavioral note about calling "get" at conversation start, but it does not disclose side effects of "set", "add_favorite", or "remove_favorite" such as overwriting preferences or permanently deleting favorites. These details are partly in the schema but not in the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the main purpose and a clear usage instruction. Every word contributes value; no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 4 actions and 8 parameters, but the description does not mention the add_favorite or remove_favorite actions explicitly, nor does it describe the output shape of a "get" call. The schema fills in parameter details, but the description alone is only minimally complete for a multi-action preference tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter is already documented with action-specific semantics. The description only enumerates preference categories (style, aspect ratio, model, etc.) and does not add new meaning beyond the schema. This meets the baseline for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads or updates user preferences and lists the specific preference fields (default style, aspect ratio, model, style notes, favorite prompts). This specific verb+resource combination differentiates it from the sibling tools, which are mostly generation or asset tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage context: call with action "get" at conversation start to load preferences. It does not explicitly mention when not to use the tool or alternatives, but the context is clear and sufficient given the tool's unique role among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
music_generationA
Generate a project music asset through the UGCmind Tool Runtime. Call run_skill first. This tool rejects direct calls without the active skill grant/run descriptor. If the result is queued or running, do not submit it again; return the task id and stop the turn.
| Name | Required | Description | Default |
|---|---|---|---|
| style | No | ||
| title | No | ||
| prompt | Yes | ||
| customMode | No | ||
| audioWeight | No | ||
| styleWeight | No | ||
| vocalGender | No | ||
| instrumental | No | ||
| negativeTags | No | ||
| model_option_id | No | Optional model option id supplied by the UGCmind runtime. Do not invent it. | |
| weirdnessConstraint | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations offer no safety hints (readOnlyHint=false, destructiveHint=false), so the description carries the burden. It discloses the rejection mechanism without a skill grant and the asynchronous behavior ('If the result is queued or running, do not submit it again; return the task id and stop the turn'), adding value beyond the structured fields. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each with a distinct purpose: stating the function, imposing a prerequisite, and giving task-handling instruction. No filler or redundancy. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (11 parameters, no output schema, no annotation detail), the description is sparse. It does not mention return values, parameter meanings, error handling, or how to construct a valid prompt. The task-id guidance is helpful but insufficient for a production-grade tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 9%, with just one parameter (model_option_id) having a description. The tool description does not explain any of the 11 parameters (e.g., prompt, style, title), leaving the agent without semantic guidance. This is a critical gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Generate a project music asset through the UGCmind Tool Runtime.' The verb 'Generate' and resource 'project music asset' are specific, and the tool name and mention of 'music' distinguish it from image/video/speech generation siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit prerequisites and constraints: 'Call run_skill first' and 'rejects direct calls without the active skill grant/run descriptor.' Also advises handling queued/running results by not resubmitting and returning the task id. This gives clear context for when to invoke the tool, though it does not directly compare to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_reference_assetA
Create reusable project-scoped reference metadata from existing project assets. Call run_skill first. This tool rejects direct calls without the active skill grant/run descriptor.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | ||
| traits | No | ||
| displayName | No | ||
| negativePrompt | No | ||
| primaryAssetId | No | A UGCmind project asset id. Raw URLs and local paths are not accepted. | |
| promptFragment | No | ||
| sourceAssetIds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint=false, destructiveHint=false), the description adds a key behavioral trait: the tool rejects direct calls unless preceded by run_skill. It also clarifies the project-scoped nature and that it operates on existing assets. This goes beyond what annotations convey, though it leaves unclear what happens on success or if there are side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, each earning its place: the first states the core function, the second covers the critical prerequisite and rejection condition. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description leaves significant gaps: no output schema, no explanation of what 'reference metadata' entails, and no guidance on how to populate the seven parameters (only primaryAssetId is documented in the schema). The run_skill prerequisite is critical but not sufficient for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 14% (only primaryAssetId is described). The description does not compensate for the other six parameters—traits, displayName, negativePrompt, promptFragment, sourceAssetIds, and type—beyond the vague notion of 'existing project assets.' It provides no additional meaning for most parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource phrase: 'Create reusable project-scoped reference metadata from existing project assets.' This clearly distinguishes the tool from siblings like generate_image or write_free_doc, and the name 'prepare_reference_asset' aligns with the described function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit context: 'Call run_skill first' and states that direct calls without the active skill grant/run descriptor are rejected. This tells the agent when and how to invoke the tool, though it does not mention alternatives or exclusions beyond this prerequisite.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_project_assetARead-only
Read metadata or bounded text content from one current-project asset. Call run_skill first. This tool rejects direct calls without the active skill grant/run descriptor.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| assetId | Yes | A UGCmind project asset id. Raw URLs and local paths are not accepted. | |
| includeContent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses a key behavioral trait: the tool rejects direct calls unless run_skill has been invoked. It also implies bounded content via 'bounded text content,' adding context about limits. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the main purpose, and each sentence adds value. 'Call run_skill first' and the rejection note are slightly redundant but not excessive, keeping it efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, no output schema, and a read-only annotation, the description covers the crucial prerequisite (run_skill) and the read scope. It does not explain return values or pagination details, but the description is adequate for a bounded read operation with a known prerequisite.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% (assetId has a description, but limit, offset, and includeContent do not). The description partially compensates by mentioning 'metadata or bounded text content,' which hints at includeContent and limit/offset, but it does not explicitly map parameters or explain how offset/limit work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: 'Read metadata or bounded text content from one current-project asset.' It specifies the verb (read), the resource (project asset), and the scope (one current-project asset), which distinguishes it from siblings like search_project_assets (searching) and write_free_doc (writing).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage context: 'Call run_skill first' and notes that direct calls are rejected without the active skill grant/run descriptor. This is clear prerequisite guidance, though it does not explicitly compare with alternatives or state when not to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_skillA
Run and authorize an App-managed skill before calling its concrete App tools. Call this immediately before the tool that will use the skill.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Skill runtime name from find_skill. | |
| tool | No | Concrete App tool expected to be called next, for example generate_image. | |
| locale | No | Preferred response locale. | |
| reason | Yes | Why this skill is needed for the current user task. | |
| skillId | No | Skill id from find_skill. | |
| skillRef | No | Skill reference from find_skill. | |
| skillVersionId | No | Optional pinned skill version id from find_skill. | |
| executionGrantId | No | Optional trusted existing execution grant id. | |
| descriptorFingerprint | No | Optional descriptor fingerprint from a trusted prior run. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate only that the tool is neither read-only nor destructive. The description adds context about its role as an authorization/precedence step, but it does not disclose side effects, return values, or whether calling it multiple times has consequences. This leaves ambiguity about what 'authorize' entails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long with no wasted words. The first sentence defines the purpose, and the second reinforces the critical timing. Both sentences earn their place, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters and no output schema, the description is insufficiently complete. It fails to explain what the tool returns (e.g., an execution grant) or how the optional identifiers like skillId, skillRef, and executionGrantId should be used together. This leaves the agent uncertain about the outcome and the required parameter combinations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions cover 100% of parameters, so the baseline is 3. The description does not add any additional parameter semantics beyond what the schema already provides; it only implicitly links the 'tool' parameter to the preceding-tool context without explaining specific parameter relationships or optional combinations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Run and authorize an App-managed skill before calling its concrete App tools.' It uses a specific verb-resource pair and distinguishes itself from siblings like find_skill by positioning it as a prerequisite step to concrete App tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit timing guidance is provided: 'Call this immediately before the tool that will use the skill.' This clearly indicates when to use the tool relative to other actions, though it does not explicitly state when not to use it or list alternative approaches when already authorized.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_galleryARead-only
Search the UGCmind prompt library for visual inspiration. Results include prompt summaries and image URLs when available; render Markdown images for visual browsing.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Prompt medium filter. | |
| limit | No | Number of results (1-20, default 5). | |
| model | No | Optional App model label or model option id filter. | |
| query | No | Search keywords or natural-language creative intent. Examples: "product photo", "cinematic avatar", "SaaS landing page hero". | |
| locale | No | Locale for returned prompt text. Defaults to UGCMIND_LOCALE. | |
| offset | No | Pagination offset. | |
| sortBy | No | Sort key supported by the App, such as relevance, quality, freshness, newest. | |
| category | No | Optional category/style/use-case hint. When public fallback is used this is appended to the search query. | |
| sortOrder | No | Sort direction. | desc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only. The description adds context about result contents (prompt summaries, image URLs) and recommends rendering Markdown images, giving the agent actionable behavioral expectations without contradicting the read-only hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the core action and resource, then adding output and rendering guidance. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters and no output schema, the description gives a clear overview of purpose and result format. It doesn't cover pagination, sorting, or parameter interactions, but the core use case is adequately addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for all 9 parameters, so the description need not elaborate on them. It provides no additional parameter-specific detail, aligning with the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the verb 'Search', the resource 'UGCmind prompt library', and the purpose 'visual inspiration', making it clear and distinct from sibling tools. It does not explicitly name alternative tools, so it misses the top score, but is still strong.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for visual inspiration, but offers no explicit when-to-use or alternative guidance. It doesn't compare to siblings like get_inspiration or search_project_assets, nor mention when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_project_assetsARead-only
Search assets owned by the current UGCmind project. Call run_skill first. This tool rejects direct calls without the active skill grant/run descriptor.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | ||
| limit | No | ||
| query | No | ||
| scope | No | ||
| groupId | No | ||
| mimeType | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already indicates a safe read operation. The description adds non-obvious behavioral details: the requirement to have an active skill grant and the rejection of direct calls. This goes beyond what annotations provide and helps the agent understand the invocation context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences long, front-loaded with the primary purpose, and every sentence adds value: the first states what the tool does, the second the critical prerequisite. There is no redundant or vague wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With six parameters, no output schema, and no parameter descriptions, the description is incomplete for an agent to know what to pass or what to expect in return. It does communicate the run_skill dependency, but lacks information on output format, filtering options, and when to prefer this tool over siblings like read_project_asset.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any of the six parameters (kind, limit, query, scope, groupId, mimeType). While names like 'query' and 'limit' are self-evident, others like 'groupId' and 'mimeType' are left to inference, and the description says nothing about their role in filtering assets.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search') and the resource ('assets owned by the current UGCmind project'), giving specific scope. It does not explicitly mention alternative search tools, but the combination of project ownership and the run_skill prerequisite distinguishes it from siblings like search_gallery.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly instructs to call run_skill first and warns that direct calls are rejected without the active skill grant/run descriptor. This provides clear usage context and a specific prerequisite, but it doesn't discuss alternatives or exclusions relative to sibling search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_ugc_actorsARead-only
Search the approved UGC actor catalog. Materialize a selected public image before using it in generation. Call run_skill first. This tool rejects direct calls without the active skill grant/run descriptor.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| query | No | ||
| gender | No | ||
| region | No | ||
| ageGroup | No | ||
| category | No | ||
| pageSize | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses materialization requirements and the rejection behavior for missing skill grants. These are significant behavioral traits that help the agent anticipate outcomes and dependencies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences, front-loaded with the primary action. No redundancy or filler, every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core behavior and critical prerequisites, but with 7 optional parameters and no output schema, it lacks details on filtering, pagination, and return values. The completeness is adequate for a simple search but not fully fleshed out.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 7 parameters and 0% schema description coverage, the description must compensate but provides no details on query, gender, region, ageGroup, category, page, or pageSize. This leaves the agent without guidance on how to properly invoke the tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches the approved UGC actor catalog, using a specific verb and resource. This distinguishes it from sibling search tools like search_project_assets or search_gallery, which have different domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs to call run_skill first and warns that the tool rejects direct calls without the active skill grant/run descriptor. This provides strong usage context, including a prerequisite and a condition for successful invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
speech_generationA
Generate a speech audio asset, optionally using an approved voice profile or project reference assets. Call run_skill first. This tool rejects direct calls without the active skill grant/run descriptor. If the result is queued or running, do not submit it again; return the task id and stop the turn.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | ||
| prompt | Yes | ||
| file_name | No | ||
| pitch_rate | No | ||
| sample_rate | No | ||
| speech_rate | No | ||
| imageAssetId | No | A UGCmind project asset id. Raw URLs and local paths are not accepted. | |
| audioAssetIds | No | ||
| loudness_rate | No | ||
| voiceProfileId | No | ||
| durationSeconds | No | ||
| model_option_id | No | Optional model option id supplied by the UGCmind runtime. Do not invent it. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, destructiveHint=false), the description discloses that the tool rejects direct calls without an active skill grant/run descriptor, and that if a result is queued/running the agent should return the task id and stop. It also hints at an approval process for voice profiles, adding useful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences, front-loaded with the core action. Every sentence adds value: what it does, the required prerequisite, and a critical async/queued behavior warning. No fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity—12 parameters, no output schema, minimal annotations—the description covers the critical prerequisite and queued-task behavior, but omits the success return format and does not describe most parameter semantics. It is adequate for initial selection but not fully complete for safe invocation without further investigation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 12 parameters and schema description coverage of only 17%, the description should compensate by explaining key parameters. It only vaguely references 'approved voice profile' and 'project reference assets', which map to a few parameters, but provides no meaningful guidance on format, sample_rate, pitch_rate, duration, or model_option_id. The schema enums/ranges are not enough, and the description adds little beyond them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Generate a speech audio asset', which clearly distinguishes it from sibling tools like music_generation and video_generation. It adds optional qualifiers ('voice profile or project reference assets') that refine the tool's scope without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context by stating 'Call run_skill first' and explicitly warns against resubmitting queued/running tasks. While it does not name alternative tools, the prerequisite and the 'do not submit again' instruction give practical guidance on when and how to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transcribe_mediaA
Transcribe a project audio or video asset into a persisted transcript asset. Call run_skill first. This tool rejects direct calls without the active skill grant/run descriptor. If the result is queued or running, do not submit it again; return the task id and stop the turn.
| Name | Required | Description | Default |
|---|---|---|---|
| diarize | No | ||
| quality | No | ||
| keyterms | No | ||
| file_name | No | ||
| num_speakers | No | ||
| language_code | No | ||
| model_option_id | No | Optional model option id supplied by the UGCmind runtime. Do not invent it. | |
| source_asset_id | Yes | A UGCmind project asset id. Raw URLs and local paths are not accepted. | |
| tag_audio_events | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals asynchronous behavior (queued/running states), a task-id return, and a prerequisite skill grant—context beyond the annotations (readOnlyHint=false, destructiveHint=false). It does not disclose failure modes or rate limits, but the provided context is valuable for correct use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main action, and every clause adds operational information. No wasteful phrasing or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (9 params, no output schema, async behavior), the description covers the critical flow: prerequisite, rejection behavior, duplicate handling, and task-id return. It omits details about output retrieval and parameter selection, but it is sufficient for an agent to correctly invoke and handle the immediate result. Some gaps remain, so not a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 22%, with descriptions only for model_option_id and source_asset_id. The description adds minimal parameter semantics: it clarifies that source_asset_id refers to a project asset and that the source can be audio or video, but it does not explain diarize, quality, keyterms, num_speakers, etc. For a 9-parameter tool, this is insufficient compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the function: 'Transcribe a project audio or video asset into a persisted transcript asset.' It uses a specific verb (transcribe), names the resource (project audio/video asset), and the result (persisted transcript asset), which distinguishes it from sibling tools like run_skill.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs 'Call run_skill first' and warns 'This tool rejects direct calls without the active skill grant/run descriptor.' It also provides a clear when-not: 'If the result is queued or running, do not submit it again; return the task id and stop the turn.' It does not name alternatives but gives strong operational guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ugcmind_capabilitiesARead-only
Inspect the live UGCmind MCP tool catalog, provider availability, access rules, discovery paths, and async task contract.
| Name | Required | Description | Default |
|---|---|---|---|
| view | No | Limit the returned catalog to the relevant capability area. | overview |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description adds contextual details like 'live', 'provider availability', 'access rules', and 'async task contract'. This goes beyond the annotation by indicating the tool returns real-time operational and contractual information, which is valuable for agents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one compact sentence that front-loads the key action and subject. Every word contributes to defining the tool's purpose, achieving high conciseness with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only catalog inspection tool with a single enum parameter and no output schema, the description covers the main purpose and the facets of the catalog. It does not explain response structure, but this is acceptable given the simple nature and the parameter's schema description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'view' has 100% schema description coverage, explaining that it limits the catalog scope. The tool description does not add further parameter meaning, so it meets the baseline without exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Inspect' and names the resource 'UGCmind MCP tool catalog' plus associated aspects like provider availability and access rules. This clearly distinguishes it from sibling tools that perform content generation or asset management.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: to inspect the live catalog for capabilities, provider availability, and contracts. It provides clear context but does not explicitly mention alternatives or exclusions, such as 'use list_models for model-specific info'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_generationA
Generate a project video asset through the UGCmind Tool Runtime. Call run_skill first. This tool rejects direct calls without the active skill grant/run descriptor. If the result is queued or running, do not submit it again; return the task id and stop the turn.
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | ||
| prompt | Yes | Complete video generation brief. | |
| assetId | No | A UGCmind project asset id. Raw URLs and local paths are not accepted. | |
| file_name | No | ||
| aspect_ratio | No | ||
| model_option_id | No | Optional model option id supplied by the UGCmind runtime. Do not invent it. | |
| duration_seconds | No | ||
| selectedAssetIds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations, the description discloses that the tool rejects direct calls and requires a run descriptor, and it warns about duplicate submissions when a task is queued/running. This adds meaningful behavioral context beyond readOnlyHint and destructiveHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core purpose, then critical usage constraints. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the critical workflow (run_skill first, idempotency behavior) but omits parameter details and does not distinguish from generate_video. Given the tool's complexity and low schema coverage, this leaves meaningful gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 38% (3 of 8 params have descriptions), and the tool description provides no additional parameter semantics. Action, aspect_ratio, duration_seconds, selectedAssetIds, and file_name remain unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a project video asset and specifies the runtime context (UGCmind Tool Runtime). However, it does not differentiate this tool from the sibling generate_video, despite the unique run_skill prerequisite being implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly instructs to call run_skill first, warns that direct calls are rejected without an active skill grant, and tells the agent not to resubmit if the task is queued/running. It lacks exclusions or explicit alternatives, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
visual_design_taskA
Generate a project image asset through the UGCmind Tool Runtime. Call run_skill first. This tool rejects direct calls without the active skill grant/run descriptor. If the result is queued or running, do not submit it again; return the task id and stop the turn.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Complete visual generation brief. | |
| assetId | No | A UGCmind project asset id. Raw URLs and local paths are not accepted. | |
| file_name | No | ||
| aspect_ratio | No | ||
| model_option_id | No | Optional model option id supplied by the UGCmind runtime. Do not invent it. | |
| selectedAssetIds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, destructiveHint=false), the description discloses that the tool rejects direct calls without a skill grant and that results may be queued/running, instructing the agent to return the task id. This adds meaningful behavioral context about prerequisites and asynchronous behavior, though it doesn't describe the full success path or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each earning its place: the first states the core purpose, the second gives a prerequisite, and the third provides handling instructions. It is concise, front-loaded, and free of fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 6 parameters, no output schema, and moderate complexity. The description covers the prerequisite and async handling, but it omits what the tool returns on success and does not explain the undocumented parameters. It is adequate but has notable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%, with descriptions for prompt, assetId, and model_option_id, but file_name, aspect_ratio, and selectedAssetIds lack descriptions. The tool description does not mention or explain any parameters, so it fails to compensate for the undocumented ones. It adds no value beyond the schema for the parameters it does cover.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a project image asset via the UGCmind Tool Runtime, which is a specific verb+resource. It does not explicitly distinguish itself from the sibling generate_image, but the mention of run_skill and task handling implies a workflow-based purpose, providing sufficient clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage context: call run_skill first, and it warns that direct calls are rejected without the active skill grant/run descriptor. It also instructs not to resubmit if the result is queued/running and to return the task id instead. This is clear context, though it doesn't discuss alternatives or when to prefer this tool over generate_image.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_fetchA
Fetch a public product or research URL through UGCmind's bounded URL materializer and return its project-safe result. Call run_skill first. This tool rejects direct calls without the active skill grant/run descriptor.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) URL to retrieve. | |
| title | No | Optional project asset title. | |
| purpose | No | Why the page is needed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes beyond annotations by revealing the tool requires a skill grant and rejects direct calls, plus hints at a safety mechanism ('project-safe result'). The annotations only provide readOnlyHint=false and destructiveHint=false, so this description adds meaningful behavioral context about prerequisites and access control.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core function, followed by a critical prerequisite. No fluff or redundancy; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, the description adequately covers the core action, the required prior step (run_skill), and the rejection scenario. It does not specify the exact return format, but since there is no output schema, this is a minor gap rather than a critical omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear descriptions for all three parameters (url, title, purpose). The tool description itself does not add extra parameter-level information, meeting the baseline for well-documented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Fetch') and resource ('public product or research URL'), and clarifies the mechanism ('UGCmind's bounded URL materializer') and outcome ('project-safe result'). This clearly distinguishes it from sibling URL-related tools like create_file_by_url.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs 'Call run_skill first' and states that direct calls are rejected without an active skill grant/run descriptor. This provides clear context on how to invoke the tool, though it does not mention alternative tools for similar use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
write_free_docA
Persist a Markdown brief or report as a UGCmind project document asset. Call run_skill first. This tool rejects direct calls without the active skill grant/run descriptor. If the result is queued or running, do not submit it again; return the task id and stop the turn.
| Name | Required | Description | Default |
|---|---|---|---|
| task | No | ||
| title | No | ||
| markdown | No | ||
| file_name | Yes | ||
| model_option_id | No | Optional model option id supplied by the UGCmind runtime. Do not invent it. | |
| selectedAssetIds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, destructiveHint=false), the description discloses important behaviors: it requires a prior skill run and rejects direct calls without it, and it instructs the agent to avoid resubmitting when a task is queued/running and instead return the task id. These are non-obvious behavioral traits that the annotations do not convey. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the primary purpose, followed by the prerequisite and an important operational warning. Every sentence carries meaningful information and there is no redundancy or padding. It is concise yet dense with necessary guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters, no output schema, and low parameter description coverage, the description provides the core purpose and critical usage caveats but does not explain success return values or the full parameter set. It mentions returning a task id only for queued/running cases, not what a successful persist returns. It also leaves parameter meanings mostly unexplained, making the description incomplete for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 17%, and the description itself does not explain any of the parameters. While 'Markdown brief' hints at the markdown parameter, there is no explanation of file_name, title, task, model_option_id, or selectedAssetIds. The schema only gives descriptive text for model_option_id ('Optional model option id supplied by the UGCmind runtime') and selectedAssetIds items ('A UGCmind project asset id...'), but the tool description adds no semantics for these fields. The description fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Persist a Markdown brief or report as a UGCmind project document asset.' It uses a specific verb ('Persist') and resource ('Markdown brief or report'), and the scope ('UGCmind project document asset') distinguishes it from sibling tools like create_file_by_url or read_project_asset. Even without naming alternatives, the write-and-persist purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit prerequisite: 'Call run_skill first' and warns that 'this tool rejects direct calls without the active skill grant/run descriptor.' It also provides handling guidance for async results: 'If the result is queued or running, do not submit it again; return the task id and stop the turn.' This is clear context for when and how to use the tool, though it does not explicitly list alternative tools for comparison.
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.
25 tool updates
v0.3.0- First observed
comfyui_workflow - First observed
create_file_by_url - First observed
create_voice_profile - First observed
enhance_prompt - First observed
find_skill - First observed
generate_image - First observed
generate_video - First observed
get_inspiration - First observed
get_tool_task_status - First observed
list_models - First observed
manage_preferences - First observed
music_generation - First observed
prepare_reference_asset - First observed
read_project_asset - First observed
run_skill - First observed
search_gallery - First observed
search_project_assets - First observed
search_ugc_actors - First observed
speech_generation - First observed
transcribe_media - First observed
ugcmind_capabilities - First observed
video_generation - First observed
visual_design_task - First observed
web_fetch - First observed
write_free_doc
TDQS
Scored across 25 tools
Multiple tool pairs appear to serve similar purposes—generate_image vs visual_design_task, generate_video vs video_generation, web_fetch vs create_file_by_url, and search_gallery vs get_inspiration—with descriptions not clearly differentiating their boundaries. This creates significant ambiguity for an agent deciding which tool to invoke.
Most tools follow a verb_noun snake_case pattern (e.g., list_models, read_project_asset), but several are noun phrases (video_generation, music_generation, ugcmind_capabilities, comfyui_workflow) and the pair generate_video/video_generation splits the same action across verb-first and noun-first names. The inconsistency is noticeable but not chaotic.
With 25 tools, the set is within the heavy range; while a content-generation server with image, video, audio, and asset management could justify many tools, the presence of redundant pairs suggests some could be consolidated, making the count feel inflated.
The surface covers core workflows: content generation (image/video/speech/music), asset management, prompt library search, model listing, skill management, and task status polling. Minor gaps include lack of update/delete operations for assets and prompts, but these do not critically hinder the primary creation lifecycle.
Maintenance
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
Generate AI images and videos from any compatible MCP client.
MCP server for Qwen Image 3 AI image generation
MCP server for Hailuo (MiniMax) AI video generation
MCP server for Wan AI video generation
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceAn MCP server for AI-powered image processing (generate, edit, vary, analyze) supporting OpenAI, Gemini, Ideogram, and custom relay endpoints.-
- FlicenseAqualityDmaintenanceMCP server for AI image generation supporting text-to-image and image-to-image editing via any OpenAI-compatible service, with configurable models, aspect ratios, and sizes.2-
- AlicenseAqualityCmaintenanceOpen-source MCP server for AI image and video creation, enabling prompt library search, prompt enhancement, and media generation from Claude Code, Cursor, and other MCP hosts.8MIT
- AlicenseAqualityBmaintenanceAn open-source MCP server that connects AI clients to ImgLume for visual inspiration, prompt improvement, image generation and editing, and video generation.61MIT