Skip to main content
Glama
GravityKit

Drip MCP Server

by GravityKit

Drip MCP Server

npm version License: MIT Node.js Version MCP Protocol

A Model Context Protocol (MCP) server that provides seamless integration with the Drip email marketing automation platform. This server enables AI assistants like Claude to interact with Drip's API for subscriber management, campaign automation, and analytics tracking.

๐ŸŒŸ Features

Core Capabilities

  • ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Subscriber Management - Create, update, delete, and search subscribers with full custom field support

  • ๐Ÿท๏ธ Tag Operations - Apply and remove tags for segmentation and automation

  • ๐Ÿ“ง Campaign Management - List campaigns and manage subscriber enrollments

  • ๐Ÿ”„ Workflow Automation - Control workflows and subscriber participation

  • ๐Ÿ“Š Event Tracking - Track custom events for behavioral automation

  • ๐Ÿ’ฐ E-commerce Integration - Record purchases and conversions

  • ๐Ÿ“ Form & Broadcast Access - Retrieve forms and broadcast information

  • โšก Batch Operations - Efficiently handle bulk subscriber operations

  • ๐Ÿ” Advanced Search - Find subscribers using complex filter criteria

Technical Features

  • ๐Ÿ›ก๏ธ Automatic Rate Limiting - Handles Drip's API limits with exponential backoff

  • ๐Ÿ”ง Smart Field Mapping - Automatically organizes standard and custom fields

  • ๐ŸŽฏ Error Handling - Detailed error messages for debugging

  • ๐Ÿงช Comprehensive Testing - Unit and integration test suites included

  • ๐Ÿ” MCP Inspector Support - Built-in debugging interface for development

Related MCP server: Smartlead MCP Server

๐Ÿ“ฆ Installation

Prerequisites

  • Node.js 20.0.0 or higher

  • npm or yarn package manager

  • Drip account with API access

  • MCP-compatible client (e.g., Claude Desktop)

Package Installation

# Using npm
npm install @gravitykit/drip-mcp-server

# Using yarn
yarn add @gravitykit/drip-mcp-server

# For global installation
npm install -g @gravitykit/drip-mcp-server

From Source

# Clone the repository
git clone https://github.com/GravityKit/drip-mcp-server.git
cd drip-mcp-server

# Install dependencies
npm install

# Set up environment variables
cp .env.example .env
# Edit .env with your credentials

๐Ÿ”‘ Configuration

Getting Your API Credentials

  1. API Key:

  2. Account ID:

    • Found in Settings โ†’ General Info

    • Also visible in your Drip dashboard URL

    • Format: Numeric ID (e.g., 12345678)

Environment Variables

Create a .env file in the project root:

DRIP_API_KEY=your_api_key_here
DRIP_ACCOUNT_ID=your_account_id_here

Claude Desktop Configuration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "drip": {
      "command": "npx",
      "args": ["@gravitykit/drip-mcp-server"],
      "env": {
        "DRIP_API_KEY": "your_api_key_here",
        "DRIP_ACCOUNT_ID": "your_account_id_here"
      }
    }
  }
}

Alternative: Using Local Installation

{
  "mcpServers": {
    "drip": {
      "command": "node",
      "args": ["/path/to/drip-mcp-server/src/index.js"],
      "env": {
        "DRIP_API_KEY": "your_api_key_here",
        "DRIP_ACCOUNT_ID": "your_account_id_here"
      }
    }
  }
}

๐Ÿš€ Usage

Quick Start

Once configured, the MCP server exposes Drip functionality through standardized tools. Your AI assistant can use natural language to interact with these tools.

Example Prompts for AI Assistants

"Add john@example.com to my Drip subscribers with the tag 'customer'"

"Find all subscribers tagged as 'vip' who joined this month"

"Track a 'Product Viewed' event for user@example.com with product_id ABC123"

"Start the 'Welcome Series' workflow for new@subscriber.com"

"Show me the last 10 unsubscribes and their reasons"

Available Tools

Subscriber Management

Tool

Description

drip_create_subscriber

Create or update a subscriber

drip_list_subscribers

List all subscribers with pagination

drip_get_subscriber

Get a specific subscriber by ID or email

drip_delete_subscriber

Permanently delete a subscriber

drip_search_subscribers

Advanced search with filters

drip_batch_create_subscribers

Bulk create/update (up to 1000)

Tags & Segmentation

Tool

Description

drip_tag_subscriber

Apply tags to a subscriber

drip_remove_tag

Remove a tag from a subscriber

Campaigns & Workflows

Tool

Description

drip_list_campaigns

List all campaigns

drip_subscribe_to_campaign

Add subscriber to campaign

drip_list_workflows

List all workflows

drip_activate_workflow

Activate a workflow

drip_pause_workflow

Pause a workflow

drip_start_workflow

Start workflow for subscriber

drip_remove_from_workflow

Remove subscriber from workflow

Analytics & Tracking

Tool

Description

drip_track_event

Track custom events

drip_record_conversion

Record a conversion

drip_record_purchase

Record a purchase

drip_recent_unsubscribes

Get recent unsubscribes

drip_unsubscribe_stats

Get unsubscribe statistics

Forms & Broadcasts

Tool

Description

drip_list_forms

List all forms

drip_get_form

Get specific form details

drip_list_broadcasts

List all broadcasts

drip_get_broadcast

Get specific broadcast details

Code Examples

Creating a Subscriber

{
  "email": "user@example.com",
  "first_name": "John",
  "last_name": "Doe",
  "tags": ["customer", "newsletter"],
  "custom_fields": {
    "company": "Acme Corp",
    "plan": "premium"
  },
  "time_zone": "America/New_York",
  "eu_consent": "granted"
}

Tracking an Event

{
  "email": "user@example.com",
  "action": "Viewed Product",
  "properties": {
    "product_id": "SKU-12345",
    "product_name": "Premium Widget",
    "price": 99.99,
    "category": "Widgets"
  },
  "occurred_at": "2024-01-15T10:30:00Z"
}
{
  "tags": ["vip", "customer"],
  "created_after": "2024-01-01T00:00:00Z",
  "custom_field_filters": {
    "lifetime_value": { "greater_than": 1000 },
    "plan": "premium"
  },
  "status": "active",
  "per_page": 100
}

๐Ÿงช Development

Running in Development Mode

# Watch mode with auto-restart
npm run dev

# Standard mode
npm start

Using the MCP Inspector

The MCP Inspector provides a web-based UI for testing and debugging:

# Launch the inspector
npm run inspect

Features:

  • Interactive tool testing

  • Real-time message monitoring

  • Schema validation

  • Request/response inspection

Access the inspector at http://localhost:5173 after running the command.

Testing

# Run all tests
npm run test:all

# Run specific test suites
npm test                    # Core functionality
npm run test:unit          # Unit tests (no network)
npm run test:validation    # Input validation
npm run test:names         # Field handling
npm run test:unsubscribes  # Unsubscribe tracking

Project Structure

drip-mcp-server/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ index.js           # MCP server implementation
โ”‚   โ”œโ”€โ”€ drip-client.js     # Drip API client wrapper
โ”‚   โ””โ”€โ”€ tests/             # Test suites
โ”‚       โ”œโ”€โ”€ run.js         # Test runner
โ”‚       โ”œโ”€โ”€ drip-client.test.js
โ”‚       โ”œโ”€โ”€ server-tools.test.js
โ”‚       โ””โ”€โ”€ server-e2e.test.js
โ”œโ”€โ”€ package.json
โ”œโ”€โ”€ mcp.json              # MCP Inspector config
โ”œโ”€โ”€ .env.example          # Environment template
โ”œโ”€โ”€ LICENSE               # MIT license
โ””โ”€โ”€ README.md             # Documentation

๐Ÿ”’ Security Best Practices

  1. API Key Management

    • Never commit API keys to version control

    • Use environment variables or secure key management

    • Rotate API keys regularly

    • Use least-privilege API keys when possible

  2. Data Protection

    • Handle subscriber data according to privacy regulations (GDPR, CCPA)

    • Implement proper consent management

    • Use secure connections (HTTPS) only

  3. Rate Limiting

    • Respect Drip's API limits (3,600 requests/hour)

    • Implement exponential backoff for retries

    • Monitor API usage to avoid limit violations

๐Ÿ› Troubleshooting

Common Issues

Authentication Errors (401)

  • Cause: Invalid API key or account ID

  • Solution: Verify credentials in Drip settings and environment variables

Permission Errors (403)

  • Cause: API key lacks required permissions

  • Solution: Check API key permissions in Drip account settings

Rate Limiting (429)

  • Cause: Exceeding API rate limits

  • Solution: Server automatically retries with backoff; reduce request frequency if persistent

Field Mapping Issues

  • Cause: Incorrect field placement (standard vs. custom)

  • Solution: Server handles automatically; check field names match Drip configuration

Debug Mode

Enable detailed logging:

DEBUG=* npm start

๐Ÿ“š API Documentation

Field Types

Standard Fields (Root Level)

  • email (required)

  • first_name

  • last_name

  • user_id

  • time_zone

  • eu_consent

  • eu_consent_message

Custom Fields (Nested)

All other fields are automatically placed in custom_fields:

  • company

  • phone

  • address1, address2

  • city, state, zip, country

  • Any custom data fields

Rate Limits

Operation Type

Limit

Window

Individual Requests

3,600

Per hour

Batch Operations

50,000

Per hour

Concurrent Requests

50

Simultaneous

Error Responses

Status Code

Description

Action Required

401

Unauthorized

Check API credentials

403

Forbidden

Verify permissions

422

Validation Error

Fix request parameters

429

Rate Limited

Wait and retry

500

Server Error

Contact support if persistent

โ“ Frequently Asked Questions

Can I create broadcasts through the API?

No, the Drip API provides read-only access to broadcasts. Use the Drip web interface to create broadcasts.

Use the eu_consent field with values: granted, denied, or pending. Include eu_consent_message for audit trails.

What's the difference between campaigns and workflows?

  • Campaigns: Email series with fixed timing

  • Workflows: Automated sequences triggered by events or conditions

Can I bulk delete subscribers?

No, Drip requires individual deletion for data safety. Use drip_delete_subscriber for each subscriber.

How do I track revenue?

Use drip_record_purchase with the value field in cents (e.g., 9999 for $99.99).

๐Ÿค Contributing

We welcome contributions! Please follow these guidelines:

  1. Fork the repository and create a feature branch

  2. Write tests for new functionality

  3. Follow the code style (ESM, async/await, clear naming)

  4. Update documentation for API changes

  5. Submit a pull request with a clear description

Development Guidelines

  • Use Node.js 20+ with ES modules

  • Maintain test coverage above 80%

  • Follow semantic versioning

  • Write descriptive commit messages

  • Keep dependencies minimal

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ†˜ Support

For This MCP Server

For Drip API

For MCP Protocol

๐Ÿ™ Acknowledgments


Made with โค๏ธ by GravityKit

Available Tools

28 tools
drip_activate_workflowB

Activate a workflow by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
workflow_idYes

TDQS

B3.2/5.0
Behavior2/5

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 side effects, idempotency, permissions, or the state of the workflow after activation. A typical activation tool implies a mutation, but details are missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no unnecessary words. It is efficiently structured and front-loaded with the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimal and adequate for a simple tool with one parameter and no output schema, but it lacks context about differences from similar siblings (e.g., 'drip_start_workflow') and behavioral details that would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not add any meaning to the 'workflow_id' parameter beyond its name. While the parameter name is self-explanatory, the low coverage requires compensation that is lacking.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'activate' and the resource 'workflow' identified by ID. It distinguishes from sibling tools like 'drip_pause_workflow' and 'drip_start_workflow' (start vs. activate), making the purpose specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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., 'drip_start_workflow' or 'drip_remove_from_workflow'). There are no context cues or examples 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.

drip_batch_create_subscribersB

Create or update multiple subscribers at once

ParametersJSON Schema
NameRequiredDescriptionDefault
subscribersYesArray of subscriber objects to create/update

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description must disclose behavior. It indicates an upsert operation ('create or update') but fails to specify upsert logic (e.g., matching on email), error handling for partial failures, rate limits, or required permissions. The agent lacks essential details 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at 6 words. It is front-loaded with the key action. However, it may be too briefโ€”adding a sentence on upsert behavior or use case would improve without harming conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a batch upsert tool with one parameter (array of complex objects) and no output schema, the description is insufficient. It omits success/failure reporting, idempotency, maximum batch size, and any response structure. The agent cannot fully understand the tool's effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 minimal value beyond the schemaโ€”it restates that subscribers are created/updated in bulk. It does not explain field semantics or the upsert key (likely email), but the schema already marks email as required and lists fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: creating or updating multiple subscribers at once. The verb 'create or update' combined with 'multiple' and 'at once' precisely indicates a batch upsert operation, distinguishing it from sibling tools like drip_create_subscriber (single) and drip_batch_unsubscribe (different action).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 drip_create_subscriber for individual upserts. It does not mention prerequisites, batch size limits, or scenarios where it is preferred. The agent must infer usage from context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drip_batch_unsubscribeB

Unsubscribe multiple subscribers at once

ParametersJSON Schema
NameRequiredDescriptionDefault
subscribersYesEmails or objects {email}

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description does not disclose behavioral traits such as idempotency, error handling, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise at four words, but could be slightly more descriptive without losing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with no output schema, the description is adequate but lacks usage context and behavioral details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%; the description adds minimal value by specifying 'Emails or objects {email}' but does not provide deeper semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'unsubscribe' and resource 'multiple subscribers', distinguishing it from single unsubscribe and other batch operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 drip_unsubscribe 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.

drip_create_subscriberB

Create or update a subscriber in Drip

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesEmail address of the subscriber
user_idNoUnique identifier for the subscriber
time_zoneNoTime zone of the subscriber (e.g., America/New_York)
custom_fieldsNoCustom field values for the subscriber
tagsNoTags to apply to the subscriber
prospectNoWhether the subscriber is a prospect
base_lead_scoreNoBase lead score for the subscriber
eu_consentNoEU consent status
eu_consent_messageNoMessage explaining how consent was obtained

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries full burden but only says 'Create or update'. It does not disclose upsert behavior, field overwriting rules, return value, or side effects (e.g., triggering workflows).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence with no wasted words. However, it could benefit from additional context without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 9 parameters, no output schema, and no annotations, the description fails to cover return value, idempotency, uniqueness constraints, or behavioral details beyond the basic action.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 extra meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Create or update' and the resource 'a subscriber in Drip', distinguishing it from batch operations and other subscriber-related tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 drip_batch_create_subscribers, drip_delete_subscriber, or drip_tag_subscriber. No conditions or prerequisites mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drip_delete_subscriberB

Delete a subscriber from your Drip account

ParametersJSON Schema
NameRequiredDescriptionDefault
subscriber_idYesSubscriber ID or email address

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behavior. It only says 'Delete a subscriber' without mentioning permanence, permissions, side effects, or what happens to associated data. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words. However, it is so brief that it sacrifices useful context; but for conciseness alone, it is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (1 param, no output schema), but the description lacks behavioral context like whether deletion is irreversible or if it affects workflows/tags. With no annotations, this is incomplete for safe agent invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter described as 'Subscriber ID or email address'. The description adds no additional meaning beyond the schema, meeting baseline but not exceeding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Delete a subscriber from your Drip account' with a specific verb and resource. It differentiates from sibling tools like drip_unsubscribe or drip_create_subscriber.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use delete vs unsubscribe or other alternatives. Sibling tools include drip_unsubscribe and drip_batch_unsubscribe, but no context is given to choose between them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drip_get_accountB

Get Drip account details

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must convey behavioral traits. It only says 'Get', implying read-only, but does not disclose auth needs, rate limits, or whether any side effects exist. This is insufficient transparency for a tool with no annotation support.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words. Efficient and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks output description; no output schema exists and the description does not explain what 'account details' means or the structure of the result. For a simple tool this may be acceptable, but fuller context would improve usability.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so the description does not need to add parameter details. Baseline score of 4 is appropriate as there is nothing missing in parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get Drip account details' clearly states the verb and resource. It distinguishes from other Drip tools which focus on subscribers, workflows, etc., leaving no ambiguity about the tool's purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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 versus alternatives. However, the purpose is self-evident: it's the only tool for general account info. Lack of prerequisites or exclusions is acceptable for a simple read operation but prevents higher score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drip_get_broadcastC

Get broadcast by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
broadcast_idYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. The description does not disclose any behavioral traits beyond 'get', such as authentication requirements, rate limits, or error handling. For a simple read operation, some context on response or permissible IDs would be beneficial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise at one sentence. While brevity is positive, it may be too sparse to fully inform the agent, lacking essential details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (single parameter, no output schema), the description is minimally adequate. It could mention that it retrieves full broadcast details, which would help the agent understand what to expect without an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no meaning beyond the input schema. Schema coverage is 0% with no parameter descriptions. The parameter name 'broadcast_id' is self-explanatory but the description does not elaborate on format or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get broadcast by ID' clearly states the action (get) and resource (broadcast) with the identifier (ID). It distinguishes from siblings like drip_list_broadcasts that list all broadcasts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. There is no mention of prerequisites, when-not to use, or comparison with other tools like drip_list_broadcasts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drip_get_formC

Get form by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
form_idYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full responsibility for behavioral disclosure. It merely states 'Get' implying a read operation, but fails to confirm side effects, permissions, or data scope (e.g., whether it retrieves all form details or just metadata).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at four words with no wasted language. However, it is disproportionately short relative to the tool's context needs, making it insufficient for agent use.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the single parameter, no output schema, and no annotations, the description should provide more context about what the form contains or what to expect from the response. It currently offers minimal guidance for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet the description adds no meaning beyond the schema. The 'form_id' parameter is not explained (e.g., format or source), leaving the agent without context for what a valid ID looks like.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get form by ID' clearly states the action (get) and resource (form), and specifies the identifier. It distinguishes from sibling tools like drip_list_forms because it is a single-form retrieval by ID.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 or context, leaving the agent to infer usage solely from the tool name and sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drip_get_subscriberA

Fetch a specific subscriber by ID or email

ParametersJSON Schema
NameRequiredDescriptionDefault
subscriber_idYesSubscriber ID or email address

TDQS

A3.5/5.0
Behavior2/5

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 what happens if the subscriber is not found, rate limits, authentication needs, or any side effects. For a simple read operation, minimal transparency is provided, leaving agents uninformed about error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence conveys the tool's purpose without any wasted words. It is efficiently structured and front-loaded with key action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple fetch operation with one parameter, the description is somewhat complete, but lacks guidance on response format or behavior when subscriber not found. Since no output schema exists, some description of return value would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already describes the parameter as 'Subscriber ID or email address'. The description reiterates this ('by ID or email'), adding marginal clarity but no new semantic meaning. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Fetch a specific subscriber by ID or email', specifying the verb (fetch), resource (subscriber), and distinguishing method (by ID or email). This differentiates from sibling tools like drip_list_subscribers (list all) and drip_search_subscribers (search results).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (when you have a specific ID or email) but provides no explicit guidance on when not to use it or alternatives. No mention of scenario-based selection versus siblings like search or list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drip_list_broadcastsD

List broadcasts

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNo
pageNo
per_pageNo

TDQS

D1.1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden for behavioral disclosure. It fails to mention that this is a read operation, any side effects, authentication requirements, or response characteristics. 'List broadcasts' reveals nothing about behavior beyond the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short (two words), but this is under-specification rather than effective conciseness. It fails to provide necessary details while being brief.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with three parameters, no output schema, and no annotations, the description is completely inadequate. It offers no context about what a broadcast is, how results are returned, or how to use parameters effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no meaning to the three parameters (status, page, per_page). It does not explain the enum values for status or the pagination parameters, leaving the agent with only parameter names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List broadcasts' is a tautology that simply restates the tool name 'drip_list_broadcasts'. It provides no additional specificity or differentiation from sibling list tools like drip_list_campaigns or drip_list_forms.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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 versus alternatives, nor does it mention any prerequisites or context for use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drip_list_campaignsB

List all campaigns in your Drip account

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by campaign status
pageNoPage number for pagination
per_pageNoNumber of campaigns per page

TDQS

B3/5.0
Behavior2/5

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 that this is a read-only operation, nor does it mention pagination behavior, rate limits, or any 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no fluff, but it lacks important details. It is concise but under-specifies the tool's behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description does not explain return values or result structure. Given the pagination parameters, guidance on how results are returned is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each parameter described (status with enum, page, per_page). The description adds no extra meaning, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (list) and the resource (campaigns in Drip account). It distinguishes from sibling tools like drip_list_broadcasts and drip_list_forms by specifying campaigns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 description of prerequisites or exclusions. The description only states the action without context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drip_list_custom_fieldsB

List custom field identifiers

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It only states 'List custom field identifiers' without mentioning that it is a read-only operation, authentication needs, or any side effects. 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at four words, front-loaded, and every word is meaningful. No wasted content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (no parameters, no output schema), the description is largely sufficient. However, it could be slightly more complete by noting the output format or that it returns identifiers only.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and schema coverage is 100%. The description adds no extra meaning beyond the schema, but the baseline for zero parameters is 4. No further details needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List custom field identifiers' uses a specific verb ('List') and resource ('custom field identifiers'), clearly distinguishing it from sibling tools that list other resources like broadcasts, campaigns, or forms.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 or any prerequisites. For a simple listing tool, some implicit context exists, but explicit usage guidance is absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drip_list_formsD

List forms

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
per_pageNo

TDQS

D1.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavior but only says 'List forms'. Important traits like pagination (implied by page/per_page parameters) and return format are omitted, leaving agents to guess.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short (two words), failing to provide necessary context. While concise, it sacrifices substance, making it insufficient for effective tool selection.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

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 should minimally explain what forms are and how they are returned. It does not, leaving significant gaps for a list operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, and the description provides no explanation for the 'page' and 'per_page' parameters. Agents cannot infer their purpose (e.g., pagination control) from either the schema or the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List forms' essentially restates the tool name 'drip_list_forms', offering no additional detail. It fails to specify what constitutes a 'form' or differentiate this tool from sibling list tools like drip_list_broadcasts or drip_list_campaigns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 drip_get_form for individual forms. There is no mention of prerequisites, pagination, or any contextual advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drip_list_subscribersC

List all subscribers in your Drip account

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination
per_pageNoNumber of subscribers per page (max 1000)
sortNoField to sort by
directionNoSort direction
statusNoFilter by subscriber status
tagsNoComma-separated list of tags to filter by

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits like read-only nature or pagination behavior. It only says 'list', implying read access, but offers no details on rate limits, data completeness, 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.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, but it is under-specified rather than concise. Critical information about filtering, pagination, and related tools is missing, making it insufficient for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters, no output schema, and no annotations, the description is inadequate. It does not clarify how 'all subscribers' interacts with pagination and filters, nor does it indicate return structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 additional semantic context beyond what is in the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'List all subscribers in your Drip account', which clearly identifies the verb (list) and resource (subscribers). However, it lacks differentiation from sibling tools like drip_search_subscribers and drip_get_subscriber, and the word 'all' is slightly misleading given available filters (status, tags).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 over alternatives such as drip_search_subscribers or drip_get_subscriber. An agent receives no context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drip_list_workflowsC

List workflows

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNo
pageNo
per_pageNo

TDQS

C2.1/5.0
Behavior1/5

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 or side effects. The description only repeats the operation implied by the name, providing no new behavioral information.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (2 words) but at the cost of being under-specified. It is a tautology that adds no value beyond the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 optional parameters, no output schema, and no annotations, the description is completely inadequate. An agent would not know how to use the tool effectively (e.g., pagination, filtering).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, and the description adds nothing about the three parameters. It does not explain the status enum values, page, or per_page semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and resource 'workflows', which differentiates it from sibling list tools like 'drip_list_broadcasts' or 'drip_list_campaigns'. However, it lacks any additional context about what a workflow is or what fields are returned.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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., when to list vs activate workflows). There are no usage hints, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drip_pause_workflowC

Pause a workflow by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
workflow_idYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description only says 'Pause a workflow', which implies a state change, but provides no details on what pausing entails (e.g., stopping future steps, reversibility, impact on ongoing actions). Since no annotations are provided, the description must cover behavioral traits and fails to do so.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is concise and to the point. However, it lacks context that could be added without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the tool's low complexity (1 parameter, no output schema), the description omits important behavioral context such as side effects, required permissions, or return value. It is not complete enough for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain the single parameter (workflow_id) beyond its name and type. No format, source, or valid values are given. The description adds no value over the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Pause' and the resource 'workflow', and specifies identification by ID. It distinguishes from sibling tools like drip_activate_workflow or drip_remove_from_workflow, but lacks extra context about the scope or effect.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like drip_start_workflow or drip_remove_from_workflow. There is no mention of prerequisites, context, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drip_recent_unsubscribesC

List recent unsubscribes with optional date bounds

ParametersJSON Schema
NameRequiredDescriptionDefault
sinceNo
beforeNo
pageNo
per_pageNo
sortNo
directionNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only implies read-only listing but does not mention pagination behavior, rate limits, authentication requirements, or any side effects. The tool has pagination parameters (page, per_page) but no mention of how results are returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise (one sentence) with no wasted words, but it lacks structure such as bullet points or clear separation of purpose from usage. It is acceptable for a simple tool but could be improved by front-loading key details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 6 parameters, no output schema, and no annotations, the description is insufficiently complete. It does not explain pagination, sorting options, or the format of date bounds. The agent would lack critical information to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet the description only hints at 'date bounds' (likely since and before). It does not explain the format of these parameters, nor does it mention sort, direction, page, or per_page. Four of six parameters are completely undocumented in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists recent unsubscribes with optional date bounds. It specifies a verb (list) and resource (unsubscribes), distinguishing it from sibling tools like drip_list_subscribers or drip_unsubscribe_stats.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 contrast with drip_unsubscribe (which performs an unsubscribe) or drip_unsubscribe_stats (which may provide aggregate statistics). The description lacks context for appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drip_record_conversionC

Record a conversion event

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
actionYes
occurred_atNo
propertiesNo

TDQS

C2.1/5.0
Behavior2/5

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 of behavioral disclosure. It merely states 'record', implying a mutation, but lacks details on side effects, authentication needs, rate limits, or what the recording entails.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, short sentence, making it concise. However, it sacrifices informativeness for brevity, being too minimal to be useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 4 parameters (including a nested object), no output schema, and no annotations, the description is grossly incomplete. It fails to explain return values, error handling, or parameter details, leaving the agent without sufficient information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage and no parameter explanations in the description, the agent cannot infer the meaning of parameters like 'action', 'occurred_at', or 'properties'. The description adds no value over the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the verb 'record' and resource 'conversion event', providing a basic idea of the tool's function. However, it does not differentiate this from similar tools like drip_record_purchase or drip_track_event, leaving ambiguity about what constitutes a conversion event.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus alternatives, such as drip_track_event or drip_record_purchase. No context on prerequisites or scenarios is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drip_record_purchaseC

Record a purchase for a subscriber

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
amountYes
occurred_atNo
propertiesNo
itemsNo

TDQS

C2.4/5.0
Behavior2/5

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 such as side effects (e.g., whether subscriber metadata is updated), required permissions, or error conditions. The mutative nature is implied but not clarified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise (one short sentence) but at the cost of omitting essential details. It is not front-loaded with critical usage instructions; the brevity undermines utility.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters (2 required), no output schema, and no annotations, the description provides insufficient context for correct invocation. The agent must guess parameter formats and return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 5 parameters with 0% description coverage in the schema. The description adds no information about any parameter. The meaning of 'amount', 'occurred_at', 'properties', and 'items' is left entirely to the agent's inference.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Record a purchase') and target ('subscriber'). However, it lacks differentiation from sibling tools like 'drip_record_conversion', which could be confused without further context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 'drip_record_conversion' or 'drip_track_event'. The description does not specify prerequisites or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drip_remove_from_workflowC

Remove a subscriber from a workflow

ParametersJSON Schema
NameRequiredDescriptionDefault
workflow_idYes
emailYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It only states the action without detailing side effects (e.g., whether the subscriber is only removed from the workflow or also unsubscribed, whether it's reversible, error conditions). 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (single sentence) but under-specified. While not verbose, it fails to include details that would make it more helpful, balancing conciseness versus completeness poorly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 2 required parameters, no output schema, and no annotations, the description lacks completeness. It omits important context such as error handling, behavior when subscriber is not in the workflow, and confirmation, leaving the agent underinformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no meaning to the parameters (workflow_id, email). It does not explain what these parameters represent or any constraints, leaving the agent without essential context beyond the schema structure.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Remove a subscriber from a workflow' uses a specific verb (remove) and clearly identifies the action on a subscriber within a workflow context. It distinguishes from sibling tools like drip_start_workflow and drip_pause_workflow, 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.

Usage Guidelines2/5

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., drip_unsubscribe, drip_remove_tag). There is no mention of prerequisites, contexts, or when not to use it, 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.

drip_remove_tagB

Remove tags from a subscriber

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesEmail address of the subscriber
tagYesTag to remove

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description bears full burden. It only says 'Remove tags from a subscriber' โ€“ no mention of idempotency, behavior if tag doesn't exist, auth requirements, or side effects. Minimal disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise single sentence โ€“ no wasted words. However, lacks structure like separate sections for usage notes or examples.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has low complexity (2 required params, no output schema). Description is adequate for a basic remove operation but fails to specify return behavior or confirmation of success.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear parameter descriptions for email and tag. Description adds no further value beyond the schema โ€“ baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Remove tags from a subscriber' โ€“ a specific verb and resource. It distinguishes from siblings like drip_tag_subscriber (adds tags) and drip_delete_subscriber (removes subscriber).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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., drip_tag_subscriber to add, drip_delete_subscriber to remove subscriber entirely). No context on prerequisites or limitations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drip_search_subscribersC

Search for subscribers using various filters

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoPartial email match
tagsNoMust include all tags
custom_field_filtersNoCustom field equals filters
created_afterNoISO 8601 lower bound
created_beforeNoISO 8601 upper bound
pageNo
per_pageNo
statusNo
sortNo
directionNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior. It only says 'search' with filters, omitting pagination (page/per_page parameters), return format, or that it's read-only. No mention of side effects 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one sentence with no extraneous words. It is concise but could be structured to front-load key behaviors like pagination or filter combinations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (10 parameters, nested objects, no annotations, no output schema), the description is too sparse. It fails to explain pagination, default behavior, or what the search result contains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is moderate but the tool description adds no meaning beyond 'various filters'. It does not explain how 'custom_field_filters' works or tag matching. The agent must rely solely on the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Search for subscribers using various filters' clearly indicates the tool's purpose: searching subscribers with filters. It distinguishes from siblings like 'drip_list_subscribers' (lists all) and 'drip_get_subscriber' (single by ID) but could specify which filters are available.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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., 'Use when you need to filter by email, tags, etc.'). The description does not mention when not to use it, leaving the agent to infer 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.

drip_start_workflowC

Start a workflow for a subscriber

ParametersJSON Schema
NameRequiredDescriptionDefault
workflow_idYes
emailYes

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description is vague: 'Start a workflow' does not explain side effects, immediate triggers, or what happens after starting (e.g., sends email, updates status).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is concise but overly minimal; it fails to provide necessary information about parameters or behavior, making it insufficient for a tool with 0% schema coverage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, no annotations, and no parameter descriptions, the description is highly incomplete; it does not explain return values, error conditions, or any additional context needed for correct use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The two parameters (workflow_id, email) have no descriptions in the schema or the tool description, leaving the agent to guess their meaning and format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('start') and resource ('workflow') with target ('subscriber'), but does not differentiate from sibling tools like drip_activate_workflow or drip_pause_workflow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 drip_activate_workflow or drip_remove_from_workflow, nor any conditions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drip_subscribe_to_campaignC

Subscribe a user to a campaign

ParametersJSON Schema
NameRequiredDescriptionDefault
campaign_idYesCampaign ID
emailYesEmail address of the subscriber
user_idNoOptional user ID
time_zoneNoTime zone of the subscriber
custom_fieldsNoCustom field values
tagsNoTags to apply
reactivate_if_removedNoWhether to reactivate if previously removed
prospectNoWhether the subscriber is a prospect
base_lead_scoreNoBase lead score

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It only states the core action; it does not mention side effects (e.g., what happens if already subscribed), error conditions, or the effect of parameters like 'reactivate_if_removed'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence. While very short, it is front-loaded with the verb and object. However, it could be slightly expanded to improve utility without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 9 parameters including nested objects and no output schema. The description is too sparse to prepare an agent for correct invocation, omitting critical context about expected outcomes and parameter roles.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with individual parameter descriptions. The tool description adds no additional meaning or interaction context beyond the schema, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Subscribe') and resource ('a campaign'), matching the tool name. While it is distinct from most sibling tools (e.g., 'drip_create_subscriber' creates a subscriber independently), it does not explicitly differentiate from similar subscription actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 'drip_tag_subscriber' or 'drip_start_workflow'. The description lacks context about prerequisites or scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drip_tag_subscriberB

Apply tags to a subscriber

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesEmail address of the subscriber
tagsYesTags to apply

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description gives no details about side effects, idempotency, prerequisites (e.g., subscriber existence), or behavior regarding existing tags (append vs overwrite).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no extraneous words, achieving maximum conciseness while conveying the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool and lack of output schema, the description is insufficient. It does not clarify whether tags are appended or replaced, and omits prerequisites like subscriber existence.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with clear parameter descriptions for 'email' and 'tags', 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Apply tags to a subscriber' uses a specific verb ('apply') and resource ('tags to a subscriber'), clearly indicating the action. It effectively distinguishes from the sibling tool 'drip_remove_tag' which performs the opposite operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 whether subscriber must exist or how it differs from similar tools like 'drip_batch_create_subscribers'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drip_track_eventC

Track a custom event for a subscriber

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesEmail address of the subscriber
actionYesName of the event
propertiesNoEvent properties
occurred_atNoISO 8601 timestamp when the event occurred

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavior. It only says 'track,' without stating side effects (e.g., triggering workflows), persistence, or idempotency. 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, which is concise but under-specified. It could be more informative without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

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 should provide more context (e.g., event creation rules, nesting of properties, timestamp format). It currently feels incomplete for a tool with four parameters including a nested object.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so each parameter has a description. The tool description adds no further 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Track a custom event for a subscriber' clearly states the action (tracking) and the resource (custom event for a subscriber). It distinguishes from sibling tools like drip_record_conversion and drip_record_purchase by being generic, though it could be more explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 drip_record_conversion or drip_record_purchase. The description does not clarify use cases or exclusions, leaving the agent to infer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drip_unsubscribeC

Unsubscribe a subscriber from all emails

ParametersJSON Schema
NameRequiredDescriptionDefault
subscriber_idYesSubscriber ID or email address
campaign_idNoOptional campaign ID to unsubscribe from

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. The description does not disclose side effects (e.g., whether unsubscribe is reversible, if confirmation is needed, or if itโ€™s destructive). For a mutation tool, this is insufficient transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no superfluous words. However, the brevity sacrifices crucial context, making it less helpful than it could be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, annotations, or return value description, the tool is poorly documented. The description fails to explain error scenarios, idempotency, or what happens when the subscriber is already unsubscribed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds no extra meaning beyond the schema. Additionally, the description's 'all emails' contradicts the optional campaign_id parameter, potentially misleading the agent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the action and resource ('Unsubscribe a subscriber from all emails'), but the optional campaign_id parameter contradicts 'all emails'. This could confuse the agent about whether it unsubscribes from all campaigns or a specific one.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 siblings like drip_batch_unsubscribe or drip_recent_unsubscribes. No prerequisites or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drip_unsubscribe_statsC

Aggregate unsubscribe stats by date

ParametersJSON Schema
NameRequiredDescriptionDefault
sinceNo
beforeNo
pageNo
per_pageNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description provides minimal behavioral info. 'Aggregate' suggests read-only, but no details on rate limits, pagination, or data characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise (4 words), but under-specified; does not add enough value for the space it occupies.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 4 parameters, no output schema, and no annotations, the description is far too brief to support correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, and the description only hints at date parameters without explaining format, optionality, or semantics of 'since', 'before', 'page', 'per_page'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Aggregate unsubscribe stats by date' clearly states the verb and resource, and implies date-based aggregation, which differentiates from sibling 'drip_recent_unsubscribes' that focuses on recent data. However, it doesn't explicitly distinguish from other stats tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 'drip_recent_unsubscribes' or other stats tools. No prerequisites or context for use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 28 tool updatesv1.0.0
    • First observeddrip_activate_workflow
    • First observeddrip_batch_create_subscribers
    • First observeddrip_batch_unsubscribe
    • First observeddrip_create_subscriber
    • First observeddrip_delete_subscriber
    • First observeddrip_get_account
    • First observeddrip_get_broadcast
    • First observeddrip_get_form
    • First observeddrip_get_subscriber
    • First observeddrip_list_broadcasts
    • First observeddrip_list_campaigns
    • First observeddrip_list_custom_fields
    • First observeddrip_list_forms
    • First observeddrip_list_subscribers
    • First observeddrip_list_workflows
    • First observeddrip_pause_workflow
    • First observeddrip_recent_unsubscribes
    • First observeddrip_record_conversion
    • First observeddrip_record_purchase
    • First observeddrip_remove_from_workflow
    • First observeddrip_remove_tag
    • First observeddrip_search_subscribers
    • First observeddrip_start_workflow
    • First observeddrip_subscribe_to_campaign
    • First observeddrip_tag_subscriber
    • First observeddrip_track_event
    • First observeddrip_unsubscribe
    • First observeddrip_unsubscribe_stats

TDQS

C2.8/5.0
Disambiguation5/5

Each tool targets a distinct resource and action (e.g., create_subscriber vs delete_subscriber, start_workflow vs pause_workflow). No overlap in purpose.

Naming Consistency5/5

All tools follow the 'drip_verb_noun' pattern consistently with clear English verbs (list, get, create, delete, etc.) and no mixed conventions.

Tool Count4/5

28 tools is slightly above the ideal range but reasonable for a comprehensive marketing automation platform covering subscribers, workflows, campaigns, broadcasts, forms, and events.

Completeness4/5

Covers CRUD for subscribers, workflows, campaigns, broadcasts, forms, tags, conversions, purchases, and events. Missing some update operations for campaigns/workflows but core workflows are supported.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with Drip's email marketing platform through comprehensive tools for managing subscribers, campaigns, tags, events, and workflows. Supports batch operations, GDPR compliance, and both JSON and Markdown response formats for seamless email marketing automation.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to manage email newsletters and contacts via Resend, including sending broadcasts to segments, managing subscribers in bulk, scheduling campaigns, and tracking delivery status using human-friendly identifiers.
    21,862
    5
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables 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.
    100
    1,014
    2
    MIT

Latest Blog Posts

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/GravityKit/drip-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server