Problem
When a user (or AI agent) says "create an email", the natural tool to reach for is nitro_compose_email. But this tool creates a template (a design artifact), not a sendable email. The actual sendable email is created via nitro_compose_campaign.
This naming mismatch causes real friction:
- In a session today, when asked to "create a weekly investor update email and send a test", the AI agent used
nitro_compose_email (creating an orphaned template) instead of nitro_compose_campaign (which creates a campaign with an attached template that can actually be sent).
- The user had to manually catch the mistake and ask for a redo.
- This will happen to every user and every AI agent that connects via MCP, because "compose email" is the most intuitive match for "create an email."
Current tool mapping
| Tool name |
What it actually does |
What users expect |
nitro_compose_email |
Creates/updates a template |
Creates a sendable email |
nitro_compose_campaign |
Creates a sendable campaign (with template) |
Less obvious entry point |
Suggested fix
Option A (rename):
- Rename
nitro_compose_email → nitro_compose_template or nitro_manage_template
- This makes it unambiguous that you're working on a design object, not a send
Option B (smarter routing):
- When
nitro_compose_email is called with audience/list context, auto-create a campaign instead of a standalone template
- If no audience is provided, create a template as today
Option C (tool description update, minimum viable):
- Update the
nitro_compose_email tool description to explicitly say: "Creates a reusable email template. To create an email you can send to a list, use nitro_compose_campaign instead."
- This helps AI agents pick the right tool without a breaking rename
Recommendation: Option A is cleanest long-term. Option C is a quick fix that can ship today.
Impact
This affects every MCP-connected agent (Claude, ChatGPT, Codex, Cursor) and will compound as more users connect. The tool name is the primary signal AI agents use to decide which tool to call.
Steps to reproduce
- Connect to Nitrosend via MCP
- Ask: "Create an investor update email for my investor list and send me a test"
- Agent calls
nitro_compose_email → creates a template, not a campaign
- User has to catch the error and re-request
Problem
When a user (or AI agent) says "create an email", the natural tool to reach for is
nitro_compose_email. But this tool creates a template (a design artifact), not a sendable email. The actual sendable email is created vianitro_compose_campaign.This naming mismatch causes real friction:
nitro_compose_email(creating an orphaned template) instead ofnitro_compose_campaign(which creates a campaign with an attached template that can actually be sent).Current tool mapping
nitro_compose_emailnitro_compose_campaignSuggested fix
Option A (rename):
nitro_compose_email→nitro_compose_templateornitro_manage_templateOption B (smarter routing):
nitro_compose_emailis called with audience/list context, auto-create a campaign instead of a standalone templateOption C (tool description update, minimum viable):
nitro_compose_emailtool description to explicitly say: "Creates a reusable email template. To create an email you can send to a list, usenitro_compose_campaigninstead."Recommendation: Option A is cleanest long-term. Option C is a quick fix that can ship today.
Impact
This affects every MCP-connected agent (Claude, ChatGPT, Codex, Cursor) and will compound as more users connect. The tool name is the primary signal AI agents use to decide which tool to call.
Steps to reproduce
nitro_compose_email→ creates a template, not a campaign