BusinessFlowPro MCP Server
README.md
# BusinessFlowPro MCP Server
An MCP (Model Context Protocol) server that enables Claude Desktop to interact with BusinessFlowPro marketing automation platform via natural language.
## Features
- **Campaign Management**: Create, send, and schedule email campaigns
- **Contact Management**: Add and manage contacts and segments
- **Email Templates**: Create and manage reusable templates
- **Landing Pages**: Build and publish landing pages
- **Lead Forms**: Manage forms and view submissions
- **Analytics**: View email and campaign performance metrics
- **AI Content Generation**: Generate emails, subject lines, and landing pages
## Installation
### Using pip
```bash
cd mcp-server
pip install -e .
```
### Using uv (recommended)
```bash
cd mcp-server
uv pip install -e .
```
## Configuration
### Environment Variables
Create a `.env` file or set environment variables:
```bash
BUSINESSFLOWPRO_API_URL=https://app.businessflowpro.com
BUSINESSFLOWPRO_EMAIL=your_email@company.com
BUSINESSFLOWPRO_PASSWORD=your_password
```
### Claude Desktop Configuration
Add to your Claude Desktop configuration file (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
```json
{
"mcpServers": {
"businessflowpro": {
"command": "python",
"args": ["-m", "businessflowpro_mcp"],
"env": {
"BUSINESSFLOWPRO_API_URL": "https://app.businessflowpro.com",
"BUSINESSFLOWPRO_EMAIL": "your_email@company.com",
"BUSINESSFLOWPRO_PASSWORD": "your_password"
}
}
}
}
```
Or if using uv:
```json
{
"mcpServers": {
"businessflowpro": {
"command": "uv",
"args": ["run", "python", "-m", "businessflowpro_mcp"],
"env": {
"BUSINESSFLOWPRO_API_URL": "https://app.businessflowpro.com",
"BUSINESSFLOWPRO_EMAIL": "your_email@company.com",
"BUSINESSFLOWPRO_PASSWORD": "your_password"
}
}
}
}
```
## Available Tools
### Campaign Tools
| Tool | Description |
|------|-------------|
| `list_campaigns` | List all campaigns with optional status filtering |
| `get_campaign` | Get detailed information about a campaign |
| `create_campaign` | Create a new email campaign |
| `send_campaign` | Send a campaign immediately |
| `schedule_campaign` | Schedule a campaign for future delivery |
### Contact Tools
| Tool | Description |
|------|-------------|
| `list_contacts` | List contacts with search and filtering |
| `get_contact` | Get detailed contact information |
| `create_contact` | Create a new contact |
| `list_segments` | List all contact segments |
### Template Tools
| Tool | Description |
|------|-------------|
| `list_templates` | List all email templates |
| `create_template` | Create a new email template |
### Landing Page Tools
| Tool | Description |
|------|-------------|
| `list_landing_pages` | List all landing pages |
| `create_landing_page` | Create a new landing page |
| `publish_landing_page` | Publish a landing page |
### Form Tools
| Tool | Description |
|------|-------------|
| `list_forms` | List all lead capture forms |
| `get_form_submissions` | Get form submissions |
### Analytics Tools
| Tool | Description |
|------|-------------|
| `get_analytics_overview` | Get platform analytics metrics |
### AI Content Tools
| Tool | Description |
|------|-------------|
| `generate_email` | Generate email content using AI |
| `generate_subject_lines` | Generate subject line variations |
| `generate_landing_page` | Generate landing page content |
| `generate_campaign_sequence` | Generate a multi-email drip sequence |
## Example Conversations
### List Draft Campaigns
```
You: Show me my draft campaigns
Claude: [Uses list_campaigns(status="draft")]
→ "You have 3 draft campaigns: Summer Sale, Q3 Newsletter, Product Launch"
```
### Create an Email
```
You: Create an email for our summer sale targeting marketing managers
Claude: [Uses generate_email(prompt="summer sale for marketing managers")]
→ Shows generated email content
You: Create a campaign with that email
Claude: [Uses create_campaign with the generated content]
→ "Campaign created successfully..."
```
### Check Analytics
```
You: What's our email performance this month?
Claude: [Uses get_analytics_overview(date_range="30d")]
→ "Open rate: 32.5%, Click rate: 8.2%, 12 campaigns sent..."
```
## Development
### Running Locally
```bash
cd mcp-server
python -m businessflowpro_mcp
```
### Running Tests
```bash
pip install -e ".[dev]"
pytest
```
## Security Notes
- Credentials are stored in environment variables, not in code
- Tokens are automatically refreshed before expiry
- API calls use HTTPS for secure communication
- Failed authentication attempts are logged but credentials are not exposed
## Troubleshooting
### "Configuration error: BusinessFlowPro credentials not configured"
Ensure you have set the `BUSINESSFLOWPRO_EMAIL` and `BUSINESSFLOWPRO_PASSWORD` environment variables.
### "Authentication failed"
Check that your email and password are correct. Verify you can log in to the BusinessFlowPro web interface.
### "Permission denied"
Your account may not have access to certain features. Contact your BusinessFlowPro administrator.
### "Rate limit exceeded"
Wait a moment before making more requests. The server implements automatic token refresh but does not handle rate limiting retries.
## License
MIT
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues