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.
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.
 pnpmornpmfor 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 
429withcode: RATE_LIMIT_EXCEEDED. - Upstream issues: Failures from Google endpoints map to 
UPSTREAM_ERRORwith the HTTP status and service name. - Validation errors: Invalid input payloads return 
INVALID_ARGUMENTand include Zod field errors. - Unexpected failures: Return 
500withcode: UNKNOWNbut 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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.