MCP Tool Reference
This page covers the 11 MCP tools specific to product line management and onboarding. These tools are available to Claude in any conversation once the WisePilot MCP connection is active. For general data and content tools (ads, metrics, SEO, content browsing), see the full tool reference.Product Line Tools
These tools read and write product line configuration. Write operations requirewebsite_id to be resolved — Claude will call list_websites first if it doesn’t have the ID in context.
list_product_lines
Lists all product lines for a website, with optional status filtering (active, archived, or all).
Required parameters: website_id
Response includes: Product line IDs, names, descriptions, tone settings, vertical count, entity tag counts, and created/updated timestamps.
Example prompt that triggers it:
get_product_line
Returns full detail for a single product line, including its configured verticals, tone context, and a summary of how many entities (blogs, ads, CTAs, keyword clusters) are tagged to it.
Required parameters: website_id, product_line_id
Response includes: All list_product_lines fields plus verticals array, tone guidelines, linked ICP IDs, and tagged entity counts by type.
Example prompt that triggers it:
create_product_line
Creates a new product line with a name, description, and initial tone settings.
Required parameters: website_id, name, description
Optional parameters: tone (object with voice, style, avoid fields), verticals (array of vertical names)
Response includes: The newly created product line object with its assigned product_line_id.
Example prompt that triggers it:
update_product_line
Updates one or more fields on an existing product line. Supports partial updates — only the fields you specify are changed.
Required parameters: website_id, product_line_id
Optional parameters: name, description, tone, verticals, status (active | archived)
Response includes: The updated product line object.
Example prompt that triggers it:
delete_product_line
Permanently deletes a product line. Requires admin role. Tagged entities are not deleted — they lose their product line tag but remain in the system.
Required parameters: website_id, product_line_id
Response includes: Confirmation with the count of entities that lost their tag assignment.
Example prompt that triggers it:
batch_tag_product_line
Tags multiple entities with a product line ID in a single call. Accepts up to 50 entity IDs per call. Claude will automatically batch larger sets.
Required parameters: website_id, product_line_id, entity_ids (array), entity_type (e.g., blog, ad, cta, keyword_cluster)
Response includes: Count of successfully tagged entities, count of failures, and a list of any entity IDs that failed with reasons.
Example prompt that triggers it:
propose_classification
Scans untagged entities of a given type and uses the product line descriptions and verticals to suggest product line assignments. Returns proposals with a confidence score — Claude will present these for your review before applying anything.
Required parameters: website_id, entity_type
Optional parameters: limit (default 50, max 200), min_confidence (default 0.6)
Response includes: An array of proposals, each with entity_id, entity_name, proposed_product_line_id, confidence, and reasoning.
Example prompt that triggers it:
Onboarding Tools
These tools are used during the onboarding flow to check setup status and load brand context. They are read-heavy — onlyupdate_product_tone writes data.
get_onboarding_status
Returns a checklist of onboarding progress across all major setup areas. This is usually the first tool Claude calls when you ask about setup status or runner readiness.
Required parameters: website_id
Response includes: Status (complete, partial, missing) for integrations, brand voice, ICPs, offers, product lines, SEO module, operating context, and runner configuration. Each item includes a short explanation of what’s missing when the status is not complete.
Example prompt that triggers it:
get_data_health
Returns data freshness and completeness metrics per connected source. Useful for understanding whether a runner has enough signal to produce quality output before you enable it.
Required parameters: website_id
Response includes: Per-source metrics including last sync timestamp, record count, freshness status (fresh, stale, missing), and a completeness percentage. Sources covered: Google Analytics, Google Search Console, Google Ads, Meta Ads, GHL Conversations, WordPress.
Example prompt that triggers it:
get_brand_context
Returns the complete brand context for a website or product line, including brand position, tone guidelines, detected messaging dimensions, and confirmed learnings. This is what runners load at the start of every execution.
Required parameters: website_id
Optional parameters: product_line_id (if provided, returns product-line-scoped context rather than site-wide)
Response includes: Brand name, positioning statement, tone settings, ICP summaries, active messaging dimensions (hooks, angles, offers), and recent confirmed learnings.
Example prompt that triggers it:
update_product_tone
Updates the tone context for a specific product line. This is separate from update_product_line — it targets only the tone fields and validates that the tone object is well-formed before writing.
Required parameters: website_id, product_line_id, tone
The tone object accepts: voice (string), style (string), avoid (array of strings), examples (array of strings).
Response includes: The updated tone object alongside the product line name and ID for confirmation.
Example prompt that triggers it:
Tone changes take effect on the next runner execution. Running runners are not interrupted — the updated tone will apply to the next scheduled or triggered run.