Claude Code Integration with Google Search MCP

📘 OverviewClaude Code MCP Overview →

You are troubleshooting an OOM issue on a remote server using Claude Code and see an unfamiliar kernel log. Previously, you could only copy the error message, switch to a local browser to search, and then switch back to the terminal. After connecting to the Serp MCP Server, Claude Code can search Google directly in the terminal without leaving the command line.

Obtain API Token

Before using the Google Search MCP Server, you need to prepare an Ace Data Cloud API Token. The method to obtain it is consistent with the Claude Code VS Code configuration tutorial:

  1. Open the Ace Data Cloud Console - Application List to get your API Token for backup.
  2. If you are not logged in or registered, you will be automatically redirected to the login page; after logging in or registering, you will automatically return to the current page.
  3. The first application will have a free quota available, allowing you to experience the Claude Code MCP service for free.

Obtain Ace Data Cloud API Key

One Token can be used for all MCP Servers provided by Ace Data Cloud, and there is no need to apply separately for Google Search. The documentation and screenshots suggest displaying only a masked format, such as YOUR_ACEDATACLOUD_API_KEY, and do not paste the full Token into public repositories, Issues, screenshots, or chat records.

Using the web version of claude.ai or Claude Desktop? They support OAuth one-click authorization, eliminating the need to manually fill in the Token. For details, see the Claude.ai / Desktop tutorial for Google Search MCP.

Configure Claude Code

Choose one from the three groups below. -H must be uppercase; lowercase -h is --help; please replace the Token after Authorization with the actual value you copied from the console.

For current project only: local

Suitable for trial use, the configuration is bound only to the project directory where you run the command. Claude Code will write the records into the local ~/.claude.json, along with the current project path.

claude mcp add serp --transport http https://serp.mcp.acedata.cloud/mcp \
  -H "Authorization: Bearer YOUR_ACEDATACLOUD_API_KEY" \
  -s local

Usable for all projects: user

Suitable for frequent use of Google Search MCP across multiple projects. The configuration is written into the local ~/.claude.json user-level configuration, and any project opened with Claude Code thereafter will be able to see it.

claude mcp add serp --transport http https://serp.mcp.acedata.cloud/mcp \
  -H "Authorization: Bearer YOUR_ACEDATACLOUD_API_KEY" \
  -s user

Shared with the project: project

Suitable for team projects. The configuration is written into the .mcp.json in the current project root directory, which can be submitted to a private repository for teammates to reuse; do not submit the real Token to public repositories, and it is recommended to change it to an environment variable placeholder or have each person add it locally.

claude mcp add serp --transport http https://serp.mcp.acedata.cloud/mcp \
  -H "Authorization: Bearer YOUR_ACEDATACLOUD_API_KEY" \
  -s project

When the project-level configuration is read by Claude Code for the first time, it may display Pending approval, and you need to confirm trust in this project configuration within the Claude Code session. This is a normal security prompt.

Verify Connection

After configuration, run:

claude mcp list

If you see serp showing ✓ Connected, it indicates a successful handshake. If it fails, check the Token, service URL, and configuration scope; do not judge the current status based on historical client versions or fixed tool counts.

Typical Scenarios

After configuration is complete, return to the Claude Code session and use natural language to call the search directly:

Debugging Production Issues

SSH into the remote server, encounter an unfamiliar error code, no need to open a browser or disconnect SSH:

Search how to resolve nginx 502 bad gateway response header too large

Technical Selection Research

You can limit the time range to only see the latest results:

Search for the performance comparison of Python asynchronous ORM in 2025, SQLAlchemy 2.0 async vs Tortoise ORM

Check Official Documentation

Searching for official documentation is more reliable than relying on memory:

Search for the official documentation of Kubernetes CronJob concurrencyPolicy, the difference between Forbid and Replace

Tool List

Tool Description
serp_google_search Google web search, supports specifying country, language, and time range
serp_google_images Google image search
serp_google_news Google news search
serp_google_videos Google video search
serp_google_maps / serp_google_places Map / local business search