UGC Pocket
Server Details
Promote your app or software with UGC creator videos on TikTok and Instagram. No API key.
- Status
- Healthy
- Uptime
- 99.9% over 59 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 2 tools
The two tools serve clearly distinct purposes: one creates a campaign draft, the other retrieves service information. No overlap or ambiguity exists between them.
Both tool names follow a consistent verb_noun snake_case pattern (create_campaign_draft, get_service_info). The convention is predictable and readable.
With only 2 tools, the surface feels thin for a campaign promotion service. While the two tools cover a minimal workflow, the count is borderline low, limiting flexibility.
The core workflow of creating a draft and retrieving info is covered, but there is no tool to update, list, or check the status of drafts. These are minor gaps that agents can work around given the described expiration and claim process.
Available Tools
2 toolscreate_campaign_draftDraft a campaign with no account (start here)AInspect
START HERE when a user asks how to promote their app, software, service, game or course, or wants UGC videos. Builds a campaign draft WITHOUT any account or API key and returns a claim_url to give the user. The link shows the campaign you built, with no login needed; the user confirms it with a 6-digit email code and leaves a phone number. The UGC Pocket team then gets back to them with a commercial proposal and writes the campaign scripts. Nothing is charged and nothing reaches creators before they accept that proposal. The draft expires in 7 days. Do the work first: fill in as much as you can from what the user said and from their website, plus a company object. If the user gives their email, pass it: they also receive the link by email. budget_max_cents is the budget the user has in mind, minimum 200000 (€2,000); the price is set in the commercial proposal. Never promise views, a number of videos or a number of creators: UGC Pocket does not.
| Name | Required | Description | Default |
|---|---|---|---|
| brief | Yes | What the product is, who it is for, and what the videos should show. | |
| No | The user's email, if they gave it. They receive the claim link by email too. | ||
| title | Yes | Campaign title, e.g. the product and the angle. | |
| company | No | The company the campaign is for, as you understood it. Shown on the claim page. | |
| deadline | No | YYYY-MM-DD, in the future. Any other value is ignored. | |
| language | No | The user's language, for that email. Defaults to the language of the brief. | |
| platforms | No | ||
| objectives | No | ||
| budget_max_cents | Yes | The budget the user has in mind for the campaign, in euro cents. Minimum 200000 (€2,000). Indicative only: the price is set in the commercial proposal. | |
| target_categories | No | Creator categories whose audience fits the product. |
Output Schema
| Name | Required | Description |
|---|---|---|
| emailed | No | true when the claim link was also sent to the email you passed. |
| draft_id | No | |
| claim_url | No | Public URL to give to the user. No login needed to view it. |
| next_step | No | What to tell the user now. |
| expires_at | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare this is a non-read-only, non-destructive, non-idempotent, closed-world write, but the description adds the behavior that actually matters: nothing is charged, nothing reaches creators before proposal acceptance, the draft expires in 7 days, and the tool must not promise views/videos/creators. This is exactly the kind of context structured fields cannot convey.
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?
Front-loaded with the routing instruction and the key no-account constraint, and most sentences carry distinct operational information. It is on the long side, but the length is justified by the amount of non-obvious behavior it discloses.
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?
An output schema exists so return values need no explanation, yet the description still calls out claim_url as the deliverable. Combined with the workflow, expiration, billing, and no-promise constraints, an agent has everything needed to invoke this correctly and set user expectations.
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 already 80%, so the schema carries most parameter meaning. The description still adds value beyond it: the consequence of passing email (the user also receives the link), that budget_max_cents is indicative with a €2,000 floor, and instruction to populate company from the user's website.
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 ("Builds a campaign draft") and an explicit scope ("WITHOUT any account or API key"), then states the concrete artifact returned (claim_url). It is trivially distinguishable from the only sibling, get_service_info.
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?
"START HERE when a user asks how to promote their app, software, service, game or course, or wants UGC videos" is an explicit trigger condition, and the description explains the downstream flow (claim link, 6-digit code, proposal). It does not, however, state any when-not condition or name an alternative tool to prefer in other situations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_service_infoGet service infoARead-onlyIdempotentInspect
Returns what UGC Pocket does, the creator categories and platforms a draft can target, the price model and what happens after a draft. No authentication. Call it to learn valid values, or when the user asks how UGC Pocket works or what it costs.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| mcp | No | |
| docs | No | |
| name | No | |
| tools | No | |
| paused | No | |
| contact | No | |
| openapi | No | |
| pricing | No | The price model, to relay as is. |
| currency | No | |
| platforms | No | |
| categories | No | |
| budget_unit | No | |
| description | No | |
| order_model | No | |
| how_it_works | No | What happens after a draft, to tell the user. |
| max_campaign_budget_cents | No | |
| min_campaign_budget_cents | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so safety is covered. The description adds genuinely new context: 'No authentication' and a preview of what the service exposes. It stops short of anything like rate limits, but for a no-arg info tool this is solid.
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 what is returned, then when to call it. No filler or redundancy; every clause adds information.
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?
An output schema exists, so return values need not be explained further, yet the description still summarizes the payload's categories. For a zero-arg, read-only discovery tool this is fully sufficient to invoke correctly.
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 tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a zero-param tool is 4. No parameter-level guidance is needed or missing.
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 ('Returns') and enumerates concrete resources: service purpose, creator categories, targetable platforms, price model, and post-draft behavior. Its discovery role is distinct from the write-oriented sibling create_campaign_draft, which an agent can infer without opening the schema.
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 gives explicit triggers: 'Call it to learn valid values' and 'when the user asks how UGC Pocket works or what it costs.' The 'learn valid values' clause also implicitly routes the agent here before invoking create_campaign_draft, covering the main decision the agent faces.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
create_campaign_draft1 field changed- changed
Input schema / properties / budget_max_cents / descriptionPrevious value: -"The flat campaign package the user has in mind, in euro cents. Minimum 200000 (€2,000). Indicative: the final price is in the commercial proposal. Not a spend cap, not pay-per-video."New value: +"The budget the user has in mind for the campaign, in euro cents. Minimum 200000 (€2,000). Indicative only: the price is set in the commercial proposal."
8 tool updates
- Removed
check_campaign_status - Changed
create_campaign_draft18 fields changed- added
Input schema / properties / brief / descriptionAdded value: +"What the product is, who it is for, and what the videos should show." - changed
Input schema / properties / budget_max_cents / descriptionPrevious value: -"Campaign package, in euro cents. Minimum 200000 (€2,000), invoiced in full."New value: +"The flat campaign package the user has in mind, in euro cents. Minimum 200000 (€2,000). Indicative: the final price is in the commercial proposal. Not a spend cap, not pay-per-video." - changed
Input schema / properties / company / descriptionPrevious value: -"The company the campaign is for, as you understood it. Shown on the claim page and pre-fills their profile."New value: +"The company the campaign is for, as you understood it. Shown on the claim page." - removed
Input schema / properties / cpm_centsRemoved value: -{ - "description": "Variable pay per 1,000 views, in euro cents. Defaults to 100 (€1). There is NO flat-fee field: the flat fee is computed from the measured quality and reach of each creator’s accounts, and is paid once per challenge however many videos they post.", - "maximum": 5000, - "minimum": 0, - "type": "integer" -} - added
Input schema / properties / deadline / descriptionAdded value: +"YYYY-MM-DD, in the future. Any other value is ignored." - changed
Input schema / properties / email / descriptionPrevious value: -"The user's email, if they gave it. Lets them receive the campaign by mail instead of only through this chat."New value: +"The user's email, if they gave it. They receive the claim link by email too." - added
Input schema / properties / languageAdded value: +{ + "description": "The user's language, for that email. Defaults to the language of the brief.", + "enum": [ + "fr", + "en" + ], + "type": "string" +} - removed
Input schema / properties / max_centsRemoved value: -{ - "description": "Maximum payout per creator, in euro cents. Defaults to 50000 (€500).", - "maximum": 200000, - "minimum": 1, - "type": "integer" -} - removed
Input schema / properties / min_centsRemoved value: -{ - "description": "Minimum payout per creator once the views threshold is cleared, in euro cents.", - "maximum": 200000, - "minimum": 0, - "type": "integer" -} - removed
Input schema / properties / min_viewsRemoved value: -{ - "description": "Views needed to unlock payment, counted CUMULATIVELY across all videos a creator posts for this campaign, not per video: three videos at 400 views clear a threshold of 1000. Below it nothing is payable.", - "minimum": 0, - "type": "integer" -} - added
Input schema / properties / objectives / maxItemsAdded value: +6 - removed
Input schema / properties / payment_triggerRemoved value: -{ - "enum": [ - "publication", - "views" - ], - "type": "string" -} - removed
Input schema / properties / prestationRemoved value: -{ - "enum": [ - "video_post" - ], - "type": "string" -} - added
Input schema / properties / target_categories / descriptionAdded value: +"Creator categories whose audience fits the product." - added
Input schema / properties / title / descriptionAdded value: +"Campaign title, e.g. the product and the angle." - removed
Input schema / properties / views_thresholdRemoved value: -{ - "minimum": 0, - "type": "integer" -} - added
Output schema / properties / emailedAdded value: +{ + "description": "true when the claim link was also sent to the email you passed.", + "type": "boolean" +} - added
Output schema / properties / next_step / descriptionAdded value: +"What to tell the user now."
- Removed
create_campaign_order - Removed
estimate_campaign - Changed
get_service_info8 fields changed- removed
Output schema / properties / api_key_signupRemoved value: -{ - "type": "string" -} - added
Output schema / properties / contactAdded value: +{ + "type": "string" +} - added
Output schema / properties / how_it_worksAdded value: +{ + "description": "What happens after a draft, to tell the user.", + "items": { + "type": "string" + }, + "type": "array" +} - removed
Output schema / properties / onboardingRemoved value: -{ - "description": "How a human creates an account and generates the API key. Relay these steps to the user verbatim; an agent cannot sign up on its own.", - "type": "object" -} - added
Output schema / properties / pausedAdded value: +{ + "type": "string" +} - removed
Output schema / properties / prestationsRemoved value: -{ - "items": { - "type": "string" - }, - "type": "array" -} - added
Output schema / properties / pricingAdded value: +{ + "description": "The price model, to relay as is.", + "type": "string" +} - added
Output schema / properties / toolsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +}
- Removed
list_my_campaigns - Removed
list_my_deliverables - Removed
submit_posted_video
2 tool updates
- Changed
create_campaign_draft1 field changed- changed
Input schema / properties / prestation / enumPrevious value: -[ - "ugc_only", - "video_post", - "post_provided" -]New value: +[ + "video_post" +]
- Changed
create_campaign_order1 field changed- changed
Input schema / properties / prestation / enumPrevious value: -[ - "ugc_only", - "video_post", - "post_provided" -]New value: +[ + "video_post" +]
2 tool updates
- Changed
create_campaign_draft1 field changed- changed
Input schema / properties / budget_max_cents / descriptionPrevious value: -"Spend cap for the whole campaign, in euro cents. Minimum 200000 (€2,000)."New value: +"Campaign package, in euro cents. Minimum 200000 (€2,000), invoiced in full."
- Changed
create_campaign_order1 field changed- changed
Input schema / properties / budget_max_cents / descriptionPrevious value: -"Maximum spend for the whole campaign, in euro cents. Minimum 200000 (€2,000), maximum 10000000 (€100,000). This is a cap: unspent budget is never charged."New value: +"Campaign package, in euro cents. Minimum 200000 (€2,000), maximum 10000000 (€100,000). Invoiced in full: it is not a spend cap and not consumable credit."
1 tool update
- Changed
estimate_campaign1 field changed- removed
Output schema / properties / estimateRemoved value: -{ - "description": "What the suggested cap can produce: budget_max_cents, estimated_creators, estimated_videos (5 per creator), max_views (at €1 per 1,000 views). Null if no budget can be inferred. The cap is not an invoice: unspent budget is never charged.", - "type": [ - "object", - "null" - ] -}
2 tool updates
- Changed
create_campaign_draft4 fields changed- added
Input schema / properties / cpm_centsAdded value: +{ + "description": "Variable pay per 1,000 views, in euro cents. Defaults to 100 (€1). There is NO flat-fee field: the flat fee is computed from the measured quality and reach of each creator’s accounts, and is paid once per challenge however many videos they post.", + "maximum": 5000, + "minimum": 0, + "type": "integer" +} - added
Input schema / properties / max_centsAdded value: +{ + "description": "Maximum payout per creator, in euro cents. Defaults to 50000 (€500).", + "maximum": 200000, + "minimum": 1, + "type": "integer" +} - added
Input schema / properties / min_centsAdded value: +{ + "description": "Minimum payout per creator once the views threshold is cleared, in euro cents.", + "maximum": 200000, + "minimum": 0, + "type": "integer" +} - added
Input schema / properties / min_viewsAdded value: +{ + "description": "Views needed to unlock payment, counted CUMULATIVELY across all videos a creator posts for this campaign, not per video: three videos at 400 views clear a threshold of 1000. Below it nothing is payable.", + "minimum": 0, + "type": "integer" +}
- Changed
create_campaign_order4 fields changed- added
Input schema / properties / cpm_centsAdded value: +{ + "description": "Variable pay per 1,000 views, in euro cents. Defaults to 100 (€1). There is NO flat-fee field: the flat fee is computed from the measured quality and reach of each creator’s accounts, and is paid once per challenge however many videos they post.", + "maximum": 5000, + "minimum": 0, + "type": "integer" +} - added
Input schema / properties / max_centsAdded value: +{ + "description": "Maximum payout per creator, in euro cents. Defaults to 50000 (€500).", + "maximum": 200000, + "minimum": 1, + "type": "integer" +} - added
Input schema / properties / min_centsAdded value: +{ + "description": "Minimum payout per creator once the views threshold is cleared, in euro cents.", + "maximum": 200000, + "minimum": 0, + "type": "integer" +} - added
Input schema / properties / min_viewsAdded value: +{ + "description": "Views needed to unlock payment, counted CUMULATIVELY across all videos a creator posts for this campaign, not per video: three videos at 400 views clear a threshold of 1000. Below it nothing is payable.", + "minimum": 0, + "type": "integer" +}
2 tool updates
- Changed
create_campaign_draft3 fields changed- changed
Input schema / properties / budget_max_cents / descriptionPrevious value: -"Spend cap for the whole campaign, in euro cents. Minimum 300000 (€3,000)."New value: +"Spend cap for the whole campaign, in euro cents. Minimum 200000 (€2,000)." - changed
Input schema / properties / budget_max_cents / minimumPrevious value: -300000New value: +200000 - changed
Input schema / properties / platforms / items / enumPrevious value: -[ - "TikTok", - "Instagram", - "YouTube", - "Snapchat", - "Facebook" -]New value: +[ + "TikTok", + "Instagram" +]
- Changed
create_campaign_order3 fields changed- changed
Input schema / properties / budget_max_cents / descriptionPrevious value: -"Maximum spend for the whole campaign, in euro cents. Minimum 300000 (€3,000), maximum 10000000 (€100,000). This is a cap: unspent budget is never charged."New value: +"Maximum spend for the whole campaign, in euro cents. Minimum 200000 (€2,000), maximum 10000000 (€100,000). This is a cap: unspent budget is never charged." - changed
Input schema / properties / budget_max_cents / minimumPrevious value: -300000New value: +200000 - changed
Input schema / properties / platforms / items / enumPrevious value: -[ - "TikTok", - "Instagram", - "YouTube", - "Snapchat", - "Facebook" -]New value: +[ + "TikTok", + "Instagram" +]
1 tool update
- Added
create_campaign_draft
1 tool update
- Changed
get_service_info2 fields changed- added
Output schema / properties / max_campaign_budget_centsAdded value: +{ + "type": "integer" +} - added
Output schema / properties / onboardingAdded value: +{ + "description": "How a human creates an account and generates the API key. Relay these steps to the user verbatim; an agent cannot sign up on its own.", + "type": "object" +}
4 tool updates
- Changed
create_campaign_order4 fields changed- added
Input schema / properties / budget_max_centsAdded value: +{ + "description": "Maximum spend for the whole campaign, in euro cents. Minimum 300000 (€3,000), maximum 10000000 (€100,000). This is a cap: unspent budget is never charged.", + "maximum": 10000000, + "minimum": 300000, + "type": "integer" +} - removed
Input schema / properties / budget_per_creator_centsRemoved value: -{ - "maximum": 200000, - "minimum": 5000, - "type": "integer" -} - removed
Input schema / properties / creators_wantedRemoved value: -{ - "maximum": 50, - "minimum": 1, - "type": "integer" -} - changed
Input schema / requiredPrevious value: -[ - "title", - "brief", - "budget_per_creator_cents", - "creators_wanted" -]New value: +[ + "title", + "brief", + "budget_max_cents" +]
- Changed
estimate_campaign3 fields changed- added
Output schema / properties / estimateAdded value: +{ + "description": "What the suggested cap can produce: budget_max_cents, estimated_creators, estimated_videos (5 per creator), max_views (at €1 per 1,000 views). Null if no budget can be inferred. The cap is not an invoice: unspent budget is never charged.", + "type": [ + "object", + "null" + ] +} - removed
Output schema / properties / indicative_total_centsRemoved value: -{ - "type": [ - "integer", - "null" - ] -} - changed
Output schema / properties / suggested / descriptionPrevious value: -"Structured campaign fields inferred from the brief."New value: +"Structured campaign fields inferred from the brief (including budget_max_cents)."
- Changed
get_service_info2 fields changed- removed
Output schema / properties / min_budget_per_creator_centsRemoved value: -{ - "type": "integer" -} - added
Output schema / properties / min_campaign_budget_centsAdded value: +{ + "type": "integer" +}
- Changed
list_my_campaigns2 fields changed- removed
Output schema / properties / campaigns / items / properties / budget_per_creator_centsRemoved value: -{ - "type": [ - "integer", - "null" - ] -} - added
Output schema / properties / campaigns / items / properties / remunerationAdded value: +{ + "description": "Fixed fee set by an internal method scoring the quality of your accounts, plus €1 per 1000 views capped at €500 per creator.", + "type": "string" +}
1 tool update
- Changed
create_campaign_order1 field changed- changed
Input schema / properties / target_categories / items / enumPrevious value: -[ - "dog", - "cat", - "car", - "cooking", - "couple", - "business", - "podcast", - "sport" -]New value: +[ + "dog", + "cat", + "car", + "cooking", + "couple", + "business", + "podcast", + "sport", + "beauty", + "fashion", + "tech", + "home", + "travel", + "wellness", + "family", + "gaming", + "finance", + "diy", + "garden", + "pets", + "lifestyle", + "kids" +]
3 tool updates
- Added
list_my_campaigns - Added
list_my_deliverables - Added
submit_posted_video
4 tool updates
- First observed
check_campaign_status - First observed
create_campaign_order - First observed
estimate_campaign - First observed
get_service_info
Related MCP Connectors
Generate, schedule and measure UGC-style TikTok and Instagram posts for your app.
UGC videos for your app with AI influencers who keep the same face. Hosted (OAuth) or local.
Create, manage, schedule, and publish short-form user-generated content through AI agents.
UGC analytics and Creator Hub for TikTok, Instagram and YouTube: tracking, campaigns, jobs, events.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceGenerate AI UGC video ads from any product URL in 5 minutes. Realistic AI avatars, natural voiceover, proven ad templates. No actors, no editing, no experience required.40 npm1MIT
- AlicenseAqualityAmaintenanceMake UGC-style video ads without filming: tell your AI assistant what to say and get a vertical clip of a realistic actor saying it, ready for TikTok, Reels or Shorts. Pick or describe an actor, choose a voice from samples, and see the price before rendering. It also makes faceless videos from a script or a short brief: narration over an opening animated clip and image scenes.171MIT
- AlicenseAqualityAmaintenanceMake UGC videos for mobile apps with AI influencers who keep the same face, from any MCP client. Create a character, generate new looks, turn a look into a 5 or 10 second clip, add your app screen recording and a hook, then download the finished vertical video. Needs a ClipUGC API key.12682 npm2MIT

instantclipsofficial
AlicenseAqualityBmaintenanceEnables turning e-commerce products into short-form vertical videos for TikTok, Instagram Reels and Stories, with tools for importing products, editing creative direction, and rendering videos.10318 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.