Metadata-Version: 2.4
Name: mcp-activecampaign
Version: 0.2.0
Summary: Production-grade MCP server for the ActiveCampaign API — 65 tools for contacts, deals, automations, tags, pipelines, campaigns, notes, tasks, event tracking, ecommerce, lead scoring, segments, forms, goals, and templates.
Project-URL: Homepage, https://github.com/AlexlaGuardia/mcp-activecampaign
Project-URL: Repository, https://github.com/AlexlaGuardia/mcp-activecampaign
Project-URL: Issues, https://github.com/AlexlaGuardia/mcp-activecampaign/issues
Author-email: Alex LaGuardia <alex@alexlaguardia.dev>
License-Expression: MIT
License-File: LICENSE
Keywords: activecampaign,ai,crm,email-marketing,mcp,model-context-protocol
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Communications :: Email
Classifier: Topic :: Office/Business :: Financial :: Accounting
Requires-Python: >=3.10
Requires-Dist: httpx>=0.26.0
Requires-Dist: mcp>=1.0.0
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.21; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Description-Content-Type: text/markdown

# mcp-activecampaign

Production-grade MCP server for the ActiveCampaign API — **33 tools** for contacts, deals, automations, tags, pipelines, campaigns, custom fields, accounts, and webhooks.

The first MCP server for ActiveCampaign's 185,000+ customers.

## Features

- **Contacts** — List, get, create, update, delete, and search contacts
- **Deals** — Full CRM deal management with pipeline and stage support
- **Tags** — Create tags and manage contact-tag associations
- **Lists** — View mailing lists and subscriber counts
- **Automations** — List automations and add contacts to workflows
- **Pipelines & Stages** — View deal pipelines and their stages
- **Custom Fields** — List fields, get/set values per contact
- **Campaigns** — View email campaign details and performance metrics
- **Accounts** — Manage B2B company records
- **Webhooks** — Create, list, and delete webhook subscriptions
- **Rate limiting** — Built-in 5 req/s throttle (ActiveCampaign's limit)
- **Auto-retry** — Automatic retry on 429 responses

## Quick Start

### Install

```bash
pip install mcp-activecampaign
```

### Configure

Get your API URL and key from **Settings > Developer** in your ActiveCampaign account.

#### Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "activecampaign": {
      "command": "mcp-activecampaign",
      "env": {
        "ACTIVECAMPAIGN_URL": "https://youraccountname.api-us1.com",
        "ACTIVECAMPAIGN_API_KEY": "your-api-key"
      }
    }
  }
}
```

#### Environment Variables

```bash
export ACTIVECAMPAIGN_URL="https://youraccountname.api-us1.com"
export ACTIVECAMPAIGN_API_KEY="your-api-key"
mcp-activecampaign
```

## Tools (33)

| Category | Tools | Notes |
|----------|-------|-------|
| **Account** | `ping` | Connection test |
| **Contacts** | `list_contacts`, `get_contact`, `create_contact`, `update_contact`, `delete_contact`, `search_contacts` | Full CRUD + search |
| **Deals** | `list_deals`, `get_deal`, `create_deal`, `update_deal`, `delete_deal` | Full CRUD with pipeline/stage filters |
| **Tags** | `list_tags`, `create_tag`, `add_tag_to_contact`, `remove_tag_from_contact` | Contact tagging |
| **Lists** | `list_lists`, `get_list` | Mailing lists |
| **Automations** | `list_automations`, `get_automation`, `add_contact_to_automation` | Read + enroll (API limitation: can't create automations) |
| **Pipelines** | `list_pipelines`, `list_stages` | Deal pipeline structure |
| **Custom Fields** | `list_custom_fields`, `get_field_values`, `set_field_value` | Contact custom data |
| **Campaigns** | `list_campaigns`, `get_campaign` | Read-only (API limitation) |
| **Accounts** | `list_accounts`, `get_account` | B2B company records |
| **Webhooks** | `list_webhooks`, `create_webhook`, `delete_webhook` | Event subscriptions |

## API Notes

- **Auth**: API key via `Api-Token` header (no OAuth required)
- **Rate limit**: 5 requests/second per account (handled automatically)
- **Pagination**: Offset-based — all list tools support `limit` and `offset` params
- **Automations**: Read-only via API — you can list and enroll contacts, but can't create or edit workflows
- **Campaigns**: Mostly read-only via API — view details and metrics

## Development

```bash
git clone https://github.com/AlexlaGuardia/mcp-activecampaign.git
cd mcp-activecampaign
pip install -e ".[dev]"
pytest
```

## License

MIT
