Marketing Automation MCP Server
Enables Facebook Ads campaign management and audience insights, allowing creation and optimization of ad campaigns with intelligent audience segmentation.
Provides full API integration with OAuth2 authentication for Google Ads campaign management, enabling AI-powered budget optimization, performance tracking, and automated campaign operations.
Integrates with Google Analytics for performance tracking, attribution analysis, and real-time campaign monitoring with automated ROI calculation.
Enables contact management, email campaign creation, and audience segmentation through Mailchimp's marketing automation platform.
Leverages GPT-4 for AI-powered ad copy generation, intelligent budget allocation recommendations, campaign insights, and predictive ROI modeling.
Provides email service integration for marketing campaign delivery and communication automation.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Marketing Automation MCP Servergenerate a performance report for my Q4 Google Ads campaign"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.12and3.13Local bootstrap:
uvPrimary MCP transport:
stdioLocal Python
3.14.xis treated as compatibility work, not the supported baseline
Current Scope
The public MCP contract in this repo is intentionally narrow:
generate_campaign_reportoptimize_campaign_budgetcreate_campaign_copyanalyze_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.
Related MCP server: Google Ads MCP Server
Execution Modes
DEMO_MODE=trueReturns deterministic sample data for demos and contract testing.DEMO_MODE=falseUses real platform credentials and the selected AI provider. Missing live dependencies return structuredblockedresponses instead of fabricated output.
Clean Machine Setup
uv sync --python 3.13 --extra dev
cp .env.example .env
uv run python -m compileall src tests dashboard
uv run pytestIf you need a pip fallback:
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:
uv run python -m src.serverThe server currently documents and supports stdio transport only.
Claude Desktop configuration:
{
"mcpServers": {
"marketing-automation": {
"command": "uv",
"args": ["run", "python", "-m", "src.server"],
"cwd": "/absolute/path/to/Marketing-Automation-MCP-Server"
}
}
}Configure
cp .env.example .envMinimum useful configurations:
Demo mode only:
DEMO_MODE=true
Live reporting and optimization:
DEMO_MODE=falseone or more platform credential sets
Live copy generation:
DEMO_MODE=falseAI_PROVIDER=openaiOPENAI_API_KEY=...AI_OPENAI_MODEL=gpt-5.4
Optional provider env vars:
ANTHROPIC_API_KEY,ANTHROPIC_MODELGEMINI_API_KEY,GEMINI_MODEL
For stable live behavior, set:
SECRET_KEYENCRYPTION_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:
{
"status": "ok | blocked",
"mode": "demo | live",
"blocked_reason": "optional string",
"warnings": []
}See the full contract in 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
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
Available Tools
4 toolsanalyze_audience_segmentsC
Analyze audience segments in deterministic demo mode or return a structured live-mode block.
| Name | Required | Description | Default |
|---|---|---|---|
| contact_list_id | Yes | ||
| criteria | Yes | ||
| min_segment_size | No | ||
| max_segments | No | ||
| include_recommendations | No | ||
| analyze_overlap | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | No | |
| mode | No | |
| blocked_reason | No | |
| warnings | No | |
| analysis_id | Yes | |
| total_contacts | Yes | |
| segments | Yes | |
| uncategorized_count | Yes | |
| overlaps | No | |
| recommendations | Yes | |
| insights | Yes | |
| created_at | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description fails to disclose behavioral traits such as read/write nature, side effects, or mode implications. 'Deterministic demo mode' hints at reproducibility but is not explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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. It omits critical details that would justify its brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters, no annotations, and no explanation of the output schema, the description is insufficient for an agent to correctly invoke the tool. The live-mode vs. demo distinction is mentioned but not fleshed out.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage for its 6 parameters, and the description does not mention or clarify any parameters. It adds no value beyond the schema's field names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool analyzes audience segments and mentions two modes (deterministic demo vs. live), which distinguishes it from sibling tools like create_campaign_copy or generate_campaign_report. However, it lacks specificity on what the analysis produces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 prerequisites or context for the modes. The description only states the action without any conditional advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_campaign_copyB
Generate campaign copy variants through the configured AI provider or deterministic demo mode.
| Name | Required | Description | Default |
|---|---|---|---|
| product_name | Yes | ||
| product_description | Yes | ||
| target_audience | Yes | ||
| tone | Yes | ||
| copy_type | Yes | ||
| variants_count | No | ||
| keywords | No | ||
| max_length | No | ||
| call_to_action | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | No | |
| mode | No | |
| blocked_reason | No | |
| warnings | No | |
| copy_generation_id | Yes | |
| copy_type | Yes | |
| variants | Yes | |
| tone | Yes | |
| target_audience | Yes | |
| keywords_used | Yes | |
| best_variant_id | Yes | |
| generation_metadata | Yes |
TDQS
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 mentions two modes (AI provider and deterministic demo) but fails to disclose potential side effects, failure modes, authentication requirements, rate limits, or any constraints. This is a significant gap for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently communicates the core purpose and key behavioral distinction (two modes). There is no fluff; every word earns its place. The structure effectively front-loads the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (9 parameters, 5 required) and the lack of schema descriptions and annotations, the description should provide more contextual guidance. Although an output schema exists (so return values need no explanation), the lack of parameter semantics and behavioral detail makes the description incomplete for an agent to use the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, meaning no parameter documentation exists in the schema. The tool description does not provide any additional meaning for the 9 parameters (e.g., expected formats, examples, or relationships). The only hint comes from parameter titles, which is insufficient for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('generate'), the resource ('campaign copy variants'), and the two operational modes (AI provider or deterministic demo mode). It distinguishes well from sibling tools like analyze_audience_segments, generate_campaign_report, and optimize_campaign_budget, which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for generating copy, but it does not explicitly state when to use it versus alternatives. There is no guidance on prerequisites, exclusions, or conditions that would help an agent decide between this tool and others. The context suggests usage, but explicit guidelines are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_campaign_reportB
Generate campaign performance reports using live platform data or deterministic demo mode.
| Name | Required | Description | Default |
|---|---|---|---|
| campaign_ids | Yes | ||
| date_range | Yes | ||
| metrics | Yes | ||
| format | No | json | |
| include_charts | No | ||
| group_by | No | campaign |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | No | |
| mode | No | |
| blocked_reason | No | |
| warnings | No | |
| report_id | Yes | |
| generated_at | Yes | |
| date_range | Yes | |
| campaigns | Yes | |
| summary | Yes | |
| charts | No | |
| format | Yes | |
| download_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool can use live data or a deterministic demo mode, which is a behavioral trait. However, with no annotations, it fails to disclose other important aspects like permissions, side effects, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the core action. It is concise, though it could briefly describe parameters without losing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (6 parameters, nested objects, enums), the description is too sparse. It does not explain demo mode, report formats, or group_by behavior. Output schema exists but does not justify the lack of parameter context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage and the tool description provides no explanations for any of the 6 parameters, including required ones like campaign_ids, date_range, and metrics. This forces the agent to infer meaning from schemas alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates campaign performance reports and distinguishes it from siblings by specifying data sources (live vs demo mode). The verb 'generate' and resource 'campaign performance reports' are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 vs alternatives like analyze_audience_segments. There is no mention of prerequisites or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
optimize_campaign_budgetC
Reallocate campaign budget using live platform metrics and provider-backed optimization logic.
| Name | Required | Description | Default |
|---|---|---|---|
| campaign_ids | Yes | ||
| total_budget | Yes | ||
| optimization_goal | No | maximize_roi | |
| constraints | No | ||
| historical_days | No | ||
| include_projections | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | No | |
| mode | No | |
| blocked_reason | No | |
| warnings | No | |
| optimization_id | Yes | |
| total_budget | Yes | |
| optimization_goal | Yes | |
| allocations | Yes | |
| projected_improvement | Yes | |
| confidence_score | Yes | |
| recommendations | Yes |
TDQS
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 high-level purpose but omits details like budget modification being destructive, required permissions, or impact of reallocation. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 10-word sentence, concise but too brief for a tool with 6 parameters. It front-loads the action but lacks essential context, making it minimally adequate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters, no schema descriptions, no annotations, and an output schema not explained, the description is severely incomplete. An agent cannot infer inputs, outputs, or behavioral effects from this alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does not mention any parameters (campaign_ids, total_budget, etc.) nor explain their meaning. Only the optimization_goal enum is partially documented in the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (reallocate campaign budget) and the method (live platform metrics, optimization logic). It distinguishes from siblings like analyze_audience_segments or create_campaign_copy, which are unrelated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., when to manually adjust budgets). No exclusions or prerequisites are mentioned.
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.
4 tool updates
v1.1.0- First observed
analyze_audience_segments - First observed
create_campaign_copy - First observed
generate_campaign_report - First observed
optimize_campaign_budget
TDQS
Each tool targets a distinct marketing function: audience analysis, copy creation, reporting, and budget optimization. There is no overlap in purpose.
All tool names follow a consistent verb_noun pattern (analyze_*, create_*, generate_*, optimize_*), making them predictable and easy to distinguish.
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.
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
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
Manage ad campaigns across Google, Meta, LinkedIn, Reddit, TikTok, and more via AI.
Manage ad campaigns across Google, Meta, LinkedIn, Reddit, TikTok, and more via AI.
AI marketing agent for Google Ads, Meta, GA4, TikTok, LinkedIn, Shopify, HubSpot and more.
Run ads on Google, Meta, LinkedIn, TikTok and more from AI. 460+ tools across 14 platforms.
Related MCP Servers
- FlicenseAqualityNot gradedmaintenanceEnables AI-powered analysis, management, and optimization of Meta advertising campaigns across Facebook and Instagram, including performance insights, budget optimization, and creative testing.33-
- AlicenseBqualityDmaintenanceEnables programmatic management of Google Ads campaigns, allowing users to monitor performance metrics, update budgets, and toggle campaign statuses. It supports real-time analytics, top performer analysis, and reporting in CSV or JSON formats.11532MIT
- AlicenseNot gradedqualityAmaintenanceManage ad campaigns across Meta, Google, and TikTok, create campaigns, analyze performance, spy on competitors, and generate AI creatives.12MIT
- FlicenseNot gradedqualityCmaintenanceAutomates marketing workflows across Google Ads, Meta Ads, and GA4, enabling content generation, scheduling, and analytics via a multi-agent pipeline.-
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Mohit4022-cloud/Marketing-Automation-MCP-Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server