Google Ads MCP Server

Google Ads MCP Server

Enables interaction with Google Ads through secure OAuth authentication to discover keyword ideas, analyze historical search metrics, and generate forecasts for advertising campaigns. Built as a Next.js application with encrypted credential storage and rate limiting.

Category
Visit Server

README

Google Search MCP Server

A Next.js App Router deployment that exposes a Model Context Protocol (MCP) server focused on organic search research. The server provides two tools—get_autocomplete_suggestions and get_trend_index— built on top of Google Suggest and Google Trends. No OAuth credentials are required; both tools rely on public endpoints with careful validation and rate limiting.

Features

  • Google Autocomplete: Expands a seed query into the real phrases Google users type right now.
  • Google Trends: Returns interest-over-time indices for any keyword with optional geo and category filters.
  • Next.js 15 App Router with strict TypeScript, ESLint, and Prettier configuration.
  • Structured MCP responses with consistent error handling and lightweight rate limiting.

Requirements

  • Node.js 18.18 or newer.
  • pnpm or npm for dependency management.

Getting started locally

pnpm install
pnpm dev

The development server defaults to http://localhost:3000.

MCP tools

All tools share the same POST endpoint: POST /api/mcp with JSON payload {"tool": "<name>", "input": { ... } }. Responses follow the ToolResponse shape ({ ok: true, data } or { ok: false, error }).

ping

{
  "tool": "ping"
}

Result:

{
  "ok": true,
  "data": { "status": "ok" }
}

get_autocomplete_suggestions

Fetches live suggestions from Google Suggest for the provided query.

{
  "tool": "get_autocomplete_suggestions",
  "input": { "query": "toroidal transformer" }
}

Result:

{
  "ok": true,
  "data": {
    "query": "toroidal transformer",
    "suggestions": [
      "toroidal transformer winding",
      "toroidal transformer core",
      "toroidal transformer advantages"
    ]
  }
}

get_trend_index

Returns Google Trends interest-over-time data. Optional fields (geo, timeRange, category, property) map directly to the underlying Trends API.

{
  "tool": "get_trend_index",
  "input": {
    "keyword": "toroidal transformer",
    "timeRange": "today 12-m",
    "geo": "US"
  }
}

Result (truncated):

{
  "ok": true,
  "data": {
    "keyword": "toroidal transformer",
    "geo": "US",
    "timeRange": "today 12-m",
    "seriesLabels": ["toroidal transformer"],
    "averages": [42],
    "points": [{ "time": "1704067200", "formattedTime": "Dec 31, 2023", "values": [37] }]
  }
}

Rate limiting & errors

  • Rate limiting: 10 requests per minute per IP/user agent combination. Exceeding the budget returns 429 with code: RATE_LIMIT_EXCEEDED.
  • Upstream issues: Failures from Google endpoints map to UPSTREAM_ERROR with the HTTP status and service name.
  • Validation errors: Invalid input payloads return INVALID_ARGUMENT and include Zod field errors.
  • Unexpected failures: Return 500 with code: UNKNOWN but never leak secrets.

ChatGPT Developer Mode integration

Add a remote MCP server in ChatGPT using the following configuration:

  • Server URL: https://<your-app>.vercel.app/api/mcp
  • Tools: Automatically discovered (ping, get_autocomplete_suggestions, get_trend_index).
  • Auth flow: None required—both tools rely on public Google endpoints.

Example invocation in ChatGPT:

{
  "tool": "get_trend_index",
  "input": { "keyword": "toroidal transformer" }
}

Expect a JSON payload with interest-over-time points that you can combine with autocomplete suggestions to build keyword clusters or validate seasonal demand.

Troubleshooting

Symptom Resolution
RATE_LIMIT_EXCEEDED Wait until the window resets (~60 seconds) or reduce tool frequency.
UPSTREAM_ERROR Google responded with an error status. Retry later or adjust the query/filters.
UNKNOWN Check server logs for the underlying exception.

Acceptance checklist

  • [x] Autocomplete MCP tool returning Google Suggest phrases.
  • [x] Trends MCP tool returning interest-over-time data.
  • [x] README covering setup, usage, and troubleshooting.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured