MCP
Capture tools
MCP tools for capture: what each does, the key level it needs, the operation it runs and its input schema. Part of the MISSIN public API: call it with an API…
An operation tool runs one API operation and takes its variables, so the operation's page says what each accepts. Two differences: the server fills in workspaceId and updatedBy, and campaignId, partnerId, formId, discountCodeId, socialNetworkId, waitlistId, incentiveId, channelId also take the record's name. A task tool chains several operations and is described here in full. Every tool's input schema, keyed by tool name: capture.schema.json.
Task tools
quote_capture
Access: Read · Kind: task · Toolset: core · Hints: read-only
Price capturing a partner's posts: credits and pounds per platform, and which platforms are skipped (no handle, or the platform says the account is gone). Always show this to the merchant before start_capture.
Try: “How much would it cost to pull @test11's posts?”
Input schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"partner": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
]
}
],
"description": "Partner UUID, name or @handle."
},
"platforms": {
"description": "instagram, tiktok, youtube, twitter (x), facebook; reels and stories only when named. Default: every platform the partner has a handle on.",
"minItems": 1,
"type": "array",
"items": {
"type": "string"
}
},
"maxPerPartner": {
"description": "Posts to fetch per handle this run (1 to 100). Default: the workspace's saved setting.",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"partner"
]
}start_capture
Access: Write · Kind: task · Toolset: core · Hints: destructive
SPENDS CREDITS: starts capturing a partner's posts. Call quote_capture first, show the merchant the price and get their OK; send the approved quotedCredits. Refuses with quote_changed (and the new price) if the price moved: that price is information for the merchant, not a number to resend; show it, ask again, never retry on your own. If the merchant mentions a campaign, resolve it (ask on needs_choice) BEFORE this call: capture runs cannot be re-filed into a campaign afterwards. Runs in the background: report the runs and check them with get_capture_status.
Try: “Pull @test11's Instagram and TikTok posts into my spring campaign.”
Input schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"partner": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
]
}
],
"description": "Partner UUID, name or @handle."
},
"platforms": {
"description": "instagram, tiktok, youtube, twitter (x), facebook; reels and stories only when named. Default: every platform the partner has a handle on.",
"minItems": 1,
"type": "array",
"items": {
"type": "string"
}
},
"maxPerPartner": {
"description": "Posts to fetch per handle this run (1 to 100). Default: the workspace's saved setting.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"campaign": {
"description": "File the captured posts into this campaign (UUID or name; not the default campaign).",
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
]
}
]
},
"quotedCredits": {
"type": "number",
"minimum": 0,
"description": "The quotedCredits from quote_capture that the merchant approved."
}
},
"required": [
"partner",
"quotedCredits"
]
}get_capture_status
Access: Read · Kind: task · Toolset: core · Hints: read-only
Check capture runs: status per run, new posts found, and whether all are done.
Try: “Has the capture finished?”
Input schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"runIds": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"description": "The runIds start_capture returned."
}
},
"required": [
"runIds"
]
}Operation tools
| Tool | Operation | Access | Toolset | Hints | What it does |
|---|---|---|---|---|---|
cancel_capture_run | CancelCaptureRun | Write | capture | destructive | Cancel a queued or running capture run; unspent credits are released. Irreversible. |
get_capture_guardrails | CaptureGuardrails | Read | capture | read-only, idempotent | The capture failure brake and the wasted-run refund allowance for this workspace. |
get_capture_metrics | CaptureMetrics | Read | capture | read-only, idempotent | Capture totals over the recent window: runs by outcome, results, spend and refunds. |
get_capture_queue | CaptureQueue | Read | capture | read-only, idempotent | The shared capture queue: free slots, queued bands and this workspace's position. |
get_capture_quotes | CaptureQuotes | Read | capture | read-only, idempotent | Price proposed capture runs (surface, targets, cap, add-ons) in credits and GBP before starting them. |
list_capture_runs | CaptureRunsList | Read | capture | read-only, idempotent | Page through capture runs with status, surface, campaign, results and charges. |
get_capture_schedules | CaptureSchedules | Read | capture | read-only, idempotent | List saved capture schedules: the cadence per partner or campaign axis. |
get_capture_settings | CaptureSettings | Read | capture | read-only, idempotent | Saved per-surface capture settings: posts per partner and paid add-ons. |
get_capture_unit_rate | CaptureUnitRate | Read | capture | read-only, idempotent | GBP per capture credit at this workspace's plan tier. |
delete_capture_schedule | DeleteCaptureSchedule | Write | capture | destructive | Turn a capture schedule off by deleting its row. Irreversible. |
dispatch_hashtag_capture | DispatchHashtagCapture | Write | capture | destructive | Spends credits; prefer start_capture. Paid hashtag capture into a campaign. Resolve the campaign before dispatching: runs cannot be re-filed. Spends capture credits: get a quote first (quote_capture or get_capture_quotes), show the merchant the cost, and pass it as quotedCredits. |
dispatch_partner_capture | DispatchPartnerCapture | Write | capture | destructive | Spends credits; prefer start_capture. Paid capture of partners' posts on one surface; pass quotedCredits. Resolve any campaign before dispatching: runs cannot be re-filed. Spends capture credits: get a quote first (quote_capture or get_capture_quotes), show the merchant the cost, and pass it as quotedCredits. |
rerun_capture_run | RerunCaptureRun | Write | capture | destructive | Run a past capture again with the same targets; spends capture credits. Spends capture credits and cannot be priced ahead: tell the merchant it spends credits and get a yes before calling. |
reset_workspace_tracking | ResetWorkspaceTracking | Write | capture | destructive | Stop metric tracking on every post and clear all capture schedules. Irreversible. |
resync_capture_run | ResyncCaptureRun | Write | capture | destructive | Re-import a finished capture run's results; spends capture credits when the re-read is large. Spends capture credits and cannot be priced ahead: tell the merchant it spends credits and get a yes before calling. |
save_capture_schedule | SaveCaptureSchedule | Write | capture | destructive | Save a capture cadence for a surface (platform axis) or a campaign; plan tier limits apply. Commits recurring spend: scheduled captures that follow from this spend credits on every run, so confirm with the merchant first. |
save_integration_setting | SaveIntegrationSetting | Admin | capture | destructive | Save per-surface capture settings: posts per partner and add-ons. Commits recurring spend: scheduled captures that follow from this spend credits on every run, so confirm with the merchant first. |