Drip MCP Server
A Model Context Protocol (MCP) server that enables Claude Code and other MCP clients to interact with Drip's email marketing platform. This server provides comprehensive tools for managing subscribers, campaigns, tags, events, and workflows.
Features
Core Capabilities
Subscriber Management: Create, update, list, fetch, and unsubscribe subscribers
Tag Management: Apply and remove tags for segmentation
Event Tracking: Record custom events for behavioral triggers
Campaign Management: List campaigns, subscribe/unsubscribe users from email series
Workflow Automation: List, activate, pause workflows, and start subscribers on workflows
Batch Operations: Efficiently handle bulk subscriber updates
Custom Fields: List and manage custom field identifiers
Smart Features
Dual Response Formats: All tools support both JSON (for processing) and Markdown (for readability)
Pagination Support: Handle large datasets efficiently with built-in pagination
Character Limit Protection: Automatic response truncation with helpful guidance
Comprehensive Error Handling: Clear, actionable error messages
GDPR Compliance: Built-in support for EU consent management
Installation
Prerequisites
Python 3.8 or higher
Drip account with API access
MCP-compatible client (e.g., Claude Code)
Quick Install
We provide installation helper scripts to make setup easier:
Option 1: Python Installation Helper (Recommended)
Option 2: Bash Installation Script
Option 3: Manual Installation
Step 1: Clone or Download
Step 2: Install Dependencies
Step 3: Set Environment Variables
Finding Your Credentials:
API Key: Drip Dashboard → Settings → My User Settings → API Token
Account ID: Look at your Drip dashboard URL (the number in the URL)
Step 4: Test the Server
Usage with Claude Code
Configure Claude Code
Add the following to your Claude Code configuration file (~/.config/claude/claude_config.json or equivalent):
See docs/claude_code_config_example.json for a complete configuration example.
Example Commands in Claude Code
Once configured, you can use natural language to interact with Drip:
Available Tools
Subscriber Management
drip_create_update_subscriber- Create or update a subscriberdrip_list_subscribers- List subscribers with filteringdrip_fetch_subscriber- Get detailed subscriber informationdrip_unsubscribe_from_all- Globally unsubscribe a subscriberdrip_batch_subscribe- Batch create/update up to 1000 subscribers
Tag Management
drip_list_tags- List all tags in the accountdrip_apply_tag- Apply a tag to a subscriberdrip_remove_tag- Remove a tag from a subscriber
Event Tracking
drip_record_event- Record a custom event for a subscriberdrip_list_event_actions- List all event types being tracked
Campaign Management
drip_list_campaigns- List Email Series Campaignsdrip_subscribe_to_campaign- Subscribe someone to a campaigndrip_unsubscribe_from_campaign- Remove from campaign(s)
Workflow Management
drip_list_workflows- List all workflowsdrip_activate_workflow- Activate a workflowdrip_pause_workflow- Pause a workflowdrip_start_on_workflow- Start a subscriber on a workflow
Utility Tools
drip_list_custom_fields- List custom field identifiers
Tool Parameters
Most tools support these common parameters:
Response Format
response_format: Choose between "markdown" (human-readable) or "json" (machine-readable)
Pagination
page: Page number (starts at 1)per_page: Results per page (max 100)
Filtering
status: Filter by subscriber/campaign statustags: Filter by tags (comma-separated)sort: Sort results by different fields
Examples
Python Script Usage
Common Workflows
1. Import and Tag Subscribers
2. Track Customer Journey
3. Segment and Campaign Management
Error Handling
The server provides clear error messages for common issues:
Missing Credentials: Warns if environment variables are not set
API Errors: Returns detailed error messages from Drip API
Rate Limiting: Handles Drip's rate limits (50 batch requests/hour, 3600 individual/hour)
Validation Errors: Pydantic validates all inputs before API calls
Best Practices
Use Batch Operations: For multiple subscribers, use
drip_batch_subscribeinstead of individual callsRespect Rate Limits: 50 batch requests/hour, 3600 individual requests/hour
Use Tags for Segmentation: Tags are powerful for triggering automations
Track Events with Properties: Include relevant data in event properties
Choose Appropriate Response Format: Use JSON for processing, Markdown for reading
Handle Pagination: Use page parameters for large result sets
Troubleshooting
Server Won't Start
Check Python version:
python --version(needs 3.8+)Verify dependencies:
pip list | grep -E "mcp|httpx|pydantic"Check environment variables:
echo $DRIP_API_KEY
ImportError: FastMCP
If you see ImportError: cannot import name 'FastMCP':
The MCP SDK might not be properly installed
Try installing from GitHub:
pip install git+https://github.com/modelcontextprotocol/python-sdk.gitOr clone and install locally:
git clone https://github.com/modelcontextprotocol/python-sdk.git cd python-sdk pip install -e .
Authentication Errors
Verify API key is correct and active
Check account ID matches your Drip account
Ensure API key has necessary permissions
Connection Issues
Check internet connectivity
Verify Drip API is accessible:
curl https://api.getdrip.com/v2/accountsCheck for proxy/firewall restrictions
Advanced Configuration
Custom Character Limit
Edit the CHARACTER_LIMIT constant in src/drip_mcp/server.py to adjust response size limits:
Custom User Agent
Modify the get_auth_headers() function to set a custom User-Agent:
Security Notes
Never commit API keys: Use environment variables or secure key management
Validate inputs: The server uses Pydantic for input validation
HTTPS only: All API communication uses HTTPS
Limited scope: Tools are designed with appropriate read/write hints
Support and Resources
Drip API Documentation: https://developer.drip.com/
MCP Specification: https://modelcontextprotocol.io/
Drip Help Center: https://help.drip.com/
License
This MCP server is provided as-is for use with Drip's API. Ensure you comply with Drip's API terms of service and rate limits.
Contributing
To contribute improvements:
Test changes thoroughly with a Drip test account
Follow MCP best practices for tool design
Update documentation for new features
Ensure backward compatibility
Version History
1.0.1 - Codebase refactoring and improvements
Restructured project: Organized into
src/,tests/,scripts/, anddocs/directoriesRemoved unnecessary files: Deleted incorrect
package.jsonandpnpm-lock.yamlAdded : Modern Python packaging with proper dependencies
Updated imports: Main module now at
src/drip_mcp/server.pyFixed compatibility with FastMCP (removed unsupported annotations parameter)
Added installation helper scripts
Improved error handling for MCP SDK installation
Enhanced
.gitignorewith comprehensive Python patternsBreaking change: Server path changed - update Claude Code config to use
python -m drip_mcp.server
1.0.0 - Initial release with core Drip functionality
Subscriber management
Campaign and workflow tools
Tag and event tracking
Batch operations support
Project Structure Note
As of v1.0.1, the project follows Python best practices with a hierarchical structure. Main source code is in src/drip_mcp/, tests in tests/, utilities in scripts/, and documentation in docs/. If upgrading from v1.0.0, update your Claude Code configuration to point to the new server path.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
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.