{"serverId":"mcp-registry/co.civai.nova/leads-discovery-agent","tools":[{"name":"create_scan_schedule","fixed":{"name":"create_scan_schedule","description":"Create an auto-scan schedule (Import Only or Message now outreach). Discovery params for x/instagram accept max_post_age_days (1-365; omit = no age limit) and post_age_relax_steps (0-4, default 3) to cap how old a source post may be before its engagers are collected; the window widens within a run only.","inputSchema":{"type":"object","required":["agent_id","channel"],"properties":{"label":{"type":"string"},"params":{"type":"object"},"channel":{"type":"string"},"enabled":{"type":"boolean"},"agent_id":{"type":"string"},"max_runs":{"type":"integer"},"frequency":{"type":"string"},"auto_import":{"type":"boolean"},"run_hour_utc":{"type":"integer"},"auto_outreach":{"type":"string"},"source_scan_at":{"type":"string"},"source_scan_id":{"type":"string"},"max_leads_per_run":{"type":"integer"},"relax_target_filter_after_runs":{"type":"integer"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":249,"tokensAfter":249},{"name":"delete_scan_schedule","fixed":{"name":"delete_scan_schedule","description":"Delete an auto-scan schedule.","inputSchema":{"type":"object","required":["agent_id","schedule_id"],"properties":{"agent_id":{"type":"string"},"schedule_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":62,"tokensAfter":62},{"name":"delete_scans","fixed":{"name":"delete_scans","description":"Delete one or more completed scan runs (does not delete schedules).","inputSchema":{"type":"object","required":["agent_id","scan_ids"],"properties":{"agent_id":{"type":"string"},"scan_ids":{"type":"array","items":{"type":"string"}}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":76,"tokensAfter":76},{"name":"get_discovery_analytics","fixed":{"name":"get_discovery_analytics","description":"Get sourced-leads analytics for an agent (window e.g. 7d, 30d).","inputSchema":{"type":"object","required":["agent_id"],"properties":{"window":{"type":"string"},"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"get_scan","fixed":{"name":"get_scan","description":"Get one scan with paginated leads (status, progress, leads).","inputSchema":{"type":"object","required":["agent_id","scan_id"],"properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"scan_id":{"type":"string"},"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":81,"tokensAfter":81},{"name":"import_leads","fixed":{"name":"import_leads","description":"Import discovered leads into the agent CRM (outreach: none|immediate|bulk_followup).","inputSchema":{"type":"object","required":["agent_id","scan_id","lead_ids"],"properties":{"label":{"type":"string"},"scan_id":{"type":"string"},"agent_id":{"type":"string"},"lead_ids":{"type":"array","items":{"type":"string"}},"outreach":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":107,"tokensAfter":107},{"name":"list_connectors","fixed":{"name":"list_connectors","description":"List WhatsApp, Instagram, Email, X connector status for a support agent.","inputSchema":{"type":"object","required":["agent_id"],"properties":{"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":60,"tokensAfter":60},{"name":"list_scan_results","fixed":{"name":"list_scan_results","description":"Alias of get_scan — read leads from an active or completed scan.","inputSchema":{"type":"object","required":["agent_id","scan_id"],"properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"scan_id":{"type":"string"},"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":84,"tokensAfter":84},{"name":"list_scan_schedules","fixed":{"name":"list_scan_schedules","description":"List auto-scan schedules for an agent.","inputSchema":{"type":"object","required":["agent_id"],"properties":{"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":52,"tokensAfter":52},{"name":"list_scans","fixed":{"name":"list_scans","description":"List past and active leads discovery scans for an agent.","inputSchema":{"type":"object","required":["agent_id"],"properties":{"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":54,"tokensAfter":54},{"name":"run_scan","fixed":{"name":"run_scan","description":"Start a leads discovery scan (whatsapp, instagram, x, telegram, or jiji). Discovery params for x/instagram accept max_post_age_days (1-365; omit = no age limit) and post_age_relax_steps (0-4, default 3) to cap how old a source post may be before its engagers are collected; the window widens within a run only.","inputSchema":{"type":"object","required":["agent_id","channel"],"properties":{"params":{"type":"object"},"channel":{"type":"string"},"agent_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":142,"tokensAfter":142},{"name":"trigger_scan_schedule","fixed":{"name":"trigger_scan_schedule","description":"Run an auto-scan schedule immediately (Run now).","inputSchema":{"type":"object","required":["agent_id","schedule_id"],"properties":{"agent_id":{"type":"string"},"schedule_id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":68,"tokensAfter":68},{"name":"update_scan_schedule","fixed":{"name":"update_scan_schedule","description":"Update or pause/resume an auto-scan schedule. Discovery params for x/instagram accept max_post_age_days (1-365; omit = no age limit) and post_age_relax_steps (0-4, default 3) to cap how old a source post may be before its engagers are collected; the window widens within a run only.","inputSchema":{"type":"object","required":["agent_id","schedule_id"],"properties":{"label":{"type":"string"},"params":{"type":"object"},"channel":{"type":"string"},"enabled":{"type":"boolean"},"agent_id":{"type":"string"},"max_runs":{"type":"integer"},"frequency":{"type":"string"},"auto_import":{"type":"boolean"},"schedule_id":{"type":"string"},"run_hour_utc":{"type":"integer"},"auto_outreach":{"type":"string"},"max_leads_per_run":{"type":"integer"},"relax_target_filter_after_runs":{"type":"integer"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":233,"tokensAfter":233}],"toolsChanged":13,"tokensSaved":0,"todo":[{"tool":"abort_scans","params":["reason","agent_id","scan_ids"]},{"tool":"clear_discovery_cache","params":["agent_id"]},{"tool":"continue_scan","params":["scan_id","agent_id","selected_resources","max_contacts_per_group"]},{"tool":"create_scan_schedule","params":["label","params","channel","enabled","agent_id","max_runs","frequency","auto_import","run_hour_utc","auto_outreach","source_scan_at","source_scan_id","max_leads_per_run","relax_target_filter_after_runs"]},{"tool":"delete_scan_schedule","params":["agent_id","schedule_id"]},{"tool":"delete_scans","params":["agent_id","scan_ids"]},{"tool":"get_discovery_analytics","params":["window","agent_id"]},{"tool":"get_scan","params":["limit","offset","scan_id","agent_id"]},{"tool":"import_leads","params":["label","scan_id","agent_id","lead_ids","outreach"]},{"tool":"list_connectors","params":["agent_id"]},{"tool":"list_scan_results","params":["limit","offset","scan_id","agent_id"]},{"tool":"list_scan_schedules","params":["agent_id"]},{"tool":"list_scans","params":["agent_id"]},{"tool":"run_scan","params":["params","channel","agent_id"]},{"tool":"suggest_targets","params":["channel","agent_id","min_followers","discovery_depth","discovery_breadth","disable_hard_filter"]},{"tool":"trigger_scan_schedule","params":["agent_id","schedule_id"]},{"tool":"update_scan_schedule","params":["label","params","channel","enabled","agent_id","max_runs","frequency","auto_import","schedule_id","run_hour_utc","auto_outreach","max_leads_per_run","relax_target_filter_after_runs"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}