Skip to main content

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 require website_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:
Show me all product lines for [website].

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:
Give me the full details for the [product line name] product line.

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:
Create a product line called "[name]" for [website]. It covers [description].
Product line names must be unique within a website. Claude will check for conflicts before creating.

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:
Update the description for the [product line name] product line to: [new description].

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:
Delete the [product line name] product line from [website].
This action is irreversible. Claude will ask for confirmation before calling this tool. Entities tagged to the deleted product line revert to unscoped.

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:
Tag all the [product name] blogs with the [product line name] product line.
You can tag entities of different types in separate calls within the same conversation. Claude will track what it has and hasn’t tagged and report a summary at the end.

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:
Scan untagged blogs for [website] and suggest which product line each belongs to.

Onboarding Tools

These tools are used during the onboarding flow to check setup status and load brand context. They are read-heavy — only update_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:
What's left in my onboarding for [website]?

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:
How fresh is the data for [website]? Are there any sources I should be concerned about?

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:
Show me the full brand context for [website].
Show me the brand context for the [product line name] product line.

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:
Update the tone for [product line name] on [website]. The voice should be [description]. Avoid [list of things to avoid].
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.