diff --git a/TOOLS.md b/TOOLS.md index 73a2758..7f82f01 100644 --- a/TOOLS.md +++ b/TOOLS.md @@ -1,21 +1,25 @@ # Available Iterable MCP Tools (104 tools) -**Legend:** 🔒 = Contains PII, ✏️ = Write operation +**Legend:** +- 🔒 = Requires enabling user PII access +- ✏️ = Requires enabling writes +- ✉️ = Requires enabling sends + ## Campaigns (13 tools) - **abort_campaign** ✏️: Abort a campaign that is currently running -- **activate_triggered_campaign** ✏️: Activate a triggered campaign (requires API triggered campaign activation enabled) +- **activate_triggered_campaign** ✏️✉️: Activate a triggered campaign (requires API triggered campaign activation enabled) - **archive_campaigns** ✏️: Archive one or more campaigns. Scheduled/recurring campaigns will be cancelled, running campaigns will be aborted. - **cancel_campaign** ✏️: Cancel a scheduled or recurring campaign -- **create_campaign** ✏️: Create a new blast or triggered campaign from an existing template. If listIds are provided, the campaign will be a blast campaign, otherwise it will be a triggered campaign. Blast campaigns will be sent immediately if sendAt is not provided. +- **create_campaign** ✏️✉️: Create a new blast or triggered campaign from an existing template. If listIds are provided, the campaign will be a blast campaign, otherwise it will be a triggered campaign. Blast campaigns will be sent immediately if sendAt is not provided. - **deactivate_triggered_campaign** ✏️: Deactivate a triggered campaign (requires API triggered campaign deactivation enabled) - **get_campaign**: Get detailed information about a specific campaign - **get_campaign_metrics**: Get campaign performance metrics - **get_campaigns**: Retrieve campaigns - **get_child_campaigns**: Get child campaigns generated by a recurring campaign -- **schedule_campaign** ✏️: Schedule an existing campaign to be sent at a specific time -- **send_campaign** ✏️: Send an existing scheduled campaign immediately -- **trigger_campaign** ✏️: Trigger a campaign to send to specified lists +- **schedule_campaign** ✏️✉️: Schedule an existing campaign to be sent at a specific time +- **send_campaign** ✏️✉️: Send an existing scheduled campaign immediately +- **trigger_campaign** ✏️✉️: Trigger a campaign to send to specified lists ## Catalogs (12 tools) - **bulk_delete_catalog_items** ✏️: Bulk delete catalog items by their IDs @@ -41,15 +45,15 @@ ## Events (4 tools) - **get_user_events_by_email** 🔒: Get event history for a user by email address - **get_user_events_by_user_id** 🔒: Get event history for a user by user ID -- **track_bulk_events** 🔒✏️: Track multiple events in a single request for better performance -- **track_event** 🔒✏️: Track a custom event for a user +- **track_bulk_events** 🔒✏️✉️: Track multiple events in a single request for better performance +- **track_event** 🔒✏️✉️: Track a custom event for a user ## Experiments (1 tools) - **get_experiment_metrics**: Get experiment metrics for A/B testing analysis (currently supports email experiments only) ## Journeys (2 tools) - **get_journeys**: Get journeys (workflows) with optional pagination and state filtering -- **trigger_journey** 🔒✏️: Trigger a journey (workflow) for a user +- **trigger_journey** 🔒✏️✉️: Trigger a journey (workflow) for a user ## Lists (8 tools) - **create_list** ✏️: Create a new user list @@ -72,12 +76,12 @@ - **get_embedded_messages** 🔒: Get embedded messages for a user, grouped by placement ID - **get_in_app_messages** 🔒: Get in-app messages for a user - **get_message_types**: Get all message types within the project for use in templates -- **send_email** 🔒✏️: Send email to user -- **send_in_app** 🔒✏️: Send in-app message to user -- **send_push** 🔒✏️: Send push notification to user -- **send_sms** 🔒✏️: Send SMS message to user -- **send_web_push** 🔒✏️: Send web push notification to user -- **send_whatsapp** 🔒✏️: Send WhatsApp message to user +- **send_email** 🔒✏️✉️: Send email to user +- **send_in_app** 🔒✏️✉️: Send in-app message to user +- **send_push** 🔒✏️✉️: Send push notification to user +- **send_sms** 🔒✏️✉️: Send SMS message to user +- **send_web_push** 🔒✏️✉️: Send web push notification to user +- **send_whatsapp** 🔒✏️✉️: Send WhatsApp message to user ## Snippets (5 tools) - **create_snippet** ✏️: Create a new snippet with Handlebars templating support @@ -103,10 +107,10 @@ - **get_templates**: Retrieve templates - **preview_email_template**: Preview email template with custom data. Returns fully rendered HTML with user, event, and/or data feed data substituted. - **preview_inapp_template**: Preview in-app message template with custom data. Returns fully rendered HTML with user, event, and/or data feed data substituted. -- **send_email_template_proof** 🔒✏️: Send a proof of a email template to a specific user -- **send_inapp_template_proof** 🔒✏️: Send a proof of a in-app message template to a specific user -- **send_push_template_proof** 🔒✏️: Send a proof of a push notification template to a specific user -- **send_sms_template_proof** 🔒✏️: Send a proof of a SMS template to a specific user +- **send_email_template_proof** 🔒✏️✉️: Send a proof of a email template to a specific user +- **send_inapp_template_proof** 🔒✏️✉️: Send a proof of a in-app message template to a specific user +- **send_push_template_proof** 🔒✏️✉️: Send a proof of a push notification template to a specific user +- **send_sms_template_proof** 🔒✏️✉️: Send a proof of a SMS template to a specific user - **update_email_template** ✏️: Update existing email template by templateId - **update_inapp_template** ✏️: Update existing in-app message template by templateId - **update_push_template** ✏️: Update existing push notification template by templateId diff --git a/scripts/update-tools.js b/scripts/update-tools.js index 788a7d8..6a2f6ca 100644 --- a/scripts/update-tools.js +++ b/scripts/update-tools.js @@ -1,6 +1,10 @@ import { readFileSync, writeFileSync } from "fs"; import { TOOL_CREATORS_BY_CATEGORY } from "../dist/tools/index.js"; -import { NON_PII_TOOLS, READ_ONLY_TOOLS } from "../dist/tool-filter.js"; +import { + NON_PII_TOOLS, + READ_ONLY_TOOLS, + SEND_TOOLS, +} from "../dist/tool-filter.js"; const TOOLS_FILE = "TOOLS.md"; @@ -20,6 +24,7 @@ try { let icons = ""; if (!NON_PII_TOOLS.has(toolName)) icons += "🔒"; if (!READ_ONLY_TOOLS.has(toolName)) icons += "✏️"; + if (SEND_TOOLS.has(toolName)) icons += "✉️"; return icons ? ` ${icons}` : ""; }; @@ -27,7 +32,11 @@ try { [ `# Available Iterable MCP Tools (${totalToolCount} tools)`, ``, - `**Legend:** 🔒 = Contains PII, ✏️ = Write operation`, + `**Legend:**`, + `- 🔒 = Requires enabling user PII access`, + `- ✏️ = Requires enabling writes`, + `- ✉️ = Requires enabling sends`, + ``, ...toolsByCategory.flatMap(({ category, tools }) => [ `\n## ${category} (${tools.length} tools)`, ...tools.map(