Skip to main content
Glama
gravity-ads-mcp

gravity-ads-mcp

by niyogi

gravity-ads-mcp

Local MCP server for the Gravity advertiser dashboard API. Create, edit, pause, and archive campaigns — and pull all your reporting — from any MCP-capable agent without your API key leaving your machine.

Gravity exposes a hosted MCP server at https://platform.trygravity.ai/mcp, but it is read-only. This package wraps the full Gravity Dashboard API (including create/edit) as a local stdio MCP server that runs via npx, so requests go directly from your computer to platform.trygravity.ai — nothing passes through a third party.

Prerequisites

  • Node.js ≥ 18 (node --version to check)

  • npx (bundled with npm; comes with Node)

  • A Gravity advertiser API key — get yours at https://app.trygravity.ai under Settings → API Key

Related MCP server: Google Ads MCP Worker

Quickstart

Add the following to your MCP client's configuration file. Replace your-gravity-api-key with your actual key.

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "gravity": {
      "command": "npx",
      "args": ["-y", "gravity-ads-mcp"],
      "env": {
        "GRAVITY_API_KEY": "your-gravity-api-key"
      }
    }
  }
}

Windows users: If npx is not found, try "command": "cmd" with "args": ["/c", "npx", "-y", "gravity-ads-mcp"].

Claude Code

Create a .mcp.json file in your project root (or add to ~/.claude/mcp.json for global config):

{
  "mcpServers": {
    "gravity": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "gravity-ads-mcp"],
      "env": {
        "GRAVITY_API_KEY": "your-gravity-api-key"
      }
    }
  }
}

Or add via CLI:

claude mcp add gravity --env GRAVITY_API_KEY=your-gravity-api-key -- npx -y gravity-ads-mcp

Cursor

~/.cursor/mcp.json:

{
  "mcpServers": {
    "gravity": {
      "command": "npx",
      "args": ["-y", "gravity-ads-mcp"],
      "env": {
        "GRAVITY_API_KEY": "your-gravity-api-key"
      }
    }
  }
}

opencode

opencode.json in your project root:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "gravity": {
      "type": "local",
      "command": ["npx", "-y", "gravity-ads-mcp"],
      "environment": {
        "GRAVITY_API_KEY": "your-gravity-api-key"
      }
    }
  }
}

Note: opencode uses "environment" (not "env").

Windsurf

~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "gravity": {
      "command": "npx",
      "args": ["-y", "gravity-ads-mcp"],
      "env": {
        "GRAVITY_API_KEY": "your-gravity-api-key"
      }
    }
  }
}

Other Clients

Any MCP client that supports the mcpServers JSON format (same shape as Claude Desktop) can use this server. Add the following to your client's MCP config file:

{
  "mcpServers": {
    "gravity": {
      "command": "npx",
      "args": ["-y", "gravity-ads-mcp"],
      "env": {
        "GRAVITY_API_KEY": "your-gravity-api-key"
      }
    }
  }
}

Environment Variables

Variable

Required

Default

Description

GRAVITY_API_KEY

Yes

—

Your Gravity advertiser API key

GRAVITY_BASE_URL

No

https://platform.trygravity.ai

Override the base URL (for testing/staging)

Tools

Account

Tool

Description

gravity_get_info

Get advertiser profile (ID, name, email)

gravity_list_integrations

List connected Shopify stores

gravity_list_pixels

List all tracking pixels

gravity_create_pixel

Create a conversion pixel for a site URL

Campaigns

Tool

Description

gravity_list_campaigns

List all campaigns with lifetime stats

gravity_get_campaign

Full campaign details with targeting config

gravity_create_campaign

Create a campaign with inline ad groups

gravity_update_campaign

Edit fields on an existing campaign

gravity_pause_campaign

Pause a campaign

gravity_activate_campaign

Activate a campaign (may trigger billing check)

gravity_archive_campaign

Toggle archive state

Ad Groups & Ads

Tool

Description

gravity_list_ad_groups

List ad groups with embedded ads

gravity_get_ad_group

Single ad group with its ads

gravity_create_ad_group

Create a generative or manual ad group

gravity_update_ad_group

Update ad group fields or status

gravity_archive_ad_group

Archive an ad group and its ads

gravity_create_ad

Add a manual ad to a manual ad group

gravity_update_ad

Edit a manual ad's copy, CTA, etc.

gravity_archive_ad

Archive a manual ad

Reporting

Tool

Description

gravity_get_metrics

Daily time-series: impressions, clicks, spend, conversions, CTR, CPC, CPM, CPA, ROAS

gravity_get_ad_unit_metrics

Per-ad-unit daily metrics

gravity_get_ad_group_metrics

Per-ad-group daily metrics (paginated)

gravity_list_conversions

Recent conversions with cursor pagination

gravity_get_billing

Billing summary (spend, billed, unbilled, credits)

gravity_get_events_analytics

Pixel event analytics (domains, hourly, event types)

gravity_get_conversion_stats

Conversion time-series by event type

Example Prompts

Once configured, try asking your agent:

  • "List my active campaigns"

  • "What's my ROAS for the last 14 days?"

  • "Create a campaign called 'Summer Sale' with a $100/day budget, targeting US and CA, using a generative ad group for running shoes"

  • "Pause all campaigns over $500 spend"

  • "Show me ad group performance for campaign camp-456 over the last 7 days in America/New_York"

  • "Create a manual ad group with these ads: headline '50% Off Running Shoes', copy 'Summer sale on all running shoes.', CTA 'Shop Now'"

  • "What conversions did I get yesterday?"

  • "Create a pixel for https://acme.com"

Security & Privacy

  • Your GRAVITY_API_KEY is passed as a process environment variable and never logged or transmitted to any server other than platform.trygravity.ai.

  • All API requests go directly from your machine to Gravity's API — no intermediary.

  • Running via npx means no global install; the server starts fresh each session.

  • Regenerate your key anytime at https://app.trygravity.ai under Settings → API Key.

Troubleshooting

Problem

Fix

npx hangs on first run

npx downloads the package on first invocation — give it 10–20 seconds.

401 Authentication error

Double-check your GRAVITY_API_KEY. Regenerate at https://app.trygravity.ai if needed.

402 Campaign activation blocked

Your billing needs attention — check the Billing page in your Gravity dashboard.

422 Validation error

The server response includes details. Ask your agent to check the error and adjust the payload.

OpenAI accounts: daily totals differ from dashboard

Set "tz": "America/New_York" in your request. OpenAI ad accounts report in that timezone.

Windows: npx not found in Claude Desktop

Use "command": "cmd" with "args": ["/c", "npx", "-y", "gravity-ads-mcp"] in your config.

Contributors

For local setup, building, testing, and publishing instructions, see DEVELOPMENT.md.

License

MIT

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables authorized users to securely connect to and manage their Google Ads accounts through MCP clients, with support for campaigns, ad groups, ads, keywords, reporting, and billing. Runs as a remote multi-user server on Cloudflare Workers with per-user authentication and safety controls.
      -
    • F
      license
      Not graded
      quality
      C
      maintenance
      Enables management of Google Ads accounts via MCP, providing read and write tools for campaigns, ad groups, keywords, assets, and more, with support for reporting and mutations.
      -
    • A
      license
      B
      quality
      C
      maintenance
      Enables managing ChatGPT Advertiser campaigns from MCP-capable agents, including campaign creation, creative uploads, audience management, conversions setup, and insights retrieval.
      89
      38 npm
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Enables MCP clients to retrieve Google Ads performance data, run GAQL queries and keyword planner research, and create or manage search and P-MAX campaigns, budgets, keywords, and ad status. Includes safety defaults such as paused creation and read-only mode.
      16
      MIT