Home / Documentation
Clippable
Market your product with one connection
Public docs for the hosted Clippable MCP connector and attribution SDK. Written for people connecting agents, and for IT admins who need to approve the server.
For IT admins
Use this page when evaluating Clippable as a custom MCP server in Claude, ChatGPT, Cursor, or similar hosts. Interactive setup for end users lives at clippable.io/mcp; this document is the reviewable reference.
| Server name | Clippable |
| Endpoint | https://helpers.clippable.io/api/mcpStreamable HTTP MCP (helpers). Same-origin product traffic stays on clippable.io. |
| Authentication | OAuth for hosted connectors (Claude / ChatGPT), or a personal connector key as Authorization: Bearer … for Cursor, Claude Code, and other HTTP MCP clients. Keys are minted by the account owner and shown once. |
| Data access | Calls are scoped to the authenticated owner's Clippable workspace (brand kit, plans, creatives, connected accounts they already authorized). The connector does not grant broader authority than that user has in the product. Campaign-automation tools remain unavailable over MCP. |
| Publishing | Social posts and TikTok drafts stay owner-mediated. MCP can queue drafts; a human must approve in Clippable Pages (or the relevant product surface) before anything goes live. |
| Hosting | Clippable Labs Inc. operates the connector on our production helpers infrastructure (HTTPS). We do not ask customers to self-host the MCP server for the standard product connector. |
| Policies | Privacy Policy · DPA · Platform data compliance · security@clippable.io |
Hosted MCP connector
Clippable's hosted MCP endpoint gives Claude, Cursor, ChatGPT, and other MCP clients the account-scoped creative and marketing tools used in Clippable. Create a personal connector key in Settings → Connectors; the endpoint and plaintext key are shown there, and the key is only displayed once. Endpoint: https://helpers.clippable.io/api/mcp.
Connect Claude Code
Create a connector key
Open Settings → Connectors, create a key, and copy both its HTTPS endpoint and the one-time key.
Configure remote HTTP MCP
Set the two environment variables before launching Claude Code, then add this to .mcp.json or your Claude Code MCP settings.
{
"mcpServers": {
"clippable": {
"type": "http",
"url": "${CLIPPABLE_MCP_URL}",
"headers": {
"Authorization": "Bearer ${CLIPPABLE_MCP_KEY}"
},
"timeout": 300000
}
}
}The five-minute timeout covers long video and creative renders. Claude Code can also add the same connector from its CLI with claude mcp add --transport http. For Claude's hosted custom connectors, use the endpoint's static/Bearer header option when it is available for your workspace.
Available MCP tools
| Category | Representative tools |
|---|---|
| Video production | clip_long_form, create_video_edit, recreate_reel_from_footage,analyze_video_link, get_video_transcript, search_footage,add_footage_from_url, and export_to_drive |
| Brand creative | get_brand_guidelines, ingest_brand_website, create_static_ad,create_ad_set, animate_ad, regenerate_ad_shot,localize_ad, and create_motion_graphic |
| Research and plans | web_search, research_trends, find_winning_ads,search_meta_ads, manage_mention_leads, find_song_creators,get_seedance_exemplars, generate_content_week, add_plan_items,create_marketing_plan, create_content_calendar, create_deck, and create_one_pager |
| Results and ads | get_results, reel_radar, audit_ads, and opt-intiktok_ads_* account-management tools |
| Publishing | list_tiktok_pages and create_tiktok_draft; MCP can only queue a draft, and the owner must still approve it in Pages before publication. |
Connections and approvals
Call get_connection_instructions with a tool name such as export_to_drive or tiktok_ads_accounts to receive Clippable's server-provided connection action. If a connected provider is missing during a tool call, the MCP result instead returns a structured needs_connection payload with the same action. Complete OAuth in that browser page as the connector-key owner, then retry the original tool; provider credentials never pass through Claude or another MCP client.
An owner decision is surfaced as an approval action. TikTok drafts link to Pages for individual review, and paused creative runs link back to Clippy. Those actions remain owner-mediated: the connector does not approve or publish anything automatically.
Connector keys never grant more authority than their owner has in Clippable. Each call is owner-scoped, campaign-automation tools remain unavailable, and TikTok Ads management requires a key explicitly created with the Allow ads management permission.
Example agent prompt
Using my Clippable MCP connector:
1. Read my brand guidelines and research the winning hooks in [niche]
2. Find three proven ad angles for [product]
3. Generate a week of content plus a shareable marketing deck
4. Create two on-brand static ads, then animate the stronger one
5. Queue the final video as a TikTok draft for my approvalLegacy Video Critique API
The Video Critique REST API remains a separate legacy API-key integration. It does not configure the hosted MCP connector above.
POST https://clippable.io/api/mcp/video-critique
Authorization: Bearer clp_mcp1_...
Content-Type: application/json
{ "video_url": "https://www.instagram.com/reel/CxAbC123/" }Give your agent a growth engine
Create a connector key, connect the hosted MCP endpoint, and let your agent research, plan, produce, and measure marketing work in your existing Clippable workspace.
ROAS attribution SDK
Measure the real impact of creator campaigns on your store. The Clippable SDK tracks every visitor interaction and uses tracked links from post descriptions to provide deterministic click-through attribution alongside our temporal correlation engine.
Quick start
pip install clippable-sdkOr use the web tracker below if you prefer a script tag on your storefront.
How it works
Install the SDK
Run pip install clippable-sdk for server-side integrations, or add the web tracker script to your store. Captures page views, product interactions, cart events, and purchases from every visitor.
Creators get tracked links
Each clipper gets a unique link to your store with a ?clp=CODE parameter. They put it in their post description.
Viewers click, SDK tracks
When a viewer clicks the link, they land on your real store. The SDK detects the tracking param, records the click, and attributes every action in that session (including purchases) to the creator.
See ROAS in your dashboard
Deterministic click attribution combines with our temporal correlation engine for a complete ROAS picture, even for visitors who didn't click a tracked link.
Installation
Python
Install the package from PyPI, then configure your store credentials in your app or notebook.
pip install clippable-sdkWeb tracker
Add the tracking script to every page of your store. Place it before the closing </body> tag or in your layout component.
<script
src="https://helpers.clippable.io/sdk/tracker.js"
data-store-id="YOUR_STORE_ID"
data-api-key="YOUR_API_KEY"
></script>Get your Store ID and API Key from the brand dashboard after creating a campaign with a tracking URL. The script is ~8KB and loads asynchronously, it won't affect your page speed.
Automatic tracking
The SDK automatically captures these events for every visitor, no additional code required:
| Event | Description |
|---|---|
page_view | Every page load, URL, title, referrer |
link_click | Fired when a visitor arrives via a tracked link (?clp=CODE) |
scroll_depth | At 25%, 50%, 75%, and 90% scroll thresholds |
time_on_page | At 30s, 60s, 2min, and 5min marks |
Tracked links
When you set a "Store Link" on your campaign, each clipper gets a unique tracked URL:
https://yourstore.com/products/summer-sale?clp=k7xm2n4pThis is your real store URL, not a redirect. When a viewer clicks it:
- 1.They land on your store normally
- 2.The SDK detects
?clp=k7xm2n4pand fires alink_clickevent - 3.The
?clp=param is silently removed from the URL bar - 4.Every subsequent event in that session (product views, add to cart, purchases) is attributed to the clipper
Manual event tracking
For store-specific interactions that aren't auto-detected, use the JavaScript API:
Product view
clippable.productView({
id: 'SKU-123',
name: 'Summer T-Shirt',
price: 29.99,
category: 'Apparel'
});Add to cart
clippable.addToCart({
id: 'SKU-123',
name: 'Summer T-Shirt',
price: 29.99,
quantity: 1
});Purchase
This is the most important event for ROAS calculation. Call it on your order confirmation page.
clippable.purchase({
order_id: 'ORD-456',
revenue: 59.98,
currency: 'USD',
items: [
{ id: 'SKU-123', name: 'Summer T-Shirt', price: 29.99, quantity: 2 }
]
});Custom events
clippable.track('signup', { plan: 'pro' });
clippable.track('video_play', { video_id: 'abc' });Attribution model
Clippable uses two complementary attribution methods:
Direct attribution
When a visitor arrives via a tracked link (?clp=CODE), every action in that session is deterministically attributed to the clipper. This gives you exact click-to-purchase tracking.
Temporal correlation
For visitors who find your store organically after seeing a campaign (no tracked link), our engine correlates campaign view spikes with store traffic spikes using Pearson correlation analysis. This captures viral and organic reach that direct links miss.
Privacy
- •No personal data collected, visitor IDs are anonymous UUIDs stored in localStorage
- •No cookies, uses localStorage and sessionStorage only
- •No cross-site tracking, data is scoped to your store domain
- •The
?clp=parameter is automatically removed from the URL bar after detection - •~8KB script, loads asynchronously, zero impact on Core Web Vitals
JavaScript API reference
| Method | Description |
|---|---|
clippable.track(type, data) | Track a custom event |
clippable.productView(product) | Track a product page view |
clippable.addToCart(product) | Track an add-to-cart action |
clippable.purchase(order) | Track a completed purchase with revenue |
clippable.identify(userId, traits) | Associate the visitor with a known user |
clippable.flush() | Force-send all queued events immediately |
clippable.getVisitorId() | Returns the anonymous visitor UUID |
clippable.getSessionId() | Returns the current session UUID |
Instant setup with AI
Download our integration prompt and paste it into your AI coding assistant. It will automatically find the right files in your codebase and add the SDK script, product view tracking, add-to-cart tracking, and purchase tracking.
clippable-sdk-integration.md
Works with Claude Code, Codex, Cursor, Windsurf, and any AI coding tool
# Claude Code
claude "$(cat clippable-sdk-integration.md)"
# Or just drag the file into Cursor / Codex / WindsurfReady to start tracking?
Create a campaign with a store tracking URL, install the SDK script, and you'll see click and ROAS data in your brand dashboard within minutes.