Marketing Automation MCP Server
README.md
# Marketing Automation MCP Server
`marketing-automation-mcp` is a Python MCP server for deterministic campaign reporting, provider-backed budget optimization, copy generation, and demo-only audience segmentation.
This repo now favors reproducibility over ad hoc setup:
- Supported Python: `3.12` and `3.13`
- Local bootstrap: `uv`
- Primary MCP transport: `stdio`
- Local Python `3.14.x` is treated as compatibility work, not the supported baseline
## Current Scope
The public MCP contract in this repo is intentionally narrow:
- `generate_campaign_report`
- `optimize_campaign_budget`
- `create_campaign_copy`
- `analyze_audience_segments`
Only these four tools are part of the supported server surface today. Other modules under `src/tools/` exist as internal or aspirational code paths and should not be treated as production MCP features.
## Execution Modes
- `DEMO_MODE=true`
Returns deterministic sample data for demos and contract testing.
- `DEMO_MODE=false`
Uses real platform credentials and the selected AI provider.
Missing live dependencies return structured `blocked` responses instead of fabricated output.
## Clean Machine Setup
```bash
uv sync --python 3.13 --extra dev
cp .env.example .env
uv run python -m compileall src tests dashboard
uv run pytest
```
If you need a pip fallback:
```bash
python3.13 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
```
## Run The Server
Start the MCP server in its supported transport mode:
```bash
uv run python -m src.server
```
The server currently documents and supports `stdio` transport only.
Claude Desktop configuration:
```json
{
"mcpServers": {
"marketing-automation": {
"command": "uv",
"args": ["run", "python", "-m", "src.server"],
"cwd": "/absolute/path/to/Marketing-Automation-MCP-Server"
}
}
}
```
## Configure
```bash
cp .env.example .env
```
Minimum useful configurations:
- Demo mode only:
- `DEMO_MODE=true`
- Live reporting and optimization:
- `DEMO_MODE=false`
- one or more platform credential sets
- Live copy generation:
- `DEMO_MODE=false`
- `AI_PROVIDER=openai`
- `OPENAI_API_KEY=...`
- `AI_OPENAI_MODEL=gpt-5.4`
Optional provider env vars:
- `ANTHROPIC_API_KEY`, `ANTHROPIC_MODEL`
- `GEMINI_API_KEY`, `GEMINI_MODEL`
For stable live behavior, set:
- `SECRET_KEY`
- `ENCRYPTION_KEY`
If `ENCRYPTION_KEY` is missing, API-key encryption is disabled for that process and the server logs a warning.
## Tool Contract
Every tool response includes these top-level fields:
```json
{
"status": "ok | blocked",
"mode": "demo | live",
"blocked_reason": "optional string",
"warnings": []
}
```
See the full contract in [docs/api/README.md](/Users/mohit/Marketing-Automation-MCP-Server/docs/api/README.md).
## Internal Write Side Effects
Live report and optimization flows may persist internal audit records to the configured database:
- report flows can persist normalized campaign snapshots
- optimization flows can persist AI decision history
These writes are internal side effects for observability and replay safety. They are not part of the public MCP response contract.
## Validation Commands
```bash
uv run python -m compileall src tests dashboard
uv run pytest
uv run python -c "import src.server, src.cli, src.ai_engine, src.performance; print('imports ok')"
docker build -t marketing-automation-mcp:latest .
```
## Documentation
- [Quick start](./docs/quickstart.md)
- [API reference](./docs/api/README.md)
- [Example workflows](./docs/examples/README.md)
- [Demo guide](./DEMO_README.md)
- [Operator runbook](./docs/operator-runbook.md)
- [System audit review docs](./docs/reviews/README.md)
TDQS
B3.1/5.0
Scored across 4 tools
Disambiguation5/5
Each tool targets a distinct marketing function: audience analysis, copy creation, reporting, and budget optimization. There is no overlap in purpose.
Naming Consistency5/5
All tool names follow a consistent verb_noun pattern (analyze_*, create_*, generate_*, optimize_*), making them predictable and easy to distinguish.
Tool Count4/5
With 4 tools, the set is slightly lean but covers core marketing automation tasks. It does not feel overly sparse or bloated for a focused server.
Completeness3/5
The tools cover analysis, copy, reporting, and optimization, but lack common features like campaign lifecycle management (create, schedule, pause) or list/segment management, leaving notable gaps.
Maintenance
ActivityInactive
ResponsivenessNo issues