get_product_tree
Get nested folders and products for a client, equivalent to frontend product tree.
create_new_account
Create a brand-new Signal Found client account for onboarding.
Requires:
- `business_name`
- `email`
Returns created `client_id` and (by default) logs this MCP session into it.
Next step after success:
- call `create_new_product`
create_new_product
Create a product and initialize the agent onboarding session context.
The response includes:
- product creation result
- context packet (existing artifacts + screenshot uri)
- prompt pack + version metadata
Prerequisite:
- authenticated session via `login_with_client_id` (or provide `client_id` explicitly)
Next step after success:
- call `run_full_agentic_onboarding` (or run staged tools manually)
get_onboarding_prompt_pack
Fetch server-curated prompt contracts that define required onboarding outputs.
Use this when an agent needs exact formatting/expectations before generating:
- clarifications
- conversation transcript
- market positioning
- keywords/subreddits
Use `artifact` for focused contracts:
- clarifications
- market_position
- conversation
- keywords
- subreddits
submit_onboarding_artifacts
Validate and persist core onboarding artifacts for a product/session.
Prerequisites:
- prompt pack must be acknowledged for `session_id`
- payloads should match the artifact schemas below
Common use:
- called by `run_full_agentic_onboarding`
- can also be used for staged/recovery runs
Expected formats:
- market_position: patch object with market position keys
- conversion_notes: {'Product Name','Payment Terms/Plans','General Notes'}
- funnels: [{'url','description','primary_use_case', optional 'qualification'}]
submit_agent_targeting
Persist targeting artifacts (keywords/subreddits) and return policy/preview.
Prerequisites:
- prompt pack must be acknowledged for `session_id`
- artifacts should already be saved for best results
Typical next step:
- approve targeting (done automatically by `run_full_agentic_onboarding` when enabled)
Formats:
- keywords: list[str]
- subreddit_groups: [{'subreddits': ['name1','name2']}]
onboarding_campaign_decision
Evaluate readiness and optionally start campaign immediately.
If not ready and blocked on credits, also returns a checkout link.
Use this after onboarding reaches targeting approval.
Set `start_now=true` to attempt campaign launch.
configure_product_strategy
Read/update product strategy assets: market position, conversion notes, and funnels.
configure_targeting
Read/update subreddit targeting and keywords for a product.
modify_market_positioning
Read or update market positioning with explicit format guidance.
How to use:
- Call without `market_position_patch` to inspect current data before editing.
- Send only keys you want to change (patch semantics).
Expected patch keys (string values):
- `one_line_pitch`
- `icp`
- `competitive_alternatives`
- `uniqueness`
- `value_proof`
- `market_category`
- `trends`
- `additional_info`
modify_conversion_notes
Read or update conversion notes with explicit required key names.
How to use:
- Call without `conversion_notes` to inspect current notes.
- For updates, provide all three canonical keys for consistency.
Expected keys (string values):
- `Product Name`
- `Payment Terms/Plans`
- `General Notes`
modify_funnels
Read or replace funnels with explicit shape validation.
How to use:
- Call without `funnels` to inspect current funnel list.
- Update is replace-style: provide the full intended funnels list.
Expected item shape:
- `url` (string)
- `description` (string)
- `primary_use_case` (string)
- `qualification` (optional string)
modify_subreddits
Read or update subreddit targeting groups.
How to use:
- Call without `subreddit_groups` to inspect current targeting.
- Update expects `groups` format used by onboard API targeting endpoint.
Expected `subreddit_groups` item shape:
- `subreddits`: list of subreddit names (without `r/` prefix preferred).
modify_keywords
Read or update keyword targeting with optional search parameters.
How to use:
- Call without `keywords` to inspect current keywords config.
- Update writes explicit keyword list and optional search params.
Expected payload shape:
- `keywords`: list[str]
- `search_params` (optional):
- `sort`: one of `relevance|hot|top|new|comments`
- `time_filter`: one of `hour|day|week|month|year|all`
- `per_keyword_limit`: int
list_campaigns
List campaigns for a client (active/inactive, product mapping, budget, and warning signals).
rebalance_resources_to_product
Shift outbound/day budget from the worst active campaign to a target product campaign.
portfolio_close_rate
Compute close rate across all products based on CRM conversion states.
compare_confirmed_vs_uninterested
Pull sample confirmed and uninterested conversations and return side-by-side message snippets.
crm_workbench
CRM read/write operations (no reply generation and no DM sending).
Use `action` to select operation; each action has its own required fields.
This tool intentionally excludes outbound messaging behaviors.
Supported actions:
- list_customers
- prospect_stats
- get_conversation_by_id
- update_conversion_state
- update_blacklist
- get_notes
- update_notes
list_conversion_states
Return canonical CRM conversion states available for recategorization.
crm_customers_by_state
List CRM customer data filtered by conversion states with explicit dedupe diagnostics.
crm_state_stats
Return CRM state statistics (unique deduped customer counts by conversion_state).
get_deduped_crm_by_category
Retrieve deduped CRM records by single state or lead-category bucket.
get_conversation_by_id
Get conversation messages for a conversation ID inside a product scope.
get_conversation_notes
Get notes for a CRM conversation in a product scope.
update_conversation_notes
Update notes for a CRM conversation in a product scope.
change_crm_state
Change a customer's CRM conversion state (category) for a product.
upsert_conversation_note
Create/update a conversation note for a product scope conversation.
voice_of_customer_report
Produce a voice-of-customer report combining outcome metrics and confirmed/uninterested conversation samples.
billing_and_credits
Get billing + credits overview, and optionally create a checkout session preview/action.
sales_control_tower
Command-center summary for a client: products, campaign health, close-rate, and recommendations.
Best first operational tool after login when the user asks for "what should we do next?"
get_onboarding_status
Canonical onboarding progress view for a product/session.
Returns:
- current phase
- next required action
- prompt-pack ack state
- targeting approval state
- missing artifacts + readiness blockers
Use this for recovery if a previous onboarding run was partial or failed.
run_full_agentic_onboarding
Execute the full staged onboarding flow end-to-end in one call.
Intended for zero-context agents that want a safe default path.
This tool orchestrates:
- prompt-pack version + ack
- clarifications (questions/mode/answers)
- conversation (mode/transcript/extract)
- artifact validation + writes
- targeting submit (+ optional approve)
- readiness snapshot
Requirements:
- `clarifying_questions` must have exactly 3 items
- pass valid schema payloads for artifacts/targeting
On partial failure, returns `failed_stage`, `retry_hint`, and completed stages.
send_reddit_message
Send Reddit DMs to scraped leads via the Signal Found Chrome extension.
Three modes (exactly one must be set):
- target_username: cold DM to a specific Reddit user
- crm_reply_to: reply to an existing CRM conversation
- batch_from_working_leads=True: send to all uncontacted working leads for this product
Message content: provide a manual message, or set generate_message=True (default) to
auto-generate using the product's market positioning and conversion notes via Phase 2.
In batch mode, pre-computed suggested_response values are reused when available.
Requires a Chrome extension connected and active on Reddit. Fails immediately if none
is online.