MetaMCP — The Missing Memory Layer for Multi‑Agent Ad Ops
LLMs are brilliant at single prompts but forget everything the moment a request ends. MetaMCP (“Memory‑Control Plane”) fixes that by giving agents persistent vector memory, workflow orchestration and policy‑based tool access — all wrapped in a lightweight TypeScript SDK.
Use it as the connective tissue that lets a marketing Orchestrator Agent brief Strategic Planner, Media Buyer and Campaign Optimiser sub‑agents while logging every insight back into a Living Knowledge System.
Key Facts
Spec / Capability | Detail |
---|---|
Language | 100 % TypeScript; zero native deps |
Core modules | MemoryStore , Workflow , ToolPolicy , EventBus , DevConsole |
Storage adapters | libSQL/Turso, Postgres, Pinecone, Redis, DuckDB |
Event bus | Out‑of‑the‑box Upstash Kafka / QStash, but pluggable |
State model | Vector embeddings + JSON blobs per task run; automatic summarisation |
Licencing | Apache‑2.0 — no vendor lock‑in |
How MetaMCP Fits Into an Agent Stack
flowchart TD subgraph Edge UI[Next.js + Vercel AI SDK] --> Agent[Orchestrator Agent] end Agent --> MCP[MetaMCP Memory] MCP -->|Vector| Turso[(libSQL)] MCP -->|Events| Kafka[Upstash Kafka] MCP -->|Policy| Tools[Tool Registry] MCP -->|Context| Agents[Strategic Planner, Media Buyer, Campaign Optimiser] Agents --> Platforms[Google Ads / Meta / DV360 / Amazon]
- Context MCPs — MetaMCP stores brand DNA, historical KPIs and playbooks so every sub‑agent starts in context.
- Platform MCPs — Direct API calls (Google Ads, Meta, DV360, Amazon) stream fresh metrics into memory on a schedule.
- Tools MCPs — Safety layer: only whitelisted functions (e.g.,
googleAds.updateBid
) execute when policy checks pass. - Living Knowledge System — Summaries + embeddings let future tasks query “what worked last Q4?” in milliseconds.
Why It Matters for Every Channel
Channel | MetaMCP unlocks | Impact |
---|---|---|
Search | Persist SERP audits & keyword wins into vector DB; surface during new briefs. | Keyword expansion agents avoid duplicate tests; ~30 % faster go‑to‑market. |
Programmatic | Stream bid metrics to memory; run nightly workflow to auto‑adjust pacing rules. | 15‑20 % reduction in wasted spend across DV360 & YouTube. |
Social | Store creative fatigue signals & comment sentiment for each ad set. | Creative‑rotation agent pre‑emptively swaps ads, boosting CTR +25 %. |
E‑commerce | Log TACoS, Buy‑Box history, review sentiment per ASIN. | Optimiser agent adjusts Amazon bids & price points before rank drops. |
Pros & Cons
Pros | Cons | |
---|---|---|
Open‑source & TS‑native — | Easy drop‑in for Node/Edge runtimes and serverless functions. | Still early; limited GUI dashboards (CLI heavy). |
Pluggable storage & event bus | Swap adapters in hours to match existing infra or SaaS (e.g., Postgres → Pinecone). | Vector deduplication tuning required at scale. |
Policy engine reduces “rogue” tool calls | Granular governance + full audit trail builds client trust & compliance readiness. | Cold‑starts on serverless ≥ 300 ms without edge cache. |
Works offline | Keeps context if LLM provider goes down; enables edge‑only deployments for privacy regions. | Must provision DB + Kafka infra (Upstash simplest). |
Strategic Take‑Aways
- Stateful > Stateless Agents — Persisting context turns copy‑assistants into full‑funnel strategists.
- One Vector Store per Brand — Segregate memories; avoid leakage across clients for compliance.
- Event‑Driven Optimisation — Hook MetaMCP events into alerting (PagerDuty/Slack) to blend human + AI oversight.
- Policy‑First Development — Define who can call what API at what spend tier before writing agent logic.
- Benchmark Continuously — Use the DevConsole to run SnitchBench on each workflow release; regressions kill ROAS fast.
🤖 Quick Demo Prompt
{
"role": "system",
"content": "You are a Media Buyer Agent. MemoryStore: metaMCP.memory, Tools: googleAds.getStats(campaignId), googleAds.setBid(id, bid), dv360.shiftBudget(id, pct)."
}
{
"role": "user",
"content": "Review last week’s PMax campaigns; if ROAS < 2 move 10 % budget to the top 3 branded search ad groups and log rationale."
}
Behind the scenes:
- MetaMCP recalls historical ROAS vectors → fetches fresh KPIs.
- Workflow decides → calls
googleAds.setBid
&dv360.shiftBudget
. - Writes a summary note into
MemoryStore
so tomorrow’s run knows the change.
Further Reading
- MetaMCP Docs — Architecture & API https://docs.metamcp.com/
- GitHub — Source code & examples https://github.com/metatool-ai/metamcp
- Upstash QStash — Serverless event bus used in examples https://upstash.com/blog/qstash-announcement
Prepared by Performics Labs — translating frontier compute into marketing advantage.