{"server":"com.persuadioai/mcp","count":11,"changes":[{"tool":"update_campaign_message","kind":"changed","observed_at":"2026-10-11T01:16:57.923Z","fields":["inputSchema"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"1b7fdce58ffc48d8931575454632d021","after_hash":"aae006c224b7420ec7f49c5780460900"},{"tool":"get_performance_summary","kind":"added","observed_at":"2026-10-11T01:16:57.923Z","fields":[],"description_before":null,"description_after":"The account's performance report, identical to the website's Performance page: pipeline (discovered, purchased, enriched, imported, duplicates excluded), readiness (prepared, approved, eligible at last launch), delivery (queued, provider-accepted, confirmed delivered, failed, unsettled -- never folded together), engagement (replies, interested, appointments, conversions), cost in credits, and one row per autopilot lane. Read-only; sends nothing and buys nothing. A null value means NOT MEASURED and carries an unavailable_reason -- never report it to the operator as zero.","description_similarity":null,"before_hash":null,"after_hash":"66d7f4d9f01736e12168160aa115f0fc"},{"tool":"create_campaign_draft","kind":"changed","observed_at":"2026-10-11T01:16:57.923Z","fields":["inputSchema"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"fbb52ee364bbc585313e55a8b95fe09b","after_hash":"40c7ff435cff4df3086c1a3023fb534c"},{"tool":"clone_campaign_draft","kind":"changed","observed_at":"2026-10-11T01:16:57.923Z","fields":["inputSchema"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"537478417ca27294bc3d8963f64ac494","after_hash":"838fcb79c6840d787f5a7f2073311623"},{"tool":"review_campaign_readiness","kind":"changed","observed_at":"2026-09-29T12:09:54.354Z","fields":["inputSchema"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"61b0708b614e37673076a11f8ab2d469","after_hash":"316ecdcd1f3ce577d9d133e5d190cd64"},{"tool":"launch_approved_campaign","kind":"changed","observed_at":"2026-09-29T12:09:54.354Z","fields":["inputSchema"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"e5f1afacf508633c014597dce3ec50be","after_hash":"895973ad529a5c56679f36e7628a3d1c"},{"tool":"review_campaign_readiness","kind":"changed","observed_at":"2026-09-28T07:32:48.476Z","fields":["inputSchema"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"aa53a9425d09f1b23405f48d66ba6720","after_hash":"61b0708b614e37673076a11f8ab2d469"},{"tool":"launch_approved_campaign","kind":"changed","observed_at":"2026-09-28T07:32:48.476Z","fields":["inputSchema"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"6ecfd500b82eb874fd3224c058c040b1","after_hash":"e5f1afacf508633c014597dce3ec50be"},{"tool":"check_campaign_readiness","kind":"added","observed_at":"2026-09-26T00:57:12.207Z","fields":[],"description_before":null,"description_after":"Read-only, idempotent campaign readiness status for monitoring and scheduled checks: recipient count, message, channels, cost and every pass/warn/fail check. SENDS NOTHING and NEVER mints an approval token or confirmation phrase, so it cannot launch a campaign. Use review_campaign_readiness only when a human is actively deciding whether to launch.","description_similarity":null,"before_hash":null,"after_hash":"216bb88b921c6c1c5b7b51c5160dff70"},{"tool":"launch_approved_campaign","kind":"changed","observed_at":"2026-09-25T07:38:37.269Z","fields":["description","inputSchema"],"description_before":"SENDS REAL MESSAGES TO REAL PEOPLE. This is irreversible and costs credits. It requires an approval_token from review_campaign_readiness AND the confirmation phrase that review returned, which the HUMAN OPERATOR must give you explicitly. Never generate the confirmation yourself, never infer approval from a previous message, and never reuse an approval issued for a different campaign or a different size. If the operator has not clearly said yes to this exact launch, do not call this tool — ask them.","description_after":"SENDS REAL MESSAGES TO REAL PEOPLE. This is irreversible and costs credits. It requires an approval_token from review_campaign_readiness and explicit operator authorization for this exact launch. In an interactive current turn where the human explicitly asked to send this campaign, pass operator_authorized_this_launch=true instead of asking them to copy/paste the server phrase. Never set that flag for a scheduled or background run, standing instructions, prior approval, enthusiasm, or inferred intent. Never infer approval. Never generate the confirmation yourself. The exact confirmation phrase remains supported for other clients. Never reuse an approval issued for a different campaign or a different size.","description_similarity":0.451,"before_hash":"95dfbd90601b9c25f9df6ae5f32234e4","after_hash":"6ecfd500b82eb874fd3224c058c040b1"},{"tool":"clone_campaign_draft","kind":"changed","observed_at":"2026-09-25T07:38:37.269Z","fields":["description","inputSchema"],"description_before":"Copy a previous campaign's configuration (channel, message template, AI instructions, follow-up sequence, sender/automation settings) onto a brand-new campaign, and attach an audience to it. THE RESULT IS ALWAYS A DRAFT — this tool NEVER launches, NEVER sends, and never touches an approval token; it does not call launch_approved_campaign under any circumstance. import_ids (from preview_lead_import / import_leads_from_file) is the preferred way to supply a bulk audience — give several to combine multiple imported files into one campaign; leads are deduplicated across every import_id and lead_id given. At least one of import_ids/lead_ids should normally be supplied, or the clone has no audience. After this, call review_campaign_readiness; only an explicit human approval may lead to launch_approved_campaign.","description_after":"Copy a previous campaign's configuration (channel, message template, AI instructions, follow-up sequence, sender/automation settings) onto a brand-new campaign, and attach an audience to it. THE RESULT IS ALWAYS A DRAFT — this tool NEVER launches, NEVER sends, and never touches an approval token; it does not call launch_approved_campaign under any circumstance. import_ids (from preview_lead_import / import_leads_from_file) is the preferred way to supply a bulk audience — give several to combine multiple imported files into one campaign; leads are deduplicated across every import_id and lead_id given. At least one of import_ids/lead_ids should normally be supplied, or the clone has no audience. Use channels=['sms'] when the new draft must be text-only with no AI/voice calls, and from_address_id to pin the verified email identity on an email clone. After this, call review_campaign_readiness; only an explicit human approval may lead to launch_approved_campaign.","description_similarity":0.857,"before_hash":"0b84f7f24576aa398f41e99455ccb197","after_hash":"537478417ca27294bc3d8963f64ac494"}],"next_before":null,"next_actions":[]}