UGC Pocket

Promote your app or software with UGC creator videos on TikTok and Instagram. No API key.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
78%
Qualität der Benennung
98%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~3,125Tokens (Tool-Definitionen)
~3.0 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.44% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "ugc-pocket": {
      "url": "https://ugcpocket.com/mcp"
    }
  }
}

Remote-Endpunkte

https://ugcpocket.com/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (8)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢get_service_info

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "categories": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "prestations": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "platforms": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "currency": {
      "type": "string"
    },
    "budget_unit": {
      "type": "string"
    },
    "order_model": {
      "type": "string"
    },
    "min_campaign_budget_cents": {
      "type": "integer"
    },
    "max_campaign_budget_cents": {
      "type": "integer"
    },
    "onboarding": {
      "type": "object",
      "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."
    },
    "api_key_signup": {
      "type": "string"
    },
    "openapi": {
      "type": "string"
    },
    "mcp": {
      "type": "string"
    },
    "docs": {
      "type": "string"
    }
  }
}
🟡create_campaign_draft(title, brief, prestation, objectives, target_categories, ...)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "maxLength": 120
    },
    "brief": {
      "type": "string",
      "maxLength": 2000
    },
    "prestation": {
      "type": "string",
      "enum": [
        "video_post"
      ]
    },
    "objectives": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "target_categories": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "dog",
          "cat",
          "car",
          "cooking",
          "couple",
          "business",
          "podcast",
          "sport",
          "beauty",
          "fashion",
          "tech",
          "home",
          "travel",
          "wellness",
          "family",
          "gaming",
          "finance",
          "diy",
          "garden",
          "pets",
          "lifestyle",
          "kids"
        ]
      }
    },
    "platforms": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "TikTok",
          "Instagram"
        ]
      }
    },
    "budget_max_cents": {
      "type": "integer",
      "minimum": 200000,
      "maximum": 10000000,
      "description": "Campaign package, in euro cents. Minimum 200000 (€2,000), invoiced in full."
    },
    "payment_trigger": {
      "type": "string",
      "enum": [
        "publication",
        "views"
      ]
    },
    "views_threshold": {
      "type": "integer",
      "minimum": 0
    },
    "cpm_cents": {
      "type": "integer",
      "minimum": 0,
      "maximum": 5000,
      "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."
    },
    "min_cents": {
      "type": "integer",
      "minimum": 0,
      "maximum": 200000,
      "description": "Minimum payout per creator once the views threshold is cleared, in euro cents."
    },
    "max_cents": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200000,
      "description": "Maximum payout per creator, in euro cents. Defaults to 50000 (€500)."
    },
    "min_views": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "deadline": {
      "type": "string",
      "format": "date"
    },
    "company": {
      "type": "object",
      "description": "The company the campaign is for, as you understood it. Shown on the claim page and pre-fills their profile.",
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 120
        },
        "website": {
          "type": "string",
          "maxLength": 250
        },
        "description": {
          "type": "string",
          "maxLength": 400,
          "description": "One line on what the company does."
        }
      },
      "additionalProperties": false
    },
    "email": {
      "type": "string",
      "maxLength": 200,
      "description": "The user's email, if they gave it. Lets them receive the campaign by mail instead of only through this chat."
    }
  },
  "required": [
    "title",
    "brief",
    "budget_max_cents"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "draft_id": {
      "type": "string"
    },
    "claim_url": {
      "type": "string",
      "description": "Public URL to give to the user. No login needed to view it."
    },
    "expires_at": {
      "type": "string"
    },
    "next_step": {
      "type": "string"
    }
  }
}
🟢estimate_campaign(brief)

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_...).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "brief": {
      "type": "string",
      "description": "Free-text campaign brief (French or English)."
    }
  },
  "required": [
    "brief"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "suggested": {
      "type": "object",
      "description": "Structured campaign fields inferred from the brief (including budget_max_cents)."
    }
  }
}
🟡create_campaign_order(title, brief, prestation, objectives, target_categories, ...)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "maxLength": 120
    },
    "brief": {
      "type": "string",
      "maxLength": 2000
    },
    "prestation": {
      "type": "string",
      "enum": [
        "video_post"
      ]
    },
    "objectives": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "target_categories": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "dog",
          "cat",
          "car",
          "cooking",
          "couple",
          "business",
          "podcast",
          "sport",
          "beauty",
          "fashion",
          "tech",
          "home",
          "travel",
          "wellness",
          "family",
          "gaming",
          "finance",
          "diy",
          "garden",
          "pets",
          "lifestyle",
          "kids"
        ]
      }
    },
    "platforms": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "TikTok",
          "Instagram"
        ]
      }
    },
    "budget_max_cents": {
      "type": "integer",
      "minimum": 200000,
      "maximum": 10000000,
      "description": "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."
    },
    "payment_trigger": {
      "type": "string",
      "enum": [
        "publication",
        "views"
      ]
    },
    "views_threshold": {
      "type": "integer",
      "minimum": 0
    },
    "cpm_cents": {
      "type": "integer",
      "minimum": 0,
      "maximum": 5000,
      "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."
    },
    "min_cents": {
      "type": "integer",
      "minimum": 0,
      "maximum": 200000,
      "description": "Minimum payout per creator once the views threshold is cleared, in euro cents."
    },
    "max_cents": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200000,
      "description": "Maximum payout per creator, in euro cents. Defaults to 50000 (€500)."
    },
    "min_views": {
      "type": "integer",
      "minimum": 0,
      "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."
    },
    "deadline": {
      "type": "string",
      "format": "date"
    }
  },
  "required": [
    "title",
    "brief",
    "budget_max_cents"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "draft"
      ]
    },
    "ordered_by_agent": {
      "type": "boolean"
    },
    "next_step": {
      "type": "string"
    },
    "confirm_url": {
      "type": "string",
      "description": "URL the human uses to confirm and fund the draft."
    }
  }
}
🟢check_campaign_status(campaign_id)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "type": "string",
      "description": "Campaign UUID returned by create_campaign_order."
    }
  },
  "required": [
    "campaign_id"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "ordered_by_agent": {
      "type": "boolean"
    },
    "confirm_url": {
      "type": "string"
    }
  }
}
🟢list_my_campaigns

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "campaigns": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "campaign_id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "prestation": {
            "type": "string"
          },
          "payment_trigger": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "publication",
              "views",
              null
            ]
          },
          "views_threshold": {
            "type": [
              "integer",
              "null"
            ]
          },
          "remuneration": {
            "type": "string",
            "description": "Fixed fee set by an internal method scoring the quality of your accounts, plus €1 per 1000 views capped at €500 per creator."
          },
          "deadline": {
            "type": [
              "string",
              "null"
            ]
          },
          "brief": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      }
    }
  }
}
🟡submit_posted_video(campaign_id, video_url)

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).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "type": "string",
      "description": "Campaign UUID from list_my_campaigns."
    },
    "video_url": {
      "type": "string",
      "description": "Public URL of the published video (https).",
      "maxLength": 500
    }
  },
  "required": [
    "campaign_id",
    "video_url"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "deliverable_id": {
      "type": "string"
    },
    "campaign_id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "already_submitted": {
      "type": "boolean",
      "description": "true when this URL was already submitted for this campaign (idempotent replay)."
    },
    "view_tracking": {
      "type": "string"
    }
  }
}
🟢list_my_deliverables(campaign_id, before)

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).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "type": "string",
      "description": "Optional campaign UUID to filter on."
    },
    "before": {
      "type": "string",
      "description": "Optional ISO timestamp: return deliverables created strictly before it (pagination — pass the oldest created_at of the previous page). Up to 200 per call."
    }
  },
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "deliverables": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "deliverable_id": {
            "type": "string"
          },
          "campaign_id": {
            "type": "string"
          },
          "campaign_title": {
            "type": [
              "string",
              "null"
            ]
          },
          "video_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": "string"
          },
          "views": {
            "type": "integer"
          },
          "amount_cents": {
            "type": [
              "integer",
              "null"
            ]
          },
          "created_at": {
            "type": "string"
          }
        }
      }
    }
  }
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet8 Tools
verifiziertVersion nicht aufgezeichnet8 Tools