Mautic MCP Server
Provides comprehensive integration with Mautic marketing automation platform, enabling contact management, campaign operations, email sending, form management, segment creation, analytics and reporting, asset and content management, company and tag operations, lead scoring, lifecycle stage management, and webhook automation.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Mautic MCP Serversearch for contacts with gmail in their email"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Mautic MCP Server
A comprehensive Model Context Protocol (MCP) server for Mautic 7 (Columba Edition) marketing automation platform. Supports both v1 (FOSRestBundle) and v2 (API Platform) endpoints with 68 tools.
Quick Start
# Clone and setup
git clone https://github.com/Cbrown35/mantic-MCP.git
cd mantic-MCP
npm install
# Configure your Mautic credentials
cp .env.example .env
# Edit .env with your Mautic API credentials
# Build and run
npm run buildThen add the server to your MCP configuration and start using natural language commands like:
"Search for all contacts with gmail in their email"
"Create a new project to organize my Q1 campaign resources"
"Clone campaign 5 and export it for staging"
"Send email template 12 to its assigned segment"
Related MCP server: Campaign Monitor MCP
What's New in v2.0 (Mautic 7 Support)
Projects (API v2)
Organize marketing resources under a single logical structure using Mautic 7's new API Platform v2 endpoints.
list_projects, get_project, create_project, update_project, patch_project, delete_project
Campaign Import/Export
Move complete campaign setups between environments.
clone_campaign - Clone an existing campaign
export_campaign - Export campaign data with all related assets
import_campaign - Import a campaign from JSON data
Campaign Analytics
get_campaign_event_details - Detailed metrics for campaign events
get_campaign_graph_stats - Campaign graph statistics for date ranges
get_campaign_map_stats - Geographic map statistics
Segment-Based Email Sending
send_email_to_segment - Send email to assigned segments with real-time audience adaptation
Email Reply Tracking
record_email_reply - Record email replies by tracking hash
get_email_graph_stats - Email graph statistics for date ranges
Deprecation Notice
SMS API classes have been removed in Mautic 7. The list_sms and create_sms tools include deprecation warnings.
Features
Authentication
OAuth2 authentication with automatic token refresh
Secure credential management through environment variables
Dual API support: v1 (FOSRestBundle) and v2 (API Platform)
Contact Management (6 tools)
create_contact - Create new contacts with custom fields
update_contact - Update existing contact information
get_contact - Retrieve contact details by ID or email
search_contacts - Search contacts with filters and pagination
delete_contact - Remove contacts from Mautic
add_contact_to_segment - Add contacts to specific segments
Campaign Management (13 tools)
list_campaigns - Get all campaigns with status and statistics
get_campaign - Get detailed campaign information
create_campaign - Create new campaigns
add_contact_to_campaign - Add contacts to campaigns
create_campaign_with_automation - Create campaigns with full event automation
execute_campaign - Manually execute/trigger campaigns
get_campaign_contacts - Get contacts in a campaign with their status
clone_campaign - Clone an existing campaign (Mautic 7)
export_campaign - Export campaign data with assets (Mautic 7)
import_campaign - Import campaign from JSON data (Mautic 7)
get_campaign_event_details - Campaign event metrics (Mautic 7)
get_campaign_graph_stats - Campaign graph statistics (Mautic 7)
get_campaign_map_stats - Campaign geographic stats (Mautic 7)
Email Operations (8 tools)
send_email - Send emails to specific contacts
list_emails - Get all email templates and campaigns
get_email - Get detailed email information
create_email_template - Create new email templates
get_email_stats - Get email performance statistics
send_email_to_segment - Send email to segments (Mautic 7)
record_email_reply - Record email reply by tracking hash (Mautic 7)
get_email_graph_stats - Email graph statistics (Mautic 7)
Form Management (3 tools)
list_forms - Get all forms with submission counts
get_form - Get form details and fields
get_form_submissions - Get form submission data
Segment Management (3 tools)
list_segments - Get all contact segments
create_segment - Create new contact segments with filters
get_segment_contacts - Get contacts in a specific segment
Content Management (7 tools)
list_assets - Get all assets (PDFs, images, documents)
get_asset - Get asset details by ID
create_asset - Create new assets (local or remote)
list_pages - Get all landing pages
create_page - Create new landing pages
list_sms - Get all SMS templates [DEPRECATED in Mautic 7]
create_sms - Create SMS templates [DEPRECATED in Mautic 7]
Business Entities (10 tools)
list_companies - Get all companies
create_company - Create new companies
add_contact_to_company - Associate contacts with companies
create_note - Add notes to contacts or companies
get_contact_notes - Get all notes for a contact
list_tags - Get all available tags
create_tag - Create new tags
add_contact_tags - Add tags to contacts
list_categories - Get all categories
create_category - Create new categories
Advanced Features (7 tools)
add_contact_points - Add points to contacts
subtract_contact_points - Subtract points from contacts
list_stages - Get all lifecycle stages
change_contact_stage - Change contact's lifecycle stage
list_contact_fields - Get all contact custom fields
create_contact_field - Create new contact custom fields
get_contact_activity - Get contact interaction history
Integration & Automation (5 tools)
list_webhooks - Get all webhooks
create_webhook - Create new webhooks
upload_file - Upload files to Mautic
list_reports - Get all reports
create_report - Create custom reports
Project Management - API v2 (6 tools, Mautic 7)
list_projects - List all projects
get_project - Get project details
create_project - Create a new project
update_project - Fully update an existing project
patch_project - Partially update a project
delete_project - Delete a project
Installation
Prerequisites
Node.js (v16 or higher)
npm or yarn
Access to a Mautic 7 instance with API credentials
Setup
Clone the repository:
git clone https://github.com/Cbrown35/mantic-MCP.git cd mantic-MCPInstall dependencies:
npm installConfigure environment variables:
cp .env.example .envEdit
.envand fill in your Mautic API credentials:MAUTIC_BASE_URL=https://your-mautic-instance.com/api/ MAUTIC_CLIENT_ID=your_client_id_here MAUTIC_CLIENT_SECRET=your_client_secret_here MAUTIC_TOKEN_ENDPOINT=https://your-mautic-instance.com/oauth/v2/tokenBuild the server:
npm run buildConfigure MCP settings: Add the server to your MCP configuration file:
{ "mcpServers": { "mautic-server": { "command": "node", "args": ["/path/to/mautic-server/build/index.js"], "env": { "MAUTIC_BASE_URL": "https://your-mautic-instance.com/api/", "MAUTIC_CLIENT_ID": "your_client_id", "MAUTIC_CLIENT_SECRET": "your_client_secret", "MAUTIC_TOKEN_ENDPOINT": "https://your-mautic-instance.com/oauth/v2/token" }, "disabled": false, "autoApprove": [] } } }
Architecture
Dual API Support
Mautic 7 has a three-tier API architecture:
Layer | Purpose | Endpoints |
API Platform 4.x | New v2 REST endpoints (JSON-LD/Hydra) |
|
FOSRestBundle | Existing v1 endpoints |
|
FOSOAuthServerBundle | OAuth2 authentication |
|
The MCP server automatically manages both API versions. v1 endpoints use the configured MAUTIC_BASE_URL directly, while v2 endpoints are derived automatically.
Project Structure
src/
├── index.ts # Entry point: server setup and startup
├── types/ # TypeScript interfaces
│ ├── common.ts # Shared types (OAuth2Token, ToolResult, etc.)
│ ├── contacts.ts # MauticContact interface
│ ├── campaigns.ts # MauticCampaign interface
│ ├── emails.ts # MauticEmail interface
│ ├── forms.ts # MauticForm interface
│ ├── segments.ts # MauticSegment interface
│ └── projects.ts # MauticProject interface (Mautic 7)
├── api/
│ └── client.ts # Dual API client (v1 + v2) with OAuth2
└── tools/
├── index.ts # Tool registry and dispatch
├── contacts.ts # Contact tools
├── campaigns.ts # Campaign tools (includes Mautic 7 additions)
├── emails.ts # Email tools (includes Mautic 7 additions)
├── forms.ts # Form tools
├── segments.ts # Segment tools
├── projects.ts # Project tools (Mautic 7 API v2)
├── content.ts # Asset, page, and SMS tools
├── business.ts # Company, note, tag, and category tools
├── advanced.ts # Points, stages, fields, and activity tools
└── integration.ts # Webhook, file, and report toolsConfiguration
Environment Variables
Variable | Description | Example |
| Your Mautic API base URL |
|
| OAuth2 Client ID |
|
| OAuth2 Client Secret |
|
| OAuth2 Token Endpoint |
|
Obtaining Mautic API Credentials
Log into your Mautic instance as an administrator
Go to Settings > Configuration > API Settings
Enable API access
Go to Settings > API Credentials
Create a new API credential with OAuth2 authorization
Note down the Client ID and Client Secret
Error Handling
The server includes comprehensive error handling:
Automatic OAuth2 token refresh
Detailed error messages from both v1 and v2 API formats
Graceful handling of authentication failures
Retry logic for transient errors
Security
All credentials are stored as environment variables
OAuth2 tokens are automatically refreshed
No sensitive data is logged or exposed
Secure HTTPS communication with Mautic API
Development
To modify or extend the server:
Edit the source code in the
src/directoryAdd new tools by creating a file in
src/tools/and importing it insrc/tools/index.tsBuild the server:
npm run buildTest with the MCP Inspector:
npm run inspector
Contributing
We welcome contributions! Please see the repository for contribution guidelines.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
Built with the Model Context Protocol SDK v1.26.0
Integrates with Mautic 7 (Columba Edition)
Available Tools
68 toolsadd_contact_pointsC
Add points to contact
| Name | Required | Description | Default |
|---|---|---|---|
| contactId | Yes | Contact ID | |
| points | Yes | Number of points to add | |
| eventName | No | Event name | |
| actionName | No | Action name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the description is too brief to disclose any behavioral traits such as side effects, authorization needs, or impact on contact data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence) but lacks substance. It does not include any additional context, though it is not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters and no output schema, the description should explain the purpose of optional parameters (eventName, actionName) and any effects. It fails to do so, leaving gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema, which already describes each parameter succinctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Add points to contact' clearly states the verb and resource, distinguishing it from the sibling 'subtract_contact_points'. It is specific enough to indicate the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'subtract_contact_points'. No context on prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_contact_tagsB
Add tags to contact
| Name | Required | Description | Default |
|---|---|---|---|
| contactId | Yes | Contact ID | |
| tags | Yes | Array of tag names |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lacks details about behavioral traits beyond what is already known. With no annotations provided, the description carries the full burden, yet it does not state whether tags are appended or replaced, if validation occurs, or if there are any side effects. The input schema only defines parameters but offers no operational insights.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise with a single sentence. Every word serves a purpose, and there is no extraneous information. It is front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters and no output schema, the description is minimally adequate. It provides enough clarity to invoke the tool correctly, but lacks context on behavior (e.g., overwrite vs append) and integration with related concepts. Given the simplicity, a 3 is reasonable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing basic descriptions for both parameters ('Contact ID' and 'Array of tag names'). The tool description adds no additional semantics beyond the schema, so it meets the baseline of 3 for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Add tags to contact' is a specific verb+resource combination that clearly communicates the tool's purpose. It distinguishes from sibling tools like 'create_tag' and 'add_contact_to_segment' by focusing on adding existing tags to a contact.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives such as 'add_contact_to_segment' or 'update_contact'. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_contact_to_campaignC
Add a contact to a campaign
| Name | Required | Description | Default |
|---|---|---|---|
| campaignId | Yes | Campaign ID | |
| contactId | Yes | Contact ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. However, it only states the operation name, offering no details on side effects, idempotency, error cases, or what happens if the contact is already in the campaign.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence) but lacks substance. While it avoids fluff, it does not effectively convey essential information, making it borderline insufficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 simple params, no output schema), the description should at least mention prerequisites or return values. It fails to provide a complete picture, relying solely on the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover both parameters (campaignId and contactId) with basic labels. The tool description adds no extra meaning beyond what the schema already provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add a contact to a campaign'), which distinguishes it from sibling tools like 'add_contact_to_company' or 'add_contact_to_segment'. However, it does not specify the exact nature of the addition (e.g., membership or association), leaving slight ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or limitations. The description lacks context that would help an agent decide to invoke this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_contact_to_companyC
Associate contact with company
| Name | Required | Description | Default |
|---|---|---|---|
| contactId | Yes | Contact ID | |
| companyId | Yes | Company ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, and the description does not disclose any behavioral traits beyond the basic association. It does not mention idempotency, side effects, permissions, or reversibility. The agent has no insight into what happens on duplicate associations or failures.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but lacks structure. It is front-loaded but could benefit from additional context without becoming verbose. The brevity does not clearly convey usage boundaries.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple association tool with full schema coverage and no output schema, the basic description may be minimally sufficient. However, given the presence of many sibling tools that perform similar associations, the lack of contextual completeness hinders accurate selection by an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers both parameters with descriptions ('Contact ID', 'Company ID'), achieving 100% schema description coverage. The tool description adds no further semantics, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Associate contact with company' clearly identifies the verb (associate) and the resources (contact, company). It distinguishes this tool from siblings like 'add_contact_to_campaign' by specifying 'company' as the target. However, it lacks precision on whether this creates a new association or updates an existing one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'add_contact_to_campaign' or 'add_contact_tags'. There are no exclusions, prerequisites, or context signals to help the agent decide. The description is purely declarative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_contact_to_segmentB
Add a contact to a specific segment
| Name | Required | Description | Default |
|---|---|---|---|
| contactId | Yes | Contact ID | |
| segmentId | Yes | Segment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden. It only says 'add' without disclosing side effects, whether it is idempotent, if it replaces existing segment membership, or any error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no unnecessary words. It is front-loaded with the action, but could include a bit more behavioral context without being overly long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description is too minimal. It does not address what happens upon success, error cases, or whether adding is cumulative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions ('Contact ID', 'Segment ID'). The description adds no additional meaning beyond repeating the parameter names. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'add' and the resources 'contact' and 'specific segment'. It effectively distinguishes from sibling tools like add_contact_to_campaign or add_contact_tags by specifying the target resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention when not to use it or provide context for selecting it over siblings like add_contact_to_campaign.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
change_contact_stageA
Change contact's lifecycle stage
| Name | Required | Description | Default |
|---|---|---|---|
| contactId | Yes | Contact ID | |
| stageId | Yes | Stage ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. 'Change' implies mutation, but it does not disclose side effects, required permissions, or failure modes. It is adequate but lacks depth for a mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no redundancy or extraneous information. It is optimally concise for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description is mostly complete. However, it could benefit from mentioning that the operation modifies the contact's stage and that the stageId must map to an existing stage. Minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for both parameters. The description adds no additional semantic meaning beyond what the schema provides. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (change) and the resource (contact's lifecycle stage), distinguishing it from sibling tools like 'update_contact' or 'list_stages'. It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not mention when to use this tool over alternatives, nor does it specify prerequisites or context (e.g., ensuring the contact exists or stageId is valid). This is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clone_campaignB
Clone an existing campaign (Mautic 7)
| Name | Required | Description | Default |
|---|---|---|---|
| campaignId | Yes | ID of the campaign to clone |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only says 'clone' without explaining what gets cloned (settings, contacts?), side effects, or whether it creates a new campaign ID. Minimal behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words, front-loaded with action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple tool with one parameter, but no output schema and description lacks return value indication (e.g., cloned campaign ID), permissions, or side effects. Incomplete for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter described. The description adds no meaning beyond the schema—it just restates 'clone an existing campaign'. Baseline 3 is appropriate as schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Clone an existing campaign (Mautic 7)' clearly states the action (clone) and resource (existing campaign), with a version hint, distinguishing it from related tools like create_campaign or export_campaign.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., create_campaign), no prerequisites mentioned, and no context about when cloning is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_assetC
Create new asset (local or remote)
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Asset title | |
| description | No | Asset description | |
| storageLocation | Yes | Storage location | |
| file | Yes | File path (local) or URL (remote) | |
| category | No | Category ID | |
| isPublished | No | Publish immediately |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states the action without indicating side effects (e.g., overwriting, permissions required, or system changes). The minimal text does not add behavioral context beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (6 words) and front-loaded with the core action. While it is concise, it could benefit from a slightly more structured explanation without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and 6 parameters (3 required), the description omits critical context: return value, validation rules, or what 'asset' means. It is not complete for an agent to confidently invoke the tool without additional hints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema; the qualifier 'local or remote' is already captured in the enum of 'storageLocation'. No extra value provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (create) and resource (asset), with the qualifier '(local or remote)' which hints at the storage distinction. It differentiates from siblings like 'create_contact' or 'create_campaign' by specifying 'asset', but lacks context on what an 'asset' represents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'upload_file' or other create tools. There is no mention of prerequisites, context, or exclusion criteria, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_campaignC
Create a new campaign
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Campaign name | |
| description | No | Campaign description | |
| isPublished | No | Publish immediately | |
| publishUp | No | Publish start date (YYYY-MM-DD HH:MM:SS) | |
| publishDown | No | Publish end date (YYYY-MM-DD HH:MM:SS) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. It only states the basic create action, omitting any details about permissions, side effects, or response behavior. This is insufficient for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, making it overly sparse. While concise, it sacrifices essential information, failing to earn its place as a useful guide for an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is incomplete for a tool with no output schema and moderate complexity (5 parameters). It does not explain the concept of a campaign, how it relates to siblings, or what happens upon successful creation, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with parameter descriptions, so the description does not need to add parameter info. However, it adds no additional meaning beyond what the schema provides, warranting the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Create a new campaign' is a tautology that restates the tool name without adding specificity. It does not differentiate from sibling tools like create_asset or create_company, which also perform create actions on different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description fails to indicate when to use this tool versus alternatives such as clone_campaign or create_campaign_with_automation, leaving the agent without context for choosing the appropriate tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_campaign_with_automationB
Create campaign with full event automation including triggers, actions, and canvas settings
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Campaign name | |
| description | No | Campaign description | |
| isPublished | No | Publish immediately | |
| allowRestart | No | Allow campaign restart | |
| events | No | Array of campaign events (triggers/actions) | |
| segments | No | Segment IDs to trigger campaign | |
| forms | No | Form IDs to trigger campaign | |
| canvasSettings | No | Visual campaign builder settings |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It mentions including triggers, actions, and canvas settings but does not disclose any behavioral traits such as destructive potential, authentication needs, or side effects. The description is too brief to provide adequate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently communicates the tool's purpose and scope. No unnecessary words or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (8 parameters, nested objects, no output schema), the description is too brief. It does not mention what is returned (e.g., campaign ID) or clarify usage of non-required fields. More detail would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter described in the schema. The description adds context by mentioning triggers, actions, and canvas settings, which maps to events and canvasSettings parameters, but it does not add new semantic meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a campaign with full event automation including triggers, actions, and canvas settings. This distinguishes it from the sibling tool 'create_campaign' which presumably creates a simpler campaign.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that this tool is for campaigns with automation, but it does not explicitly state when to use it instead of 'create_campaign' or other alternatives. No when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_categoryC
Create new category
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Category title | |
| alias | No | Category alias | |
| description | No | Category description | |
| bundle | Yes | Category type | |
| color | No | Hex color code |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits such as side effects, permissions, or constraints. As a mutation tool, it should at least indicate that it creates a new record, but no further details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (three words), which is concise but lacks structure. While it avoids verbosity, it is under-specified for a tool with five parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and minimal description, the tool definition is incomplete. It does not explain the creation process, any constraints, or what is returned upon success.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds no extra meaning beyond what the schema provides, earning a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Create new category' clearly states the verb (create) and resource (category), distinguishing it from sibling tools like 'create_asset' or 'create_campaign'. It is specific and unambiguous, though it could be slightly more descriptive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., other create tools). There is no mention of prerequisites, context, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_companyC
Create new company
| Name | Required | Description | Default |
|---|---|---|---|
| companyname | Yes | Company name | |
| companyemail | No | Company email | |
| companyphone | No | Company phone | |
| companyaddress1 | No | Address line 1 | |
| companyaddress2 | No | Address line 2 | |
| companycity | No | City | |
| companystate | No | State | |
| companyzipcode | No | Zip code | |
| companycountry | No | Country | |
| companywebsite | No | Website URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. 'Create new company' only implies a write operation. It does not mention side effects (e.g., is creation logged? requires permissions?), reversibility, or what happens on duplicate companyname.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence conveys the core action without waste. It is concise and to the point, though slightly more detail could improve clarity without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 10 parameters and no output schema or annotations, the description is too minimal. It does not explain the return value, error conditions, or required permissions, leaving significant gaps for effective tool use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes all parameters. The description adds no extra meaning beyond the fact that the tool creates a company. Baseline of 3 is appropriate as no further semantic value is contributed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Create new company' clearly states the verb (create) and the resource (company), effectively distinguishing it from sibling tools like create_contact or create_asset. While minimal, it is specific enough for an agent to infer the basic purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There are many 'create_*' siblings, but the description does not indicate criteria such as 'when adding a new organizational entity' or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_contactC
Create a new contact in Mautic
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Contact email address | ||
| firstName | No | First name | |
| lastName | No | Last name | |
| phone | No | Phone number | |
| company | No | Company name | |
| position | No | Job position | |
| customFields | No | Custom field values |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Lacks annotations and does not disclose behavioral traits such as idempotency, duplicate handling, or side effects. The description is minimal ('Create a new contact') and fails to provide context beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no unnecessary words. It is front-loaded but lacks structure for complex details. While concise, it sacrifices depth for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, nested objects) and lack of output schema, the description is insufficient. It does not explain return values, validation rules, or common use cases, leaving gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the schema already documents all parameters. The description adds no extra meaning or usage context, especially for the customFields object. Baseline 3 is appropriate as the description does not hinder understanding but adds no value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create' and the resource 'contact in Mautic', distinguishing it from tools that modify or delete contacts. However, it could be more specific about the scope (e.g., new vs. existing) to differentiate from update_contact.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like update_contact or add_contact_tags. Does not mention prerequisites, required permissions, or scenarios where it should be avoided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_contact_fieldB
Create new contact custom field
| Name | Required | Description | Default |
|---|---|---|---|
| label | Yes | Field label | |
| alias | No | Field alias | |
| type | Yes | Field type | |
| defaultValue | No | Default value | |
| isRequired | No | Is field required | |
| isPubliclyUpdatable | No | Can be updated publicly | |
| properties | No | Field type specific properties |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It only states the action (create) without mentioning permissions, constraints, side effects, or limits. This is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the core purpose. No extraneous words are present, making it highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (7 parameters, nested objects) and lack of output schema, the description should clarify return values or constraints. It does not, leaving some gaps, but schema coverage mitigates the impact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are already described in the input schema. The description adds no extra semantic meaning beyond what the schema provides, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Create new contact custom field' uses a specific verb ('Create') and resource ('contact custom field'), clearly distinguishing it from sibling tools like 'list_contact_fields' and other create tools for different entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as 'create_contact' or other create tools. It lacks context for exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_email_templateC
Create a new email template
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Email name | |
| subject | Yes | Email subject | |
| fromAddress | No | From email address | |
| fromName | No | From name | |
| replyToAddress | No | Reply-to email address | |
| customHtml | No | HTML content | |
| plainText | No | Plain text content | |
| emailType | No | Email type | |
| isPublished | No | Publish immediately |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral traits. It only states 'Create', implying mutation, but does not disclose side effects, permissions, or success/failure behavior. Minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (6 words) but lacks substance beyond the tool name. It is not verbose but fails to provide helpful context. Could be improved with minimal extra information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters, no output schema, and no annotations, the description is incomplete. It does not explain return values, error handling, or other contextual details needed for an agent to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 9 parameters. The description adds no additional parameter meaning beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new email template', which is a specific verb and resource. However, it does not differentiate from similar sibling tools like create_campaign or create_asset, missing an opportunity to clarify uniqueness.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like clone_campaign or send_email. The description offers no context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_noteC
Add note to contact or company
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Note text | |
| type | Yes | Note type | |
| contactId | No | Contact ID (if adding to contact) | |
| companyId | No | Company ID (if adding to company) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of disclosing behavior. It only states 'Add note', implying creation but provides no details on side effects, permissions, return values, or whether the operation is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that communicates the core purpose immediately with no extraneous words. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, the description is too minimal to be contextually complete. It fails to describe return values, side effects, or the effect of optional fields, which are critical for a creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add meaning beyond the schema; it only hints at the optionality of contactId and companyId. The structured parameter descriptions already suffice.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Add' and the resource 'note', specifying target as 'contact or company'. It distinguishes from siblings by focusing specifically on note creation, though it could be slightly more specific about the dual target.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, or when not to use it, leaving the agent without context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_pageC
Create new landing page
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Page title | |
| alias | No | Page alias | |
| customHtml | No | Custom HTML content | |
| template | No | Template name | |
| isPublished | No | Publish immediately | |
| publishUp | No | Publish start date | |
| publishDown | No | Publish end date |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description fails to disclose any behavioral traits such as mutation side effects, uniqueness constraints on alias, or required permissions. This is a critical gap for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that efficiently states the tool's purpose. While it could be slightly more informative, there is no unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 7 parameters and lack of output schema, the description is insufficient. It does not explain expected side effects, return value format, or behavior on duplicate alias, making it incomplete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all 7 parameters, so the schema already documents each parameter's purpose. The tool description adds no additional semantics beyond what the schema provides, justifying the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create' and the resource 'landing page', distinguishing it from other create tools like create_asset or create_campaign. However, it lacks additional specificity about the page type or context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description is minimal and does not mention preconditions, prerequisites, or related tools (e.g., list_pages).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_projectB
Create a new project to organize marketing resources (Mautic 7 API v2)
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Project name (required, must be unique) | |
| description | No | Project description | |
| properties | No | Additional JSON properties |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral traits. It only states 'create a new project' without mentioning side effects, permissions, or whether the operation is idempotent. The uniqueness constraint implied by the schema is not highlighted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no extraneous information. It is efficient and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description is adequate for a simple creation tool but lacks details on return values, error handling, or relationships to other project-related tools (e.g., get_project, update_project).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters. The description adds no extra meaning beyond the schema, such as clarifying the 'properties' object or constraints. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a project and associates it with organizing marketing resources, making the purpose specific. However, it does not differentiate from other create tools like create_asset or create_campaign, which could cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use create_project vs. alternatives (e.g., create_campaign, create_asset). The description offers no context for selection among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_reportC
Create custom report
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Report name | |
| description | No | Report description | |
| source | Yes | Data source (contacts, companies, etc.) | |
| columns | Yes | Report columns | |
| filters | No | Report filters | |
| groupBy | No | Group by columns |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only states 'create,' implying a write operation, but does not mention permissions, side effects, resource limits, or what happens to existing data. The lack of any behavioral detail is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two words, which is too brief to be effectively front-loaded. While concise, it sacrifices useful content; important details about the tool's function and parameters are missing, making it under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters, 3 required, and no output schema, the description is severely incomplete. It fails to explain return values, error conditions, or any side effects. The minimal text does not provide enough information for an AI agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with basic descriptions for all 6 parameters. The description does not add meaning beyond the schema. As per guidelines, baseline is 3 when coverage is high, and no extra value is provided here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Create custom report' indicates the general action (create) and resource (report) but lacks specificity to distinguish it from other 'create' sibling tools like create_campaign or create_contact. It does not clarify what constitutes a custom report or how it differs from a standard report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There are many create tools in the sibling list, but the description offers no context, prerequisites, or exclusions to help the agent decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_segmentC
Create a new contact segment
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Segment name | |
| alias | No | Segment alias | |
| description | No | Segment description | |
| isPublished | No | Publish immediately | |
| isGlobal | No | Global segment | |
| filters | No | Segment filters |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Only states 'create', implying mutation, but lacks details on side effects, permissions, or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short (one sentence), but under-specified for a tool with 6 parameters and no output schema. Concise but not sufficiently informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks explanation of return values, behavioral implications (e.g., what 'isGlobal' does), and does not compensate for missing output schema or annotations. Incomplete given complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so schema describes each parameter. Description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Create a new contact segment', which is a clear verb+resource. It distinguishes from siblings like 'add_contact_to_segment' by the verb 'create' vs 'add', though not explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., add_contact_to_segment, list_segments). No when-not-to-use or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_smsA
[DEPRECATED in Mautic 7] Create SMS template - SMS API classes have been removed
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | SMS name | |
| message | Yes | SMS message content | |
| isPublished | No | Publish immediately |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals key behavioral traits: the tool is deprecated and relies on removed API classes, implying it may not function. Although no annotations exist, this warning compensates well by alerting the agent to potential failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (one sentence) and front-loads the critical deprecation info. While efficient, it lacks structured details that could be beneficial, earning a 4.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is deprecated and has no output schema, the description adequately warns agents about its status and reason for deprecation. It does not explain return values, but that is acceptable given the context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters (name, message, isPublished). The description adds no additional meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates an SMS template ('Create SMS template'), which is a specific verb and resource. However, it does not provide differentiation from sibling 'create_*' tools, leaving agents to infer uniqueness.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly marks the tool as deprecated with 'DEPRECATED in Mautic 7' and notes that 'SMS API classes have been removed', giving clear guidance that this tool should be avoided. This effectively tells the agent when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_tagC
Create new tag
| Name | Required | Description | Default |
|---|---|---|---|
| tag | Yes | Tag name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description bears full responsibility for behavioral disclosure. The description simply states 'Create new tag' with no details on side effects, idempotency, permissions, or return behavior. This is insufficient for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at three words. While it is not verbose, its brevity comes at the cost of omitting any useful context. It does not earn its place as a standalone description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (1 param, no output schema), the description should at least mention what the tool returns or whether it creates a new tag globally or locally. It fails to provide this context, leaving the agent without complete information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameter 'tag' is already described as 'Tag name' in the schema. The description adds no additional meaning beyond the schema, earning a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Create new tag' which is a clear verb+resource combination. However, it is essentially a tautology of the tool name and does not distinguish from other creation tools like 'create_category' or 'create_asset'. The resource 'tag' is not defined, making it less helpful for an agent to understand the purpose precisely.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives such as 'list_tags' or 'add_contact_tags', nor does it mention any prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_webhookC
Create new webhook
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Webhook name | |
| description | No | Webhook description | |
| webhookUrl | Yes | Webhook URL | |
| secret | No | Webhook secret | |
| eventsOrderbyDir | No | Event order direction | |
| triggers | Yes | Event types to trigger webhook |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description fails to disclose any behavioral traits like idempotency, side effects, or authentication needs. Critical gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise but lacks structure. It is front-loaded but too minimal to provide sufficient guidance for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters, no output schema, and no annotations, the description is incomplete. Lacks info on return value, validation, or error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. Description adds no additional meaning beyond the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description 'Create new webhook' clearly states verb and resource. It differentiates from sibling tools like list_webhooks or create_contact, but lacks specificity about scope or variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs other creation tools. Absence of context signals for alternatives like update_webhook (if exists) or usage prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_contactA
Delete a contact from Mautic
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Contact ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It states the core action 'delete', implying irreversible removal, but does not disclose additional behaviors such as cascading effects on associated data or permission requirements. Adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no wasted words, front-loaded with action and object. Perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one required parameter, no output schema), the description is complete enough for basic use. However, it lacks context about irreversibility or side effects, which would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema's parameter description. While functional, it does not enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete a contact from Mautic' is a specific verb+resource, clearly stating the action and target. It distinguishes itself from sibling tools like 'create_contact' and 'update_contact'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. For example, it does not mention prerequisites or cautions about irreversible deletion, nor does it compare with other mutation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_projectC
Delete a project (Mautic 7 API v2)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must alone disclose behavioral traits. However, it only states 'Delete a project' without mentioning any consequences (e.g., irreversible, cascading deletions, permission requirements, or side effects). This is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief (one sentence) but lacks necessary detail. It is not verbose, but the conciseness comes at the cost of completeness, making it minimally acceptable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description is insufficient. It omits behavioral details such as what happens on successful deletion, error states, or idempotency. An agent needs more to use it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter 'id' described as 'Project ID'. The description adds no additional meaning beyond the schema, which already documents the parameter adequately. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Delete a project', using a clear verb+resource structure. It distinguishes itself from sibling tools like 'get_project', 'create_project', and 'list_projects', which have different actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., other delete operations like 'delete_contact'). There are no prerequisites, limitations, or context about when deletion is appropriate, leaving the agent without sufficient decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_campaignB
Manually execute/trigger a campaign
| Name | Required | Description | Default |
|---|---|---|---|
| campaignId | Yes | Campaign ID | |
| contactIds | No | Optional: specific contacts |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It only states 'manually execute/trigger' without explaining side effects, destructive potential, or what happens to contacts. The optional contactIds parameter is not elaborated, and there is no mention of return values or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, using a single phrase 'Manually execute/trigger a campaign'. It is front-loaded with the core action, but could benefit from additional context without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there are no annotations, no output schema, and the tool likely has side effects (e.g., sending campaign communications), the description is incomplete. It does not explain the tool's behavior, return value, or potential errors, leaving significant gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for both parameters: 'Campaign ID' and 'Optional: specific contacts'. The description adds no additional meaning beyond what the schema states. Since schema coverage is 100%, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Manually execute/trigger a campaign', using specific verbs 'execute' and 'trigger' on the resource 'campaign'. This clearly distinguishes it from siblings like create_campaign, clone_campaign, and get_campaign, which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, typical use cases, or scenarios to avoid, leaving the agent without context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_campaignC
Export campaign data with all related assets (Mautic 7)
| Name | Required | Description | Default |
|---|---|---|---|
| campaignId | Yes | Campaign ID to export |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states 'export' which implies read-only, but does not disclose whether this operation is destructive, requires authentication, or what side effects occur (e.g., file generation). The behavior is under-specified for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, no unnecessary words. However, it could be more structured by front-loading the key action first. Still, it is appropriately sized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having only one parameter and no annotations, the description leaves open questions: what is the output format? Does it download a file or return data inline? What constitutes 'all related assets'? Compared to sibling tools, the usage context is ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (campaignId described in schema as 'Campaign ID to export'). Description adds no extra meaning beyond the schema, so baseline 3 is appropriate. The description does not clarify the expected format or constraints of the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'export' and the resource 'campaign data with all related assets', providing specific purpose. It distinguishes from sibling tools like get_campaign (which likely returns campaign metadata only) but could be more explicit about the scope of 'all related assets'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (e.g., get_campaign, clone_campaign). No mention of prerequisites, typical use cases, or limitations. Agent must infer context from tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_assetA
Get asset details by ID
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Asset ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits beyond the basic operation. It does not mention read-only nature, error conditions, or return format. The description lacks important context for an agent making safe decisions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is concise and front-loaded with the core purpose. No extraneous information. Every word is necessary and effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup tool with one parameter and no output schema, the description is sufficient to understand its purpose. However, it could include behavioral details such as what happens if the ID is invalid. Overall, fairly complete given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage with 'Asset ID'. The description adds no additional meaning, format, or examples beyond what the schema already provides. Baseline score of 3 is appropriate as the schema covers all parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action ('Get asset details') and the resource ('by ID'). It is a specific verb+resource combination that distinguishes it from siblings like list_assets and create_asset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use versus alternatives. While it implies use when you have a specific ID, it does not mention that for bulk retrieval, list_assets is more appropriate. This is adequate but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_campaignA
Get detailed campaign information
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Campaign ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description alone must convey behavioral traits. It indicates a read operation but does not specify what 'detailed' entails, return format, or any side effects. While not misleading, it could be more transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently conveys the tool's purpose. It is front-loaded with the action and resource, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required parameter, no output schema), the description is sufficient for an agent to understand its basic function. However, it might benefit from mentioning what 'detailed' includes, especially given the number of sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage for the single parameter 'id', which is described as 'Campaign ID'. The description adds no additional meaning beyond what the schema already provides, so baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'get' and resource 'campaign', and specifies 'detailed' information, effectively distinguishing it from sibling tools like 'list_campaigns' which returns multiple campaigns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. The contrast with 'list_campaigns' is implied by the name, but the description lacks any formal when-to-use or when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_campaign_contactsB
Get contacts in a campaign with their status
| Name | Required | Description | Default |
|---|---|---|---|
| campaignId | Yes | Campaign ID | |
| start | No | Starting offset | |
| limit | No | Number of results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description must disclose behavioral traits. It only states that contacts and their status are returned, but omits pagination behavior, ordering, filtering beyond campaignId, or any side effects. Minimal transparency beyond the input schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no redundant words. Could be slightly more structured but remains efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description should hint at return format beyond 'with their status'. It does not specify fields other than status, nor does it explain the 'start' offset behavior. Adequate for simple tool but lacks completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage and adequately describes parameters (campaignId, start, limit). Description adds no extra meaning, so baseline 3 is appropriate. No improvement over schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Explicitly states 'Get contacts in a campaign with their status', clearly identifying the verb, resource, and result scope. Differentiates from siblings like get_contact (single contact) and get_segment_contacts (segment-based).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use vs alternatives such as get_segment_contacts or search_contacts. Missing context on use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_campaign_event_detailsB
Get detailed metrics for a specific campaign event (Mautic 7)
| Name | Required | Description | Default |
|---|---|---|---|
| eventId | Yes | Campaign event ID | |
| limit | No | Number of results | |
| start | No | Starting offset |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It fails to disclose any behavioral traits such as side effects, permissions required, rate limits, or handling of missing events. The description is merely a reiteration of the purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no unnecessary words. Every part contributes to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks context about the output (no output schema) and the nature of the metrics returned. For a data retrieval tool, this information is critical for the agent to interpret results. The description is too minimal for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all parameters described in the input schema. The description does not add extra meaning beyond the schema's parameter descriptions (e.g., 'Campaign event ID'). Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get'), resource ('detailed metrics for a specific campaign event'), and context ('Mautic 7'). It effectively distinguishes from siblings like 'get_campaign' and 'get_campaign_contacts' by specifying 'event details'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for retrieving metrics for a specific event but provides no explicit guidance on when to use it versus alternatives (e.g., 'get_campaign', 'get_campaign_contacts'). No exclusions or when-not-to-use scenarios are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_campaign_graph_statsB
Get campaign graph statistics for a date range (Mautic 7)
| Name | Required | Description | Default |
|---|---|---|---|
| campaignId | Yes | Campaign ID | |
| dateFrom | Yes | Start date (YYYY-MM-DD) | |
| dateTo | Yes | End date (YYYY-MM-DD) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so description carries full burden. It only states 'Get', implying a read operation, but does not disclose data freshness, rate limits, authentication needs, or what happens if no data. The behavioral insight is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with purpose, no unnecessary words. Highly concise and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with 3 parameters and no output schema, the description is adequate but lacks details on what 'graph statistics' comprise (e.g., counts, trends) and does not help the agent understand return value. More context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for all parameters. The description adds 'for a date range', which reiterates the schema, but does not provide additional semantics beyond what the schema already offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Get), resource (campaign graph statistics), and scope (for a date range), and includes version context (Mautic 7). It distinguishes from sibling tools like get_campaign and get_campaign_map_stats by specifying 'graph' and 'statistics'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like get_campaign_map_stats or get_campaign_contacts. No prerequisites, exclusions, or when-not-to-use information provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_campaign_map_statsC
Get campaign geographic map statistics for a date range (Mautic 7)
| Name | Required | Description | Default |
|---|---|---|---|
| campaignId | Yes | Campaign ID | |
| dateFrom | Yes | Start date (YYYY-MM-DD) | |
| dateTo | Yes | End date (YYYY-MM-DD) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose any behavioral traits such as read-only nature, side effects, rate limits, or data aggregation. The agent must infer behavior solely from the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that covers the essential purpose and constraints. It is front-loaded and efficient, though it could benefit from slight expansion.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and annotations, the description does not explain what the tool returns, how to interpret the statistics, or any caveats. The lack of differentiation from similar sibling tools leaves the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter having a clear description. The tool description adds no additional value beyond what the schema already provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'campaign geographic map statistics', and adds a date range constraint and version context. However, it does not distinguish from the sibling 'get_campaign_graph_stats', which likely serves a similar purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'get_campaign_graph_stats' or 'get_campaign_contacts'. The description lacks context about typical use cases or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_contactA
Get contact details by ID or email
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Contact ID | |
| No | Contact email address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It fails to disclose behavioral traits such as idempotency, error handling, or whether the tool returns a single contact or a list. This is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loaded with the action and resource. There is no unnecessary information, making it efficiently scannable for an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description does not disclose the structure of the returned contact details. While the tool's purpose is clear, the agent lacks information about what fields to expect, which is a moderate gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds value by indicating that the two parameters (id and email) are alternatives. However, it does not add meaning beyond what the schema already provides, resulting in a baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Get', the resource 'contact details', and the retrieval method 'by ID or email'. It effectively distinguishes this tool from sibling tools like 'search_contacts' which likely returns lists of contacts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (when you have an ID or email), but it does not explicitly provide guidance on when not to use it or alternatives. For example, it doesn't clarify when to use 'get_contact' versus 'search_contacts'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_contact_activityB
Get contact interaction history
| Name | Required | Description | Default |
|---|---|---|---|
| contactId | Yes | Contact ID | |
| search | No | Search term | |
| includeEvents | No | Event types to include | |
| excludeEvents | No | Event types to exclude | |
| dateFrom | No | Start date (YYYY-MM-DD) | |
| dateTo | No | End date (YYYY-MM-DD) | |
| limit | No | Number of results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only operation, but with no annotations, it does not disclose any behavioral traits beyond the basic action. No mention of side effects, permissions, or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and to the point with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is too minimal given the tool has 7 parameters and no output schema. It does not explain what 'interaction history' includes, how filtering works, or the return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters have descriptions in the input schema (100% coverage), so the description adds no additional meaning. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get contact interaction history' clearly states the action (get) and the resource (contact interaction history), distinguishing this tool from siblings that add, delete, or update contacts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like get_contact or search_contacts. The description does not mention context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_contact_notesC
Get all notes for a contact
| Name | Required | Description | Default |
|---|---|---|---|
| contactId | Yes | Contact ID | |
| limit | No | Number of results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no description of behavioral traits (e.g., whether it's read-only, requires specific permissions, or has pagination semantics), the agent has limited insight. A 'get' operation is generally safe, but the description should at least note if it supports pagination or ordering, which is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the purpose. It is concise and to the point, earning its place without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (two parameters, no output schema), the description is incomplete. It does not describe the return format (e.g., array of note objects), pagination behavior, or ordering. With no output schema, the description needs to compensate but falls short.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% as both parameters have descriptions ('Contact ID' and 'Number of results'). The tool description does not add additional meaning beyond the schema, but the baseline for high coverage is 3. The limit parameter's maximum (200) is defined in the schema, not the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (get) and resource (notes for a contact). It distinguishes from sibling tools like 'create_note' which creates notes, and 'get_contact' which retrieves contact details. However, it could be more specific by mentioning the scope 'all notes' but that is implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., search_contacts for broader searches, or get_contact_activity for specific events). There is no mention of context or prerequisites, leaving the agent to infer usage from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_emailC
Get detailed email information
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Email ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description is too brief to disclose behavioral traits (e.g., scope of 'detailed' information, performance, or side effects). Minimal value added beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short (5 words) but lacks depth. It's efficient but not optimally informative for an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description is minimally adequate for a simple retrieval tool. It does not specify what 'detailed' includes, but the context of email ID retrieval is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage for the single parameter 'id' with description 'Email ID'. The description adds no additional meaning, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get detailed email information' clearly indicates retrieving detailed info for an email, using verb 'get' and resource 'email information'. However, it does not differentiate from sibling tools like get_email_stats or list_emails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as get_email_stats or list_emails. The description lacks any context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_email_graph_statsC
Get email graph statistics for a date range (Mautic 7)
| Name | Required | Description | Default |
|---|---|---|---|
| emailId | Yes | Email ID | |
| isVariant | No | Whether this is a variant email | |
| dateFrom | Yes | Start date (YYYY-MM-DD) | |
| dateTo | Yes | End date (YYYY-MM-DD) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of behavioral disclosure. It describes the tool as 'Get' which implies a read-only operation, but does not explicitly state safety properties, authorization requirements, rate limits, or any side effects. The description is too brief to offer meaningful behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise, consisting of a single sentence that immediately conveys the core purpose. It is front-loaded and free of extraneous words. While it could be expanded with more detail without losing conciseness, it efficiently delivers the essential message.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema and annotations, the description should provide more context about the statistics returned (e.g., which metrics are included like opens, clicks) and how this tool differs from similar ones like get_email_stats. The current description is too minimal to be considered complete for a stats-related tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% parameter description coverage, so each parameter (emailId, isVariant, dateFrom, dateTo) is already well-documented in the schema. The description adds no additional meaning or context beyond what the schema provides, thus earning the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Get email graph statistics' and the resource 'email graph statistics' with a date range. It is specific but does not differentiate from sibling tools like get_email_stats or get_campaign_graph_stats, which may also provide email-related statistics. The inclusion of '(Mautic 7)' adds version context but not purpose differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as get_email_stats or get_campaign_graph_stats. There is no mention of prerequisites, contraindications, or specific use cases, leaving the agent without clear direction for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_email_statsB
Get email performance statistics
| Name | Required | Description | Default |
|---|---|---|---|
| emailId | Yes | Email ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. It only states the high-level action, omitting details like read-only nature, side effects, authorization requirements, or rate limits. The name implies no destruction, but this is not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words. It is front-loaded and efficient, fitting the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description is adequate but lacks specifics on return values (e.g., what statistics are included). This gap could hinder agent confidence in tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'emailId' is described in the schema as 'Email ID', and the description adds no extra context (e.g., sourcing, format, constraints). Since schema coverage is 100%, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Get') and resource ('email performance statistics'), making the purpose evident. However, it does not differentiate from similar sibling tools like 'get_email_graph_stats' or 'get_email', leaving ambiguity about the specific statistics provided.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'get_email_graph_stats' or 'get_campaign_graph_stats'. There are no exclusions, prerequisites, or context hints to aid selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_formB
Get form details and fields
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Form ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits like read-only nature, required permissions, or any side effects. It only states 'get', implying read-only, but fails to elaborate on authentication needs or response expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a concise single phrase with no filler. It effectively communicates the core action, though it could be slightly expanded for context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one parameter, no output schema), the description is minimally adequate. However, it doesn't specify what 'details' includes (e.g., metadata only, field schema) or provide any return format hints, leaving some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the parameter description 'Form ID' is accurate but minimal. The main description adds no extra meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get form details and fields' clearly states the action (get) and the resource (form details and fields). It distinguishes from siblings like 'list_forms' (which lists all form IDs/titles) and 'get_form_submissions' (which retrieves submissions), making its specific purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. The agent is not told, for example, to use 'list_forms' first to obtain IDs, nor is there any mention of prerequisites or access conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_form_submissionsC
Get form submission data
| Name | Required | Description | Default |
|---|---|---|---|
| formId | Yes | Form ID | |
| limit | No | Number of results | |
| start | No | Starting offset | |
| dateFrom | No | Start date (YYYY-MM-DD) | |
| dateTo | No | End date (YYYY-MM-DD) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is too brief. It doesn't disclose how submissions are returned (e.g., pagination, ordering) or any side effects. Without annotations, it fails to provide necessary behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is concise but too minimal. It front-loads the purpose but lacks essential details, making it adequate but not excellent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should explain what data is returned. It does not, and the 5 parameters are not leveraged. The tool's complexity is moderate but the description is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no extra meaning beyond what the schema already provides. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get form submission data' clearly indicates the action and resource. It distinguishes from sibling tools like 'get_form' and 'list_forms' by specifying submissions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no mention of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_projectC
Get project details by ID (Mautic 7 API v2)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits (e.g., read-only nature, side effects, authentication needs). For a read operation, the description should at least imply idempotency, which it does not.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence (8 words) that is front-loaded with the essential purpose. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema, the description should clarify what 'details' are returned. It does not, leaving the agent without information on the response structure. Compared to sibling tools like 'list_projects', there is no differentiation context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the 'id' parameter described as 'Project ID'. The description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('project details'), and includes the API version context. However, it does not explicitly distinguish from sibling 'get_*' tools, though the name itself provides differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'list_projects' or other 'get_*' tools. The description implies usage when you have a project ID, but lacks explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_segment_contactsB
Get contacts in a specific segment
| Name | Required | Description | Default |
|---|---|---|---|
| segmentId | Yes | Segment ID | |
| limit | No | Number of results | |
| start | No | Starting offset |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but adds no behavioral context beyond the schema. It does not disclose if the tool is read-only, idempotent, or any error conditions. The schema already documents pagination params, so a baseline of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no filler. It is front-loaded and efficient, earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with well-documented parameters (limit, start for pagination), the description is nearly complete. However, it lacks mention of return value structure (e.g., list of contact objects) and potential errors (e.g., invalid segmentId).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are fully documented in the schema. The description adds no extra meaning beyond what the schema provides, such as parameter semantics or formatting. Baseline score 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get contacts in a specific segment', specifying verb and resource. However, it does not differentiate from sibling tools like 'search_contacts' or 'list_segments', missing an opportunity to clarify its unique role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'search_contacts'. There is no indication of prerequisites, limitations, or exclusions, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_campaignC
Import a campaign from JSON data (Mautic 7)
| Name | Required | Description | Default |
|---|---|---|---|
| campaignData | Yes | Campaign JSON data to import |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states the action without disclosing behavioral traits like overwriting behavior, validation, or authentication requirements. The agent cannot infer side effects or prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundant information. It is highly concise and front-loaded with the essential action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is too brief. It omits critical details like idempotency, error handling, and return value, making it insufficient for an import tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a parameter description. The tool description adds minimal context (Mautic 7 version) but does not explain the structure of the JSON object beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (import) and resource (campaign) with data format (JSON). However, it does not differentiate from sibling tools like clone_campaign or create_campaign, which have overlapping purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as create_campaign, clone_campaign, or export_campaign. The context signals show many sibling tools, but the description offers no criteria for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_assetsB
Get all assets (PDFs, images, documents)
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Search term | |
| limit | No | Number of results | |
| start | No | Starting offset | |
| publishedOnly | No | Only published assets |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose behavioral traits such as pagination, filtering behavior indicated by parameters (search, limit, start, publishedOnly), or that it returns a list. The phrase 'Get all assets' is misleading given the filtering parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no waste. However, it is too brief and lacks detail about parameters or behavior, making it only minimally adequate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, no output schema, and no annotations, the description is incomplete. It does not mention return format, pagination, or parameter usage, leaving significant gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds context by listing example asset types ('PDFs, images, documents'), which clarifies what an asset is but does not add meaning beyond the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'all assets' with examples of asset types (PDFs, images, documents). It distinguishes from siblings like 'get_asset' which retrieves a single asset, and 'create_asset' which creates one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as 'get_asset' for a single asset or 'search_contacts' for contacts. There are no explicit use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_campaignsC
Get all campaigns with status and statistics
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Search term | |
| limit | No | Number of results | |
| start | No | Starting offset | |
| publishedOnly | No | Only published campaigns |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It only states a read operation ('Get') but omits details on pagination (despite limit/start parameters), permission requirements, rate limits, or what happens with empty results. The description is insufficient for safe autonomous use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is concise but lacks structure. It doesn't front-load critical constraints or provide a clear overview. While not verbose, it sacrifices important details, making it minimally adequate rather than well-crafted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of 4 parameters and no output schema, the description is incomplete. It fails to explain pagination, default behavior, filtering scope, or the response format. For a listing tool with moderate complexity, this leaves significant gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does not add any meaning beyond the schema—e.g., it doesn't explain what 'search' targets (campaign names? descriptions?), or how 'publishedOnly' interacts with other filters. No extra value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'all campaigns', with added detail on included data ('status and statistics'). It differentiates from sibling tools like get_campaign (single campaign) and other list_* tools. However, it doesn't clarify that the result may be filtered via parameters (search, limit, etc.), slightly reducing precision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as get_campaign for a single record, or search_contacts for campaign members. No context about prerequisites or typical use cases is provided, leaving the agent to infer without support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesC
Get all categories
| Name | Required | Description | Default |
|---|---|---|---|
| bundle | No | Category type (asset, email, etc.) | |
| limit | No | Number of results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description does not disclose behavioral traits such as pagination, ordering, or safety. 'Get' implies read-only, but no details on rate limits or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no waste. However, too terse and lacks structure (e.g., no positive/negative examples or notes).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and two optional parameters, the description is incomplete. It does not explain what categories are, how bundle filters work, or the result format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both parameters have descriptions). Description adds no additional value over the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get all categories' clearly states the action and resource. However, the phrase 'all' is slightly misleading given optional filtering parameters (bundle, limit). Despite no differentiation from sibling list tools, the name itself disambiguates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use list_categories versus other list tools or create_category. No context on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_companiesC
Get all companies
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Search term | |
| limit | No | Number of results | |
| start | No | Starting offset |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. 'Get all companies' is misleading because the schema includes search, limit, and start parameters, indicating it fetches a filtered/paginated subset, not all. No mention of read-only nature or output format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short (three words) but omits critical information. Conciseness is sacrificed for brevity, leading to incomplete guidance. A good description should be efficient yet informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has three parameters and no output schema, the description is insufficient. It fails to specify the return type (list of companies), pagination behavior, or any contextual usage notes. This leaves the agent with significant ambiguity in invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no value beyond what the schema already provides. It doesn't explain how the parameters interact (e.g., search filters company name) or their semantics in context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get all companies' clearly identifies the action (get) and resource (companies). However, it doesn't differentiate from sibling 'list_*' tools or clarify that it supports filtering/pagination, which is evident from the schema. A more precise description would distinguish it from similar tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like list_assets or list_contacts. No context about typical use cases or prerequisites for companies. This omission forces the agent to rely on heuristic matching with sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_contact_fieldsB
Get all contact custom fields
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only states basic action, not disclosing behavioral traits like pagination, authentication, or data scope. For a read tool, more context is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. Efficiently conveys tool purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional param and no output schema, the description is minimally adequate but could mention that it lists all custom fields and explain the limit parameter's role.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the only parameter (limit). Description doesn't add meaning beyond schema, meeting baseline. No additional semantics provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Get' and resource 'contact custom fields'. It is distinct from siblings like create_contact_field and other list_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. No mention of when not to use or context-specific scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_emailsC
Get all email templates and campaigns
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Search term | |
| limit | No | Number of results | |
| start | No | Starting offset | |
| publishedOnly | No | Only published emails |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behaviors. It merely says 'Get all' but fails to mention pagination, ordering, or that 'all' is not actually returned due to limit/start parameters. Minimal insight into tool behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence. However, it could be improved by adding a brief note about what 'emails' encompasses or how to use parameters effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of many sibling list_* tools and no output schema, the description is insufficient. It does not clarify the scope (templates vs campaigns vs both) or how this tool differs from similar ones, leaving a gap in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so each parameter is documented. The description adds no additional meaning or context beyond the schema, meeting the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'all email templates and campaigns'. However, it does not differentiate from sibling tools like list_campaigns, which may cause confusion about what exactly is returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as list_campaigns or get_email. The agent is left to infer the use case from the description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_formsB
Get all forms with submission counts
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Search term | |
| limit | No | Number of results | |
| start | No | Starting offset | |
| publishedOnly | No | Only published forms |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the operation is 'Get' (read), but fails to mention pagination behavior despite the presence of limit and start parameters. The phrase 'all forms' is inconsistent with filtering parameters, implying it returns all but can be filtered. No disclosure of authentication, rate limits, or effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that covers the core purpose without verbose. It is concise, but could potentially include more context without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is incomplete. It fails to mention pagination, the structure of the response, or any limitations. The parameters suggest pagination but it is not articulated. A list tool with 4 parameters needs more context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already describes each parameter. The description adds 'with submission counts' which provides context beyond the schema, but does not enhance individual parameter meanings. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'forms', and adds 'with submission counts' which distinguishes it from other list tools like list_assets and from get_form or get_form_submissions. It is specific and not a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives like get_form for a single form or get_form_submissions for specific submission data. It only states the function without contextual when-to-use advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_pagesC
Get all landing pages
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Search term | |
| limit | No | Number of results | |
| start | No | Starting offset | |
| publishedOnly | No | Only published pages |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It claims to get 'all' pages, but the schema includes filtering parameters, which is misleading. No mention of pagination, default limits, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (4 words), but it sacrifices informativeness. It does not earn its place as it fails to provide adequate context for an agent to use the tool correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and simple parameters, the description should explain what the tool returns (e.g., a list of page objects). It omits important details like pagination, sorting, and that parameters override 'all'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond the schema; it does not explain how parameters affect results.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Get' and resource 'landing pages', indicating a list operation. It distinguishes from sibling tools like 'create_page' by implying retrieval, but it could be more specific about the scope (e.g., 'all' is vague).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not indicate when to use this tool over alternatives like 'list_assets' or when filtering is needed, nor does it mention that parameters allow filtering.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsC
List all projects - organize marketing resources (Mautic 7 API v2)
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination | |
| itemsPerPage | No | Items per page (default 30) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description fails to mention behavioral traits such as pagination, authentication requirements, or response structure. The input schema hints at pagination but description does not clarify.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise but includes the vague phrase 'organize marketing resources' that adds little value. Could be more streamlined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, and description does not explain what the tool returns (e.g., list of project objects, fields included). For a 2-parameter tool, the description fails to convey essential result context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters. The description adds no additional meaning beyond the schema, thus earning the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly identifies the action ('List all projects') and resource, with a slight contextual phrase about organizing marketing resources. Differentiates from sibling 'get_project' but does not explicitly distinguish from other list_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., get_project, search tools). Lacks context for usage scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_reportsC
Get all reports
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full responsibility. It only states 'Get all reports' without explaining pagination, rate limits, or results ordering. The limit parameter implies some control, but the description adds no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short (one sentence) but fails to include essential information. Conciseness should not sacrifice completeness; here, the description is under-specified for a list tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema), the description is still incomplete. It does not explain what constitutes a 'report', whether results are paginated, or any default ordering. The agent lacks sufficient context to use this tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (the single 'limit' parameter is described). The description adds no additional meaning beyond the schema, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get all reports' clearly states the action and resource. However, it does not differentiate from sibling list tools like list_assets or list_campaigns, which share similar naming patterns. A 4 is appropriate because it's clear but lacks differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention any context, prerequisites, or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_segmentsC
Get all contact segments
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Search term | |
| limit | No | Number of results | |
| start | No | Starting offset | |
| publishedOnly | No | Only published segments |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral context, but it only states 'get all segments' without disclosing pagination, default limit, or whether publishedOnly defaults to false. The word 'all' contradicts the filtering capability implied by the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. However, it is so concise that it omits critical context that could be front-loaded, preventing a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations, output schema, and the presence of four parameters, the description is incomplete. It fails to explain return structure, default pagination, or any side effects, leaving agents underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the parameters. The description adds no extra meaning beyond the schema, resulting in a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('contact segments'), distinguishing it from sibling list tools for other resources. However, the word 'all' could be misleading given the available filters, but the general purpose is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'get_segment_contacts' or 'create_segment'. An agent must infer context from sibling names, which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_smsC
[DEPRECATED in Mautic 7] Get all SMS templates - SMS API classes have been removed
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Search term | |
| limit | No | Number of results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only states deprecation and removal of API classes, but does not explain what happens when called (e.g., empty result, error, or no-op). There is no information about authentication, side effects, or output behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short and front-loaded with the deprecation warning, making it efficient. However, it sacrifices detail for brevity; key information about behavior is missing. Despite this, it is not verbose and gets the core message across quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema, no annotations, and a deprecation context, the description is woefully incomplete. It does not explain return format, pagination, error handling, or the consequences of using a deprecated tool. An agent would be left uncertain about what the tool actually returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for both parameters (search and limit), so the baseline is 3. The description adds no extra semantics beyond 'Get all SMS templates', which is already implied by the tool name. No parameter-specific details are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves all SMS templates and marks it as deprecated, which distinguishes it from other list tools like list_assets or list_campaigns. The verb 'Get' and resource 'SMS templates' are specific, but it does not mention the search/limit parameters that further refine purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a deprecation warning but lacks explicit guidance on when to use or avoid this tool. No alternative is suggested for listing SMS templates, and the phrase 'SMS API classes have been removed' implies potential failure but does not clarify expected behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_stagesB
Get all lifecycle stages
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description does not disclose safety (e.g., read-only), pagination behavior, or side effects. Minimal info beyond the action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise, but lacks structure (e.g., no elaboration on return type or usage). Could be improved without increasing length significantly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and simplicity, description should hint at return format or typical use cases. Missing that, leaving the agent with incomplete context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of the single parameter with good description. Description adds no extra meaning beyond schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Get all lifecycle stages' with specific verb and resource. No ambiguity, and it distinguishes from sibling list tools by naming the resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like change_contact_stage or other list tools. Missing context about prerequisites or situations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tagsC
Get all available tags
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Search term | |
| limit | No | Number of results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only says 'Get all available tags' without explaining behavioral details such as whether results are paginated, if there are default limits, or if the 'search' parameter filters results. With no annotations, the description should provide more context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short and to the point, but it sacrifices informational value. It does not contain filler sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with optional parameters and no output schema, the description is minimally adequate. However, it could mention that it returns a list of tags and that search and limit are available for filtering.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'tags', making the purpose unambiguous. It does not need to differentiate from sibling tools since they operate on different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There are no prerequisites, exclusions, or context about typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_webhooksC
Get all webhooks
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description does not disclose any behavioral traits such as pagination, ordering, or side effects. For a read-only tool, the description is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief (three words) and front-loaded. Every word is necessary, though more detail could be added without harming conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional parameter and no output schema, the description is minimally adequate. It does not explain the return format or any additional context, but the tool name and parameter hint at usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the one parameter (limit). Description adds no extra meaning beyond the schema, which is acceptable but does not improve understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Get) and resource (all webhooks). It is specific enough, though it does not differentiate from other list_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., create_webhook). No context about prerequisites or filtering behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
patch_projectA
Partially update an existing project (Mautic 7 API v2)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Project ID | |
| name | No | Project name | |
| description | No | Project description | |
| properties | No | Additional JSON properties |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only says 'partially update' which implies mutation, but fails to mention idempotency, authorization needs, or what happens to omitted fields. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the key action and resource, and includes API version context without unnecessary words. It is optimally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (4 parameters, no output schema) and 100% schema coverage, the description is minimally viable. However, it lacks behavioral context (idempotency, auth) that would make it complete for an API tool with no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so base score is 3. The description adds no extra meaning beyond the schema's property descriptions. The 'partially' context is already inherent in the tool name and description itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool does a 'partial update' on a 'project', which specifies the verb and resource, and distinguishes it from the full update (update_project) and create/delete siblings. The mention of 'Mautic 7 API v2' adds context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'partially' implies usage for non-full updates, but there is no explicit guidance on when to use this versus update_project or other alternatives. The description does not state prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
record_email_replyB
Record an email reply by tracking hash (Mautic 7)
| Name | Required | Description | Default |
|---|---|---|---|
| trackingHash | Yes | The email tracking hash |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description should disclose behavioral traits. It implies a write operation but omits side effects, permission requirements, or error conditions. The information is minimal and adds little beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one phrase), front-loads the key action and parameter, and contains no extraneous information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 1-parameter tool with no output schema, the description is minimally adequate. However, it lacks context on the workflow (e.g., after sending an email with a tracking hash) and what happens upon success or failure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (trackingHash is described as 'The email tracking hash'). The description restates this without adding detail on how to obtain or validate the hash, so it meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('record') and the resource ('email reply'), and specifies the mechanism ('by tracking hash'), distinguishing it from siblings like send_email and get_email_stats. However, it does not elaborate on what 'record' entails (e.g., logging or storing).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites (e.g., having a tracking hash from a sent email) or exclusions, leaving the agent to infer context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_contactsC
Search contacts with filters and pagination
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Search term | |
| limit | No | Number of results (max 200) | |
| start | No | Starting offset for pagination | |
| orderBy | No | Field to order by | |
| orderByDir | No | Order direction | |
| publishedOnly | No | Only published contacts | |
| minimal | No | Return minimal contact data |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is minimal and does not disclose behavioral traits such as authentication requirements, rate limits, or whether the search supports partial matching. With no annotations provided, the description carries the full burden but fails to convey key behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but lacks sufficient detail. It is front-loaded but does not earn its place by providing deeper insight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters and no output schema or annotations, the description is insufficient. It does not explain pagination mechanics, return format, or how to use filters effectively, leaving critical gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond what the schema already provides for each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'search' and the resource 'contacts', and mentions capabilities 'filters and pagination'. It distinguishes from siblings like get_contact (single contact) and other tools that modify contacts, but lacks explicit differentiation from hypothetical list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. For example, it does not specify that for retrieving a single contact by ID, get_contact should be used instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_emailC
Send an email to specific contacts
| Name | Required | Description | Default |
|---|---|---|---|
| emailId | No | Email template ID | |
| contactIds | No | Array of contact IDs | |
| contactEmails | No | Array of contact emails |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It does not disclose whether sending is synchronous, potential failures, authentication needs, or limits. The description is insufficient for behavioral understanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words, but it is too concise to be informative. It could be longer to add value without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It does not explain the combined use of contactIds and contactEmails, the role of emailId as a template, or expected outcomes like success/failure responses.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema description coverage is 100%, providing basic descriptions for each parameter. The tool description itself adds no meaning beyond that, so it meets the baseline but offers no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (sending email) and the target (specific contacts), but it does not differentiate from the sibling 'send_email_to_segment' which sends to a segment. It also omits that it uses a template (emailId).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool over alternatives like 'send_email_to_segment' or when to use contactIds versus contactEmails. No prerequisites or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_email_to_segmentA
Send email to its assigned segment(s) with real-time audience adaptation (Mautic 7)
| Name | Required | Description | Default |
|---|---|---|---|
| emailId | Yes | Email ID (must be a segment/list email) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It mentions mutation ('Send email') and real-time adaptation, but does not disclose side effects, permissions, rate limits, or error conditions. The description is insufficient for an agent to understand behavioral implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence of 11 words with no fluff. Every word contributes to understanding the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has only one parameter and no output schema. The description covers the core action and a distinctive feature (real-time adaptation), but omits expected outcome or success/error behavior. Mostly complete but could explicitly state what happens after sending.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for emailId. The tool description adds no additional semantics beyond reinforcing that the email must be a segment/list email. Baseline 3 is appropriate as no extra value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Send email') and the resource ('its assigned segment(s)'), adding specificity with 'real-time audience adaptation (Mautic 7)'. This distinguishes it from sibling tools like 'send_email' which likely sends to arbitrary recipients.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for sending to segment-assigned emails but provides no explicit guidance on when to use this tool over alternatives (e.g., 'send_email' or 'add_contact_to_segment'). With 70 sibling tools, this lack of direction is a gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subtract_contact_pointsC
Subtract points from contact
| Name | Required | Description | Default |
|---|---|---|---|
| contactId | Yes | Contact ID | |
| points | Yes | Number of points to subtract | |
| eventName | No | Event name | |
| actionName | No | Action name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description gives no behavioral details: no mention of whether this is destructive, whether points can go negative, or what happens if contact has insufficient points. For a mutation tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words, but it is overly minimal and does not provide sufficient context. Efficient but at the cost of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no annotations, and a one-sentence description. Does not explain return values, side effects, or any constraints. Completely inadequate for a tool that subtracts points from a contact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage for parameters, so the schema already documents each parameter. The description adds no extra meaning. Baseline 3 is appropriate as the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description 'Subtract points from contact' is a clear verb+resource but lacks specificity about what 'points' represent and how this differs from the sibling 'add_contact_points'. It is not a tautology but is minimal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'add_contact_points'. No context about prerequisites or typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_contactC
Update an existing contact
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Contact ID | |
| No | Contact email address | ||
| firstName | No | First name | |
| lastName | No | Last name | |
| phone | No | Phone number | |
| company | No | Company name | |
| position | No | Job position | |
| customFields | No | Custom field values |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It only states 'Update an existing contact', implying mutation, but does not mention side effects, permissions, idempotency, or partial update behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no waste. Efficient and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 parameters, nested objects, and many siblings, the description is too sparse. It does not explain partial update semantics, behavior of customFields, or return value (no output schema).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all parameters described. The description adds no extra meaning beyond the schema, earning a baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update an existing contact' clearly states the verb and resource, distinguishing it from create/delete contacts. However, it lacks additional specificity about which fields are updatable, though the schema covers that.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., create_contact, delete_contact). It does not specify prerequisites or scenarios where it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_projectC
Fully update an existing project (Mautic 7 API v2)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Project ID | |
| name | Yes | Project name (required, must be unique) | |
| description | No | Project description | |
| properties | No | Additional JSON properties |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description must disclose behavior. 'Fully update' suggests replacement, but it's unclear whether omitted optional fields are cleared or preserved. No mention of idempotency, required permissions, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely brief (one phrase), but it's a complete sentence fragment. Not well-structured, though not overly verbose. Could be expanded with structured details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without output schema or annotations, the description leaves gaps. It should clarify behavior for omitted fields and differentiate from patch_project. Incomplete for a mutation tool with 4 parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already has 100% description coverage for all 4 parameters. The tool description adds no extra semantic value beyond what the schema provides, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb (update) and resource (project), plus specifies it's a full update via API v2. However, does not differentiate from the sibling 'patch_project' tool, which likely does partial update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like 'patch_project'. No prerequisites or context provided. The description is merely a statement of function.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_fileC
Upload file to Mautic
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | File path or base64 encoded content | |
| folder | No | Destination folder |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It states 'upload' implying mutation, but fails to mention side effects (overwrite behavior), authentication needs, success/failure indicators, or rate limits. The description is too terse to provide meaningful transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at 4 words, which is efficient but at the cost of omitting critical information. It passes for brevity but lacks any structural front-loading of important details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a simple parameter set and no output schema, yet the description does not explain what the tool returns, how to verify success, or handle errors. An agent would be left guessing about the outcome of the upload operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with descriptions for both parameters ('File path or base64 encoded content' and 'Destination folder'). The description adds no additional semantic context beyond what the schema already provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Upload file to Mautic' clearly states the action and target resource. It is a specific verb-resource pair. With no other upload tools among siblings, it sufficiently distinguishes itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not indicate when to use this tool, what prerequisites exist, or how it differs from other tools (e.g., create_asset). There is no mention of file types, size limits, or scenario context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Tools are mostly well-distinguished by resource and action, but some pairs like create_campaign vs create_campaign_with_automation and send_email vs send_email_to_segment could cause confusion. Deprecated tools add minor ambiguity.
Most tools follow verb_noun snake_case pattern consistently. Minor deviations like change_contact_stage instead of update_contact_stage, and record_email_reply instead of create_email_reply, but overall pattern is clear.
68 tools is high for an MCP server, but Mautic is a comprehensive platform. The count borders on overwhelming, yet the tools are organized by domain, making it reasonably scoped for the intended coverage.
Significant gaps exist: missing update/delete for many resources like assets, emails, campaigns, segments, and forms. Only delete_contact and delete_project are present, leaving agents unable to perform full lifecycle management.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
CRM + visual automation builder AI agents can drive via MCP: contacts, tags, maps, email/SMS flows.
AI-controlled email ops for campaigns, contacts, segments, analytics, and sending.
Operate the Plixana CRM from any AI: contacts, deals, quotes, WhatsApp and metrics.
Run your website's AI support agent from Claude, Cursor or any MCP client. Manage the knowledge base, edit agent instructions, read conversations and leads, reply live to visitors, and check plan usage. 54 tools, OAuth sign-in, no API key. Free with every Asyntai account: https://asyntai.com/documentation/mcp/
Related MCP Servers
AlicenseAqualityCmaintenanceEnables management of AI-powered email marketing automation, including subscriber segments, campaigns, and templates. It allows users to generate email sequences with AI and track detailed analytics through natural language commands.1001,0142MIT- FlicenseBqualityDmaintenanceEnables management of email campaigns, subscribers, lists, segments, journeys, templates, transactional email, and client/account settings through the Campaign Monitor API via natural language.1001
- FlicenseNot gradedqualityDmaintenanceComprehensive MCP server for the Mautic marketing automation API, providing 203 tools for managing contacts, campaigns, emails, segments, and more.2
- FlicenseNot gradedqualityDmaintenanceEnables interaction with the Mailchimp API for managing campaigns, lists, templates, reports, and automations through natural language.3
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Cbrown35/mantic-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server