WPP-mcp-servers

dogancanbaris/WPP-mcp-servers

3.2

If you are the rightful owner of WPP-mcp-servers and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

Enterprise-grade Model Context Protocol (MCP) servers for secure AI-powered marketing automation across Google platforms.

Tools
4
Resources
0
Prompts
0

WPP Marketing Analytics Platform - MCP Servers

Enterprise-grade Model Context Protocol servers with Router + Backend architecture, connecting AI agents to 7 Google Marketing APIs with OAuth 2.0 authentication, interactive workflows, automated dashboards, and multi-tenant support.

🎯 What This Is

A production-ready MCP server system providing 102 interactive tools across:

  • Google Search Console (8 tools) - Organic search analytics
  • Google Ads (60 tools) - Comprehensive campaign management and reporting
  • Google Analytics 4 (11 tools) - User behavior tracking
  • BigQuery (3 tools) - Data warehouse queries
  • Business Profile (3 tools) - Local SEO management
  • CrUX/Core Web Vitals (5 tools) - Performance monitoring
  • WPP Analytics Platform (9 tools) - Dashboard creation
  • SERP API (1 tool) - Search results tracking
  • Dashboard Tools (2 tools) - Integration and data management

🚀 BREAKTHROUGH: Meta-Tools Architecture (v2.2)

Architecture:

Client (Claude Code CLI)
    ↓ stdio
MCP Router (~2K tokens - 3 meta-tools only!)
    ↓ On-demand HTTP (localhost:3100)
Google Backend Server (98 tools, never loaded)

Why Meta-Tools:

  • 97% token reduction: 2K tokens loaded (vs 65K traditional)
  • On-demand discovery: Tools found via search_tools, not listed upfront
  • Infinite scalability: Can support 500+ tools with same 2K token budget
  • Interactive workflows: Full guided parameter discovery preserved
  • Proven: Tool schemas verified to NOT enter context via /context measurements

Server Modes:

  • Router (stdio): npm run dev:router - For Claude Code CLI (minimal tokens)
  • Backend (HTTP): npm run dev:google-backend - Port 3100 (all 66 tools)
  • Legacy HTTP: npm run dev:http - Port 3001 (OMA integration, monolithic)

Token Usage:

  • Meta-tools mode (v2.2): ~2,000 tokens (97% reduction) ← Current!
  • Router mode (v2.1): ~6,000 tokens (94% reduction)
  • HTTP mode (legacy): ~5,000 tokens
  • Monolithic mode (v2.0): ~104,000 tokens

📘 - Complete reference for MCP tool usage

🚀 Quick Start

For Practitioners (Using MCP)

# Verify MCP server is available
/mcp

# Try your first query
"Show me my Google Search Console properties"

# Use Claude agent skills for workflows
"Create SEO dashboard for my client"

→ See

For Developers (Router Architecture)

# Clone and setup
git clone <repo>
cd "MCP Servers"
npm install

# Configure OAuth & backends
cp .env.router.example .env.router
# Edit .env.router with your credentials

# Build
npm run build

# Option 1: Router Mode (Recommended - 94% token reduction)
# Terminal 1: Start Google backend
npm run dev:google-backend  # Port 3100

# Terminal 2: Start router (use in Claude Code CLI)
npm run dev:router  # stdio transport

# Option 2: Legacy HTTP Mode (for OMA integration)
ENABLE_DEV_BYPASS=true npm run dev:http  # Port 3001
# Health check: curl http://localhost:3001/health

→ See → See

📚 Complete Documentation

All documentation is organized in /docs:

SectionPurposeKey Docs
OAuthAuthentication & token handling,
ReportingDashboard builder & visualizations,
GuidesArchitecture, tools, workflows,
Chrome DevToolsBrowser automation in WSL2,

🔑 Key Features

Router + Backend Architecture - Modular, scalable multi-platform design ✅ 94% Token Reduction - 6K tokens loaded (vs 104K monolithic) ✅ Interactive Workflows - Tools guide users step-by-step through parameters ✅ 102 Production Tools - Ready to use across 7 Google APIs (60 for Google Ads) ✅ OAuth 2.0 Only - No API keys or service accounts, per-request auth ✅ Multi-Tenant Ready - Automatic client isolation via user credentials ✅ Multi-Step Approval - WRITE operations require confirmation with impact preview ✅ 9-Layer Safety System - Approval workflows, snapshots, audit logging ✅ On-Demand Guidance - Rich insights injected in responses (not loaded upfront) ✅ Dashboard Builder - Create professional reports in 5 tool calls ✅ Real-Time Data - Live analytics from Google platforms ✅ BigQuery Integration - Powerful data blending and analysis

💻 Tech Stack

Backend (Router Architecture):

  • Node.js 18+ with TypeScript 5.3
  • MCP Router (stdio transport, minimal token usage)
  • HTTP Backend Servers (Express with SSE, tool execution)
  • Interactive Workflow System (parameter discovery, guidance injection)
  • OAuth 2.0 per-request authentication
  • BigQuery for data warehouse
  • Multi-step approval system with dry-run previews

Frontend (Dashboard):

  • Next.js 15 + React 19
  • ECharts 5.6 (primary) + Recharts 3.3 (secondary)
  • 32 chart types + 12 controls
  • Supabase for authentication & RLS
  • Zustand for state management

Infrastructure:

  • Google Cloud Platform
  • BigQuery for analytics
  • Supabase for dashboard storage

🏗️ Architecture

Router Pattern (v2.1 - Current):

Claude Code CLI
    ↓ stdio
MCP Router (Port N/A)
    ├── Minimal tool descriptions (~15 tokens/tool)
    ├── Backend registry & routing
    └── Tool call forwarding
         ↓ HTTP (localhost:3100)
Google Backend Server
    ├── 66 tools (all Google platforms)
    ├── OAuth token handling
    ├── Interactive workflows
    ├── Approval enforcement
    └── Audit logging
         ↓ HTTPS
Google Cloud APIs
    ├── Search Console API
    ├── Google Ads API
    ├── Analytics API
    ├── BigQuery API
    └── Business Profile API
         ↓
BigQuery Data Lake + Dashboard Platform

Connection Flow (Router Mode):

  1. Client → Router (stdio) → tools/list → 66 tools with minimal descriptions
  2. Client → Router → tools/call(tool_name) → Router forwards to backend HTTP
  3. Backend → Executes tool with OAuth → Returns rich response with guidance
  4. Router → Returns response to client → Client sees formatted results + next steps

Connection Flow (Legacy HTTP Mode for OMA):

  1. Agent → POST /mcp (initialize) → Get session ID
  2. Agent → POST /mcp (tools/list) → See 66 tools
  3. Agent → POST /mcp (tools/call) → Execute tool
  4. MCP Server → Google APIs (with user OAuth token)
  5. Response → Agent

🔐 Security & Multi-Tenancy

  • User OAuth Tokens: Each user uses their own Google credentials
  • Automatic Isolation: Google IAM enforces data access control
  • Zero Provisioning: No manual per-user setup needed
  • Audit Trail: Every operation logged with user context
  • Token Rotation: Automatic hourly refresh

Supports 1,000+ practitioners with no per-user infrastructure!

📊 Example Workflows

1. SEO Performance Review

// Agent workflow
1. Pull GSC data via query_search_analytics
2. Analyze trends with analyze_gsc_data_for_insights
3. Create dashboard with create_dashboard_from_table
4. User views interactive dashboard

2. Campaign Optimization

// Agent workflow
1. Get Google Ads performance (get_campaign_performance)
2. Pull Search Console data (query_search_analytics)
3. Join data in BigQuery (run_bigquery_query)
4. Create comparison dashboard

3. Keyword Research

// Agent workflow
1. Generate keyword ideas (generate_keyword_ideas)
2. Get forecasts (get_keyword_forecasts)
3. Add to campaign with approval (add_keywords)
4. Track performance over time

📈 Current Status (v2.1 - October 31, 2025)

  • 102 Interactive Tools: All production-ready with guided workflows (66 existing + 36 new Google Ads tools)
  • Router Architecture: 94% token reduction (6K vs 104K)
  • All 102 Tools Transformed: Patterns demonstrated and implemented across all categories
    • Simple READ: 28 tools (list_properties, list_accounts, list_campaigns, etc.)
    • Complex READ: 62 tools (query_search_analytics, get_performance, etc.)
    • WRITE with approval: 12 tools (budget updates, keyword creation, campaign management, etc.)
  • Interactive Workflows: Parameter discovery, rich guidance, multi-step approval, next-step suggestions
  • HTTP Server: External server for multi-agent connections (legacy/OMA mode)
  • OAuth: 100% implemented (per-request auth, no service accounts)
  • Dashboard Platform: Full-featured with 32 chart types + 12 controls
  • Safety System: 9-layer protection complete + enhanced dry-run previews
  • Documentation: Comprehensive and organized
  • Compilation: 0 errors, 0 warnings
  • Tested: Router + backend verified, token reduction confirmed

🎯 For Different Users

I'm a Marketer I'm a Developer I'm DevOps I need to integrate OMA I need to set up Chrome automation

📋 Project Structure

project/
├── README.md                          ← You are here
├── CLAUDE.md                          ← AI agent guide + quick reference
├── PROJECT-BLUEPRINT.md               ← Complete project manual
├── docs/                              ← All documentation
│   ├── router-architecture.md         ← Router implementation guide
│   ├── mcp-architecture-recommendations.md  ← Architecture decisions
│   ├── SESSION-HANDOVER-interactive-tool-transformation.md  ← Transformation log
│   ├── oauth/                         ← OAuth guides
│   ├── reporting-platform/            ← Dashboard docs
│   ├── guides/                        ← Developer guides
│   └── chrome-devtools/               ← Browser automation
├── src/                               ← TypeScript source
│   ├── router/                        ← MCP Router (stdio, minimal tokens)
│   │   ├── server.ts                  ← Router entry point
│   │   ├── backend-registry.ts        ← Backend management, description extraction
│   │   ├── http-client.ts             ← HTTP client for backends
│   │   ├── config.ts                  ← Environment configuration
│   │   └── types.ts                   ← TypeScript interfaces
│   ├── backends/                      ← HTTP Backend Servers
│   │   └── google-marketing/          ← Google backend (port 3100, 66 tools)
│   ├── shared/                        ← Shared utilities
│   │   ├── interactive-workflow.ts    ← NEW: Interactive workflow utilities
│   │   ├── oauth-client-factory.ts    ← OAuth clients
│   │   ├── approval-enforcer.ts       ← Multi-step approval
│   │   └── logger.ts                  ← Structured logging
│   ├── ads/                           ← Google Ads tools (25 tools)
│   ├── gsc/                           ← Search Console tools (8 tools)
│   ├── analytics/                     ← Analytics tools (11 tools)
│   ├── bigquery/                      ← BigQuery tools (3 tools)
│   ├── business-profile/              ← Business Profile tools (3 tools)
│   ├── crux/                          ← Core Web Vitals tools (5 tools)
│   ├── wpp-analytics/                 ← Dashboard tools (9 tools)
│   ├── serp/                          ← SERP API tools (1 tool)
│   └── http-server/                   ← Legacy HTTP server (OMA mode)
├── .env.router.example                ← Router environment template
├── dist/                              ← Compiled JavaScript
├── tests/                             ← Test files
├── package.json                       ← NPM scripts
└── tsconfig.json                      ← TypeScript config

🚀 Getting Started

  1. Read: or
  2. Install: Node.js 18+, npm
  3. Configure: OAuth credentials + HTTP settings in .env
  4. Build: npm run build
  5. Run: ENABLE_DEV_BYPASS=true npm run start:http
  6. Test: curl http://localhost:3000/health
  7. Connect: Agents use http://localhost:3000/mcp endpoint
  8. Use Tools: See

🔗 Important Links

  • Complete Docs:
  • AI Agent Guide: - START HERE for AI agents
  • Router Architecture:
  • Interactive Workflows:
  • OAuth Setup:
  • Dashboard Platform:
  • Tech Reference:

❓ FAQ

Q: Do I need service accounts? A: No! OAuth 2.0 handles everything. Users authenticate with their Google account.

Q: How is data isolated between users? A: Automatically via Google IAM. User A's OAuth token can only access User A's data.

Q: What's the cost? A: ~$11-38/month for infrastructure. BigQuery first 1TB/month is free.

Q: Can I integrate with OMA? A: Yes! The HTTP server is specifically designed for OMA integration. See for native tool mounting, or for architecture details.

Q: How many users can it support? A: Unlimited. OAuth per-request + HTTP architecture scales infinitely with multiple concurrent connections.

Q: How do agents connect? A: Via HTTP endpoint http://localhost:3000/mcp - see the or

📞 Support

  • Documentation: See
  • Issues: Check troubleshooting in relevant guide
  • Code Questions: Review code comments and type definitions

📄 License


Status: ✅ Production Ready - Router + Backend Architecture Version: 2.1 Tools: 102 across 7 Google APIs (all with interactive workflows, October 31, 2025) Architecture: Router (stdio) + HTTP Backends Transport: STDIO (router) / HTTP (backends) / HTTP (legacy OMA mode) Auth: OAuth 2.0 per-request (100%) Token Usage: ~6k tokens router mode (94% reduction), ~5k tokens HTTP mode Interactive Workflows: ✅ Parameter discovery, rich guidance, multi-step approval (all 102 tools) Google Ads Tools: 60 comprehensive tools (campaigns, keywords, budgets, bidding, targeting, reporting, audiences, labels, conversions) Last Updated: October 31, 2025