Kampalo

com.kampalov0.3.0更新於 Oct 5, 2026

Google Ads, Meta Ads, GA4, Search Console and Shopify insights, alerts, ROAS rules and ad actions.

已驗證Streamable HTTP可網頁執行Data & AnalyticsBusiness & Commerce

概覽

AI 產生的概覽

讓助理讀取同步的 Google Ads、Meta Ads、GA4、Search Console 與 Shopify 行銷資料,並執行 Kampalo 的警示、ROAS 規則與廣告暫停動作。

功能
連線到 Kampalo 代管的 MCP 伺服器,讀取同步的行銷資料,並產出 Google 與 Meta、SEO、GA4 及自然流量的比較簡報。它提供 automate_* 工具,可提議暫停成效不佳的廣告活動、確認該提議、建立廣告與 SEO 警示、建立試執行的 ROAS 自動化規則,以及產生報告 JSON。規則與警示的寫入僅限管理員,實際暫停需要以目錄為依據的提議並明確確認。
適用情境
當助理需要就 Kampalo 中的付費與自然行銷成效產出簡報,或管理 Kampalo 的警示與 ROAS 暫停規則時使用。它不用於連接廣告帳戶、變更預算、建立廣告活動,也不寫入 Shopify 或 TikTok 資料。
執行需求
遠端 streamable HTTP 端點 be.kampalo.com/mcp。驗證使用 Authorization Bearer 標頭,攜帶個人 Kampalo API 金鑰(KAMPALO_MCP_API_KEY)或營運方金鑰;Claude 外掛改用 OAuth 登入。除非個人金鑰已綁定使用者,工具還需要 Kampalo 的 user_id 或 user_email。需要能連線到 Kampalo 主機的網路。
安裝前請注意
API 金鑰屬於機密,應透過環境變數或標頭提供,不要外流。確認動作會寫入實際變更:確認暫停會把 Google 或 Meta 上的廣告活動設為 PAUSED,啟用即時規則需要 confirm_live=true。警示與自動化規則的寫入僅限管理員。唯讀使用者無法確認動作或管理規則。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Kampalo,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "kampalo": {
      "type": "http",
      "url": "https://be.kampalo.com/mcp"
    }
  }
}

README

Kampalo plugin for Grok Build

Grok Build plugin that connects to Kampalo’s hosted FastMCP server. Grok can read synced ads/SEO/GA4 data and run the automations Kampalo already has: pause proposals, ads/SEO alerts, ROAS pause rules, and report JSON.

This plugin does not add product APIs. It wires Grok to python manage.py run_mcp_server:

  • Read tools from marketing/agents/suites.py (synced Postgres)
  • automate_* tools from marketing/agents/automation_backend.py (same services as /api/marketing/actions/, alert rules, automation rules, reports)

In-app Kai (LangGraph) stays read-only. Only this MCP catalog has automate_*.

Installation

After the plugin is listed in the xAI marketplace, in Grok Build run /plugin, search Kampalo, and install.

Until then, install from the plugin repo:

text
grok plugin install Tekreign/kampalo-cursor-plugin

Set KAMPALO_MCP_API_KEY to your personal kmp_… key from Kampalo Settings → API Keys (Starter and Enterprise). On first tool use Grok calls https://be.kampalo.com/mcp with Authorization: Bearer ….

Every tool also needs a Kampalo user_id or user_email. Ask the user if neither is known. A personal key already binds your user, so you can omit both.

Cursor

The same repo ships Cursor packaging next to the Grok files. Both use the same skills/ and the same MCP server.

Grok BuildCursor
.grok-plugin/plugin.json.cursor-plugin/plugin.json
.mcp.json (${KAMPALO_MCP_API_KEY})mcp.json (${env:KAMPALO_MCP_API_KEY})
  1. Generate a key in Kampalo Settings → API Keys.

  2. Set it in the environment Cursor starts from, then restart Cursor:

    powershell
    setx KAMPALO_MCP_API_KEY "kmp_..."
    bash
    export KAMPALO_MCP_API_KEY="kmp_..."   # in ~/.zshrc or ~/.bashrc
  3. Install the plugin from this repo in Cursor. Check Settings → MCP shows kampalo connected, then ask: Brief Google vs Meta in Kampalo.

Without the plugin, the same server works from a project or user ~/.cursor/mcp.json by copying the kampalo entry from mcp.json.

Claude (claude.ai, Cowork, Claude Code)

The Claude plugin lives in claude/ and is what the Claude directory lists. It uses OAuth: Claude asks you to sign in to Kampalo the first time, so there is no KAMPALO_MCP_API_KEY to set. Its skills are a copy of skills/ without the user_id / user_email step, because the signed-in account is applied automatically. Keep both copies in sync when you edit a skill.

Install in Claude Code from this repo's marketplace (.claude-plugin/marketplace.json points at ./claude):

text
/plugin marketplace add Tekreign/kampalo-cursor-plugin/plugin install kampalo@kampalo

Run /mcp, choose kampalo, and sign in to Kampalo when prompted.

Network and credentials

WhatValue
MCP endpointhttps://be.kampalo.com/mcp (streamable HTTP)
AuthAuthorization: Bearer ${KAMPALO_MCP_API_KEY}
SecretPersonal kmp_… key (Settings → API Keys), or the operator MCP_API_KEY. Required when the server has auth enabled (DEBUG=False).
Not this URLhttps://be.kampalo.com/api — Django REST, not MCP

The plugin talks only to that MCP host. It does not read local .env / SSH keys or send telemetry elsewhere.

Local Compose (docker compose up) exposes MCP at http://127.0.0.1:8100/mcp. To point Grok at it, override the server URL in .mcp.json for that session.

What Grok can do

With MCP up and a Kampalo user who can mutate data (admin, or enterprise manager/marketer) for confirms. Alert/automation rule writes are admin only.

  1. Brief Google vs Meta, SEO, GA4, and organic Page/IG from synced stats
  2. Propose pausing a weak selected campaign
  3. Confirm that proposal (confirm=true) — writes PAUSED to Google or Meta
  4. Create ads alerts (ROAS / CPA / spend pace) and SEO/AEO alerts
  5. Create a dry-run ROAS automation rule; enable live only with confirm_live=true
  6. Generate a performance report JSON (no PDF bytes over MCP)

What it cannot do

  • Connect OAuth, change budgets, create campaigns, or write Shopify/TikTok
  • Pause without a catalog-backed proposal + explicit confirm
  • Act as a view-only user for confirms or rule admin
  • Invent metrics if MCP is down or the DB has no rows

Layout

text
kampalo-cursor-plugin/├── .grok-plugin/plugin.json├── .mcp.json├── .cursor-plugin/plugin.json├── mcp.json├── .claude-plugin/plugin.json├── .claude-plugin/marketplace.json├── skills/campaign-performance-brief/├── skills/automate-kampalo-work/├── assets/logo.svg├── LICENSE└── README.md

Skills

SkillWhen
campaign-performance-briefRead synced Google Ads, Meta Ads, Search Console, GA4, Page/IG
automate-kampalo-workPropose/confirm pauses, alerts, ROAS rules, report JSON

Example prompts

Read

Use my Kampalo email [email protected]. Brief Google vs Meta. Which campaigns have the worst ROAS?

Propose (no live pause)

Propose pausing the worst ROAS Google campaign. Do not confirm yet.

Expect automate_propose_pause and a pending action_id. The live campaign status must stay ENABLED.

Confirm (live pause)

Confirm pause for action <id>.

Expect automate_confirm_action with confirm=true. Campaign becomes PAUSED (needs valid Google/Meta tokens).

Watchdog

Create a dry-run rule: pause Google campaigns if ROAS stays below 1 for 3 days with at least $10 spend. Do not enable live.

Expect automate_upsert_automation_rule with dry_run=true, is_active=false.

Failure

Stop MCP and ask again. The bot must not claim a pause or a saved rule.

xAI marketplace entry (when submitting)

Remote source, SHA-pinned. Do not vendor files into xai-org/plugin-marketplace. After pushing this folder to a public repo:

bash
git ls-remote https://github.com/Tekreign/kampalo-cursor-plugin.git HEAD

Add one object to their .grok-plugin/marketplace.json:

json
{  "name": "kampalo",  "description": "Kampalo ads and SEO workspace for Grok Build. Brief synced Google Ads, Meta Ads, GA4, and Search Console; propose and confirm campaign pauses; manage ads/SEO alerts and ROAS pause rules; generate report JSON.",  "category": "development",  "source": {    "source": "url",    "url": "https://github.com/Tekreign/kampalo-cursor-plugin.git",    "sha": "<40-char lowercase commit sha>"  },  "homepage": "https://app.kampalo.com",  "keywords": ["kampalo", "kampalo ads", "kampalo google ads", "kampalo meta ads", "kampalo kai"],  "domains": ["kampalo.com", "app.kampalo.com", "be.kampalo.com"]}

Then in that fork: python3 scripts/generate-plugin-index.py and python3 scripts/validate-catalog.py. xAI flags branded plugins sourced from a personal GitHub account — move the plugin repo under a Kampalo org before the PR if possible.

License

MIT

來源:README.md,提交 a7f261d

工具

0
工具後設資料尚未被收錄。

版本歷史

1
  1. v0.3.0最新Oct 5, 2026