UGC Pocket

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

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
78%
命名质量
98%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~3,125token 数(工具定义)
~3.0 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 2.44%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

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

远程端点

https://ugcpocket.com/mcpstreamable-http

它能做什么

工具清单

工具(8)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢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.

输入模式

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

输出模式

{
  "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.

输入模式

{
  "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
}

输出模式

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

输入模式

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

输出模式

{
  "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.

输入模式

{
  "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
}

输出模式

{
  "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.

输入模式

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

输出模式

{
  "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.

输入模式

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

输出模式

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

输入模式

{
  "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
}

输出模式

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

输入模式

{
  "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
}

输出模式

{
  "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"
          }
        }
      }
    }
  }
}

社区

评价此服务器

证据

最近观测

已验证未记录版本8 个工具
已验证未记录版本8 个工具