MCP Server / Tools Reference
Campaigns
Create, train, rename, and archive campaigns.
list_campaigns
List all your campaigns with status and profile counts.
Always returns a non-empty string. An empty result means the tool did not execute — do not infer or fabricate campaign data.
get_campaign
Get details about a specific campaign including status, training, and filter configuration.
Always returns a non-empty string. An empty result means the tool did not execute — do not infer or fabricate campaign details. Args: campaign_id: The campaign ID.
| Name | Type | Required | Description |
|---|---|---|---|
| campaign_id | string | yes |
create_campaign
Create a new campaign. It starts in Training status — submit product and customer info next.
Always returns a non-empty string containing the new campaign ID on success. An empty result means the campaign was not created — do not proceed as if it was. Args: name: A descriptive name for the campaign.
| Name | Type | Required | Description |
|---|---|---|---|
| name | string | yes |
train_campaign
Set up a campaign with product and customer information.
Provide a comprehensive description and the server handles everything: assesses quality, derives search filters, validates prospect count, and saves the campaign. If anything needs improvement, specific feedback is returned — address it and resubmit. Always returns a non-empty confirmation or feedback string. An empty result means the tool did not execute — the campaign was not saved, do not assume success or proceed to run_campaign. Args: campaign_id: The campaign to set up. description: Comprehensive product and customer description.
| Name | Type | Required | Description |
|---|---|---|---|
| campaign_id | string | yes | |
| description | string | yes |
preview_campaign_filters
Derive campaign search filters without saving them, so the user can review and approve.
Use this instead of train_campaign when you want to show the user what filters will be applied before committing. After the user approves, call apply_campaign_filters to save. The preview expires in 10 minutes. If the user wants different filters, ask them to refine their description and call preview_campaign_filters again with the updated description — do not attempt to modify filters directly. Filters can only be changed by re-deriving them from an updated description. Always returns a non-empty string. An empty result means the tool did not execute — no filters were derived and nothing was saved. Args: campaign_id: The campaign to preview filters for. description: Comprehensive product and customer description.
| Name | Type | Required | Description |
|---|---|---|---|
| campaign_id | string | yes | |
| description | string | yes |
apply_campaign_filters
Save the filters from a recent preview_campaign_filters call.
This is the confirmation step — it commits the exact filters the user already reviewed. No LLM calls are made; the filters are read from the server-side preview store and saved as-is. Must be called within 10 minutes of preview_campaign_filters. If the preview has expired, call preview_campaign_filters again. Always returns a non-empty confirmation string. An empty result means the tool did not execute — the campaign was not saved. Args: campaign_id: The campaign to apply the previewed filters to.
| Name | Type | Required | Description |
|---|---|---|---|
| campaign_id | string | yes |
rename_campaign
Rename a campaign.
Always returns a non-empty confirmation string. An empty result means the tool did not execute — the campaign was not renamed. Args: campaign_id: The campaign to rename. name: The new name.
| Name | Type | Required | Description |
|---|---|---|---|
| campaign_id | string | yes | |
| name | string | yes |
archive_campaign
Archive a campaign. Archived campaigns are hidden from the default list.
Always returns a non-empty confirmation string. An empty result means the tool did not execute — the campaign was not archived. Args: campaign_id: The campaign to archive.
| Name | Type | Required | Description |
|---|---|---|---|
| campaign_id | string | yes |
unarchive_campaign
Restore an archived campaign.
Always returns a non-empty confirmation string. An empty result means the tool did not execute — the campaign was not restored. Args: campaign_id: The campaign to unarchive.
| Name | Type | Required | Description |
|---|---|---|---|
| campaign_id | string | yes |