Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_TRANSPORT | No | Transport: stdio for Claude Desktop/Cursor, streamable-http for hosted | stdio |
| ONBOARD_API_BASE_URL | No | Signal Found API (production endpoint — no change needed) | https://onboard.signal-found.com |
| ONBOARD_API_CLIENT_ID | Yes | Your client ID from signal-found.com | |
| ONBOARD_API_TIMEOUT_SECONDS | No | Request timeout (seconds) | 60 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| sf_health | Preflight check for MCP -> onboard_api connectivity and auth context. Use this first in a new session to confirm:
|
| login_with_client_id | Authenticate MCP session to a Signal Found client account. Run this at the start of each session before business tools.
Most tools require authenticated context and will use this session client id unless
you pass an explicit |
| current_client_context | Return the currently authenticated client context for this MCP server session. |
| agent_quickstart | Zero-context onboarding playbook for agents using this MCP server. Returns the recommended call sequence, common guardrails, and recovery hints. |
| logout_client_context | Clear the active authenticated client context for this MCP server session. |
| list_products | List all products for a client (slug, display_name, product_unique, folder_id). |
| 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:
Returns created Next step after success:
|
| create_new_product | Create a product and initialize the agent onboarding session context. The response includes:
Prerequisite:
Next step after success:
|
| 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:
Use
|
| submit_onboarding_artifacts | Validate and persist core onboarding artifacts for a product/session. Prerequisites:
Common use:
Expected formats:
|
| submit_agent_targeting | Persist targeting artifacts (keywords/subreddits) and return policy/preview. Prerequisites:
Typical next step:
Formats:
|
| 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 |
| 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:
Expected patch keys (string values):
|
| modify_conversion_notes | Read or update conversion notes with explicit required key names. How to use:
Expected keys (string values):
|
| modify_funnels | Read or replace funnels with explicit shape validation. How to use:
Expected item shape:
|
| modify_subreddits | Read or update subreddit targeting groups. How to use:
Expected
|
| modify_keywords | Read or update keyword targeting with optional search parameters. How to use:
Expected payload shape:
|
| 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 Supported actions:
|
| 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:
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:
Requirements:
On partial failure, returns |
| send_reddit_message | Send Reddit DMs to scraped leads via the Signal Found Chrome extension. Three modes (exactly one must be set):
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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |