UGC Pocket
REMOTE · UGCPOCKET.COM · SCANNED OCT 4
Promote your app or software with UGC creator videos on TikTok and Instagram. No API key.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the whole tool list to see what that exposes. View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability0
- Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.Unverified
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
- Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Tool Safety0
- Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Capabilities0
- Capabilities not yet verified: we couldn't read the endpoint's capabilities.Unverified
Unverified: 5 categories
Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.
How do I install the UGC Pocket MCP server?
UGC Pocket is a hosted endpoint at https://ugcpocket.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · ugcpocket.com
claude mcp add --transport http com-ugcpocket-ugc-pocket 'https://ugcpocket.com/mcp'
{
"mcpServers": {
"com-ugcpocket-ugc-pocket": {
"url": "https://ugcpocket.com/mcp"
}
}
} {
"servers": {
"com-ugcpocket-ugc-pocket": {
"type": "http",
"url": "https://ugcpocket.com/mcp"
}
}
} [mcp_servers.com-ugcpocket-ugc-pocket] url = "https://ugcpocket.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-ugcpocket-ugc-pocket": {
"type": "remote",
"url": "https://ugcpocket.com/mcp",
"enabled": true
}
}
} openclaw mcp add com-ugcpocket-ugc-pocket --url 'https://ugcpocket.com/mcp' --transport streamable-http
mcp_servers:
com-ugcpocket-ugc-pocket:
url: "https://ugcpocket.com/mcp" {
"McpServers": {
"com-ugcpocket-ugc-pocket": {
"Transport": "http",
"Url": "https://ugcpocket.com/mcp"
}
}
} assistant mcp add com-ugcpocket-ugc-pocket -t streamable-http -u 'https://ugcpocket.com/mcp'
{
"mcpServers": {
"com-ugcpocket-ugc-pocket": {
"type": "http",
"url": "https://ugcpocket.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 11 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 7 Aug 26 0
- Endpoint reachability: reachable → not serving MCP ▼ security
- Stability: 0.37 → unverified ▼ security
- Authorization: Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the whole tool list to see what that exposes. security
- Capabilities: fail → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 6 Aug 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “create_campaign_draft” rewrote its description, which is the text the model reads security
- Tool “create_campaign_order” rewrote its description, which is the text the model reads security
- Tool “estimate_campaign” rewrote its description, which is the text the model reads security
- Schema quality: unverified → good ▲ functional
- “create_campaign_draft” reworded the description of “budget_max_cents” cosmetic
- “create_campaign_order” reworded the description of “budget_max_cents” cosmetic
- 5 Aug 26 0
- Schema quality: 214 → 256 ▼ functional
- Schema quality: good → unverified ▼ functional
- Tool coverage: 36% → 50% ▲ functional
- “create_campaign_draft” added an optional parameter “cpm_cents” cosmetic
- “create_campaign_draft” added an optional parameter “max_cents” cosmetic
- “create_campaign_draft” added an optional parameter “min_cents” cosmetic
- “create_campaign_draft” added an optional parameter “min_views” cosmetic
- “create_campaign_order” added an optional parameter “cpm_cents” cosmetic
- “create_campaign_order” added an optional parameter “max_cents” cosmetic
- “create_campaign_order” added an optional parameter “min_cents” cosmetic
- “create_campaign_order” added an optional parameter “min_views” cosmetic
- 4 Aug 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “create_campaign_order” rewrote its description, which is the text the model reads security
- Tool “estimate_campaign” rewrote its description, which is the text the model reads security
- Tool “get_service_info” rewrote its description, which is the text the model reads security
- Tool coverage: 44% → 36% ▼ functional
- Schema quality: 160 → 214 ▼ functional
- New tool “create_campaign_draft” functional
- “create_campaign_order” reworded the description of “budget_max_cents” cosmetic
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Oct 2026 · Probed https://ugcpocket.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=*.ugcpocket.com | CN=YE1,O=Let's Encrypt,C=US | 3 Oct 2026 | 1 Jan 2027 | ECDSA 256 | ECDSA-SHA384 | 5feafabc4b72033d615c0f8cec350c2ebbc |
| SANs: *.ugcpocket.com, ugcpocket.com | ||||||
| CN=YE1,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 5ddd70dd31f801c85c186a7a04b80afe |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of ugcpocket.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| ugcpocket.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains; preload |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://ugcpocket.com/mcp | Verified | 200 | |
| http (plaintext) | http://ugcpocket.com/mcp | HTTPS enforced | 301 | https://ugcpocket.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
check_campaign_status Check a campaign status ~60
Returns the status of a campaign (draft / open / in_progress / completed / cancelled). Scoped to campaigns belonging to the organization that owns the API key. Requires an API key.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | yes | Campaign UUID returned by create_campaign_order. |
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | – | – |
| confirm_url | string | – | – |
| ordered_by_agent | boolean | – | – |
| status | string | – | – |
| title | string | – | – |
No examples provided.
create_campaign_draft Draft a campaign with no account (start here) ~543
START HERE when a user asks how to promote their app, software, service or course. Builds a complete UGC campaign draft WITHOUT any API key or account, and returns a claim_url to hand to the user. Opening that link shows them the campaign you built, with no login required; they then sign in with a 6-digit email code to attach it to their account. Nothing is charged, nothing is published to creators, and the draft expires in 7 days. Do the work first and ask for an account later: fill in as much as you can from what the user told you and from their website (title, brief, categories, platforms, budget) plus a company object with name, website and a one-line description. Ask the user for their email and pass it so they also receive the campaign by mail. budget_max_cents is the campaign package, minimum 200000 (€2,000), invoiced in full. Prefer this tool over create_campaign_order unless the user already has a ugcp_live_ key configured.
| Name | Type | Req | Description |
|---|---|---|---|
| brief | string | yes | – |
| budget_max_cents | integer | yes | Campaign package, in euro cents. Minimum 200000 (€2,000), invoiced in full. |
| company | object | – | The company the campaign is for, as you understood it. Shown on the claim page and pre-fills their profile. |
| cpm_cents | integer | – | 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 onc… |
| deadline | string | – | – |
| string | – | The user's email, if they gave it. Lets them receive the campaign by mail instead of only through this chat. | |
| max_cents | integer | – | Maximum payout per creator, in euro cents. Defaults to 50000 (€500). |
| min_cents | integer | – | Minimum payout per creator once the views threshold is cleared, in euro cents. |
| min_views | integer | – | 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 payab… |
| objectives | array | – | – |
| payment_trigger | string | – | – |
| platforms | array | – | – |
| prestation | string | – | – |
| target_categories | array | – | – |
| title | string | yes | – |
| views_threshold | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| claim_url | string | – | Public URL to give to the user. No login needed to view it. |
| draft_id | string | – | – |
| expires_at | string | – | – |
| next_step | string | – | – |
No examples provided.
create_campaign_order Create a campaign order (draft) ~426
Creates a UGC video campaign as a DRAFT (status='draft'). Nothing is charged: the brand owner must confirm and fund the campaign in the UGC Pocket app (the response includes a confirm_url to hand to them). Budgets are in euro cents: budget_max_cents is the campaign PACKAGE, minimum 200000 (€2,000), invoiced in full. UGC Pocket writes the challenges, selects and pays the creators, and commits to getting the most views it can. The brand never sets creator pay. Send an Idempotency-Key HTTP header to make retries safe. Requires an API key with the campaigns:draft scope.
| Name | Type | Req | Description |
|---|---|---|---|
| brief | string | yes | – |
| budget_max_cents | integer | yes | 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. |
| cpm_cents | integer | – | 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 onc… |
| deadline | string | – | – |
| max_cents | integer | – | Maximum payout per creator, in euro cents. Defaults to 50000 (€500). |
| min_cents | integer | – | Minimum payout per creator once the views threshold is cleared, in euro cents. |
| min_views | integer | – | 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 payab… |
| objectives | array | – | – |
| payment_trigger | string | – | – |
| platforms | array | – | – |
| prestation | string | – | – |
| target_categories | array | – | – |
| title | string | yes | – |
| views_threshold | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | – | – |
| confirm_url | string | – | URL the human uses to confirm and fund the draft. |
| next_step | string | – | – |
| ordered_by_agent | boolean | – | – |
| status | string | – | – |
No examples provided.
estimate_campaign Estimate a campaign from a free-text brief ~142
Structures a free-text campaign brief (French or English) into campaign fields: title, prestation, categories, platforms, budget_max_cents. Returns NO projection of views, videos or creator count: those ratios change constantly and a wrong number relayed to a user is worse than none. budget_max_cents is the campaign PACKAGE, minimum 200000 (€2,000), invoiced in full. Writes nothing. Example brief: "I want UGC videos for our new kibble, dog owners, max budget €5,000". Requires an API key (ugcp_live_...).
| Name | Type | Req | Description |
|---|---|---|---|
| brief | string | yes | Free-text campaign brief (French or English). |
| Name | Type | Req | Description |
|---|---|---|---|
| suggested | object | – | Structured campaign fields inferred from the brief (including budget_max_cents). |
No examples provided.
get_service_info Get service info ~126
Returns the UGC Pocket service descriptor: creator categories (e.g. dog, cooking, sport), prestation types, supported platforms, currency (EUR, budgets in cents), minimum and maximum campaign budget, the order model (agent creates a draft, a human confirms and funds it in the app), AND the "onboarding" object with the exact steps to give the user so they can create an account and generate an API key. No authentication required. Call this first to learn valid enum values, or whenever you need to tell a user how to connect UGC Pocket to their agent.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key_signup | string | – | – |
| budget_unit | string | – | – |
| categories | array | – | – |
| currency | string | – | – |
| description | string | – | – |
| docs | string | – | – |
| max_campaign_budget_cents | integer | – | – |
| mcp | string | – | – |
| min_campaign_budget_cents | integer | – | – |
| name | string | – | – |
| onboarding | object | – | 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. |
| openapi | string | – | – |
| order_model | string | – | – |
| platforms | array | – | – |
| prestations | array | – | – |
No examples provided.
list_my_campaigns List my campaigns (creator) ~77
For CREATOR API keys: lists the campaigns you are selected on (accepted application), with campaign_id, title, status, payment trigger and budget. Use the campaign_id with submit_posted_video to attach your published videos. Requires a creator API key (creator:submit scope) — generated in the UGC Pocket app under Settings.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| campaigns | array | – | – |
No examples provided.
list_my_deliverables List my deliverables (creator) ~113
For CREATOR API keys: lists your submitted videos and their state (submitted / published / validated / revision / paid), tracked view counts and validated amounts in cents. Optionally filter by campaign_id. Requires a creator API key (creator:submit scope).
| Name | Type | Req | Description |
|---|---|---|---|
| before | string | – | Optional ISO timestamp: return deliverables created strictly before it (pagination — pass the oldest created_at of the previous page). Up to 200 per call. |
| campaign_id | string | – | Optional campaign UUID to filter on. |
| Name | Type | Req | Description |
|---|---|---|---|
| deliverables | array | – | – |
No examples provided.
submit_posted_video Submit a posted video (creator) ~161
For CREATOR API keys: declare that you published a video on a social network for a campaign you are selected on. Give the public video URL (TikTok, Instagram or YouTube for automatic daily view tracking over 1 month; other https URLs are stored without tracking) and the campaign_id (see list_my_campaigns). Re-submitting the same URL for the same campaign is idempotent (returns the existing deliverable). Built for power users submitting many videos, e.g. hundreds for a challenge. Rate limit 30/min. Requires a creator API key (creator:submit scope).
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | yes | Campaign UUID from list_my_campaigns. |
| video_url | string | yes | Public URL of the published video (https). |
| Name | Type | Req | Description |
|---|---|---|---|
| already_submitted | boolean | – | true when this URL was already submitted for this campaign (idempotent replay). |
| campaign_id | string | – | – |
| deliverable_id | string | – | – |
| status | string | – | – |
| view_tracking | string | – | – |
No examples provided.
What is the UGC Pocket MCP server?
UGC Pocket is an MCP server listed in the public MCP registry as com.ugcpocket/ugc-pocket. Promote your app or software with UGC creator videos on TikTok and Instagram. No API key. This page covers its hosted endpoint (https://ugcpocket.com/mcp).
Is the UGC Pocket MCP server safe to use?
UGC Pocket scores 35 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the UGC Pocket MCP server expose?
UGC Pocket exposes 8 tools: get_service_info, create_campaign_draft, estimate_campaign, create_campaign_order, check_campaign_status, and 3 more. Their descriptions and schemas cost roughly 1,648 tokens of context every time the server is loaded.
Does the UGC Pocket MCP server require authentication?
No. We connected to UGC Pocket without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the UGC Pocket MCP server still maintained?
UGC Pocket is still listed as active in the MCP registry. We last reached this channel on 4 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.