Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To use Google Search through an MCP-compatible AI client, choose a GitHub server implementation, configure the credentials it requires, and connect it using a transport your client supports. The reviewed community options include Python and Node.js servers that use Google Custom Search, plus a Python project with several transport choices. A hosted Google SERP service is another route, but it requires trusting and authenticating with its provider. There is no single repository established as the universally best or most reliable choice.

What a Google Search MCP server does

The Model Context Protocol (MCP) lets an AI application act as a client and call tools exposed by a server. A Google Search MCP server makes search functionality available as one or more such tools; it is not itself an AI client or a replacement for Claude Desktop, Cursor, or another MCP-compatible application.

The GitHub projects discussed here are community implementations, not one canonical Google server. The self-hosted examples reviewed connect to Google Custom Search using an API key and a Search Engine ID. The exact tools and supported transports vary by repository, so inspect the README and source code for the project you intend to run.

Choose a repository or hosted service

Compare the options against your runtime, credentials, connection method, and willingness to operate the server. The repository pages establish their documented setup approaches, but do not establish which is best maintained, secure, or reliable.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Option Documented approach What to check
gradusnikov/google-search-mcp-server Python server using Google Custom Search. README flow: install FastMCP, google-api-python-client, and python-dotenv; set GOOGLE_API_KEY and GOOGLE_CSE_ID in a .env file; run with mcp run google_search_mcp_server.py. It also gives a Smithery installation example for Claude Desktop. Review the repository’s current dependency and client instructions, and confirm your Google credentials and search engine are usable.
hunter-arton/google_search_mcp_server Node.js server documenting web and image search tools. Its README lists Node.js v18 or newer, npm, a Google Cloud Platform account, a Custom Search API key, a Search Engine ID, and an MCP-compatible client. It describes installing dependencies, setting environment variables, building, and launching with Node from Claude Desktop. Use the repository’s own current instructions. Its displayed clone URL is a template, not a confirmed canonical address.
artryazanov/google-search-mcp Python server using Google Custom Search JSON API. The README documents stdio and SSE/HTTP modes, environment-variable or command-line credentials, and Docker examples. Pick the transport your client supports and follow the README’s matching launch example.
HasData hosted Google Search/SERP MCP Hosted service using streamable HTTP and an x-api-key header, with client snippets and local stdio launchers for clients that cannot connect directly to the remote endpoint. The repository claims 1,000 free credits per month, equating that to 100 full-SERP calls or 200 calls costing five credits. This is a vendor-specific offer, not an independent market statistic; verify current terms, credit accounting, transport, and data-handling implications.

A local repository gives you control over the process and its code, while requiring local installation, credential handling, and updates. A hosted service shifts server operation to a provider but adds a provider account, API key, service terms, and a trust decision. In either case, confirm your target client’s current transport and configuration syntax.

Prepare Google Custom Search credentials

The self-hosted repositories above document two separate values: a Google API key and a Custom Search Engine ID (often called a CSE ID). One does not replace the other. Follow Google’s current console and Programmable Search Engine setup instructions for your account; the requirements or availability for an account may change, so do not assume that copying a key from another project is sufficient.

  • Create or identify the API key required by the chosen implementation.
  • Identify the Search Engine ID for the Programmable Search Engine it will query.
  • Keep credentials out of source control. If the README uses a .env file, check that it is excluded from commits and restrict access to it.
  • Read the repository’s code to understand how credentials are loaded and how search results are returned to the client.

Install the Python example

The gradusnikov Python repository documents a local flow using FastMCP, the Google API client, and python-dotenv. Run these steps from a shell, adapting the repository path only according to its current GitHub page.

  1. Clone the repository. Open the repository page, copy its canonical clone URL, then run git clone <repository-clone-url> and cd google-search-mcp-server. The angle-bracketed value is an instruction to copy the URL from GitHub, not a literal URL.
  2. Install the documented dependencies. The README names fastmcp, google-api-python-client, and python-dotenv. Follow the README’s current install command and preferably use an isolated Python environment so these packages do not alter other projects.
  3. Set both credentials. Create the .env file in the location the README expects and provide GOOGLE_API_KEY and GOOGLE_CSE_ID. Do not commit that file or paste its contents into a shared issue.
  4. Start the MCP server. From the directory and environment described by the README, run mcp run google_search_mcp_server.py.
  5. Connect a client. Use the current configuration instructions for your MCP client, pointing it at the local launch command and working directory as required. The repository also documents a Smithery installation example for Claude Desktop; verify its current compatibility before relying on it.

The command above is the repository’s documented run command, not a guarantee that every version of the client or dependency stack will behave identically. If the CLI cannot find the file or command, check that you are in the repository directory and that the documented dependencies installed into the active environment.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Install the Node.js example

The hunter-arton Node.js repository documents web and image search tools and lists Node.js v18 or newer as a prerequisite.

  1. Check prerequisites. Install a supported Node.js version (v18 or newer according to the README), npm, and obtain a Google API key and Search Engine ID. You also need an MCP-compatible client.
  2. Get the project. Copy the actual clone URL from the repository’s GitHub page and clone it. Do not use the README’s displayed yourusername template as though it were a verified clone address.
  3. Install dependencies. In the project directory, use the dependency-install command currently shown in the README.
  4. Configure credentials. Set the environment variables using the exact names and method documented by the repository. Confirm that both the API key and Search Engine ID are present in the server process environment.
  5. Build the server. Run npm run build, the build command documented by the README.
  6. Configure the client. The README shows a Claude Desktop configuration that launches the built server with Node. Follow its current example and your installed Claude Desktop configuration guidance; use the built file path that actually exists in your checkout.

If the client starts but search calls fail, distinguish a server launch problem from an API credential or Search Engine configuration problem. Check the server’s output and the repository’s current guidance before changing client configuration at random.

Use a Python server with another transport

If your client cannot launch a local stdio process, the artryazanov Python project may be useful because its README documents stdio and SSE/HTTP modes as well as Docker examples. The README also describes supplying credentials through environment variables or command-line arguments.

Choose the launch recipe that matches your client: stdio generally means the client launches a local process, while an HTTP-based connection uses a server endpoint. Do not mix a client’s remote-transport settings with a server command intended for stdio. For Docker, follow the repository’s documented image/build and environment-variable instructions rather than assuming a generic container command will expose the right transport.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Connect through a hosted service

HasData’s Google Search/SERP MCP repository documents a hosted endpoint using streamable HTTP and an x-api-key header. Its README includes snippets for several clients and local stdio launchers for clients that cannot connect to the remote endpoint directly.

This route avoids running that server code yourself, but it does not remove operational considerations: you rely on the provider’s endpoint, account, credentials, terms, and handling of requests. The README claims 1,000 free credits each month and says that equals 100 full-SERP calls or 200 calls costing five credits. Treat those figures as the provider’s stated offer, which may change, and confirm current credit costs before building usage assumptions around them.

Verify repository and client compatibility

Before installing a third-party server, review the project rather than treating a successful README example as a security or reliability guarantee.

  • Check recent commits, releases, open issues, license, dependency versions, and the code that handles credentials and outgoing requests.
  • Confirm the repository’s transport matches your client and that the client’s current configuration format matches the example.
  • Check whether the project requires local credentials, a hosted-provider key, or both, and whether any credential is passed on a command line or stored in a config file.
  • Test a simple query and inspect the returned tool result before using the server in an automated workflow.
  • Recheck the repository README and client documentation after updates. Compatibility and API availability are not established for every client release by these project pages.

Google’s official MCP documentation covers managed remote servers for supported Google and Google Cloud services, while Google’s Developer Knowledge MCP is specifically for searching Google developer documentation. Those documented services do not establish a Google-managed general web-search MCP server. See Google Cloud’s MCP documentation and Developer Knowledge MCP for their respective scopes.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Common setup problems and fixes

  • The server says a credential is missing. Check that both the API key and Search Engine ID are configured under the exact names the selected repository expects, and that the client launches the process in the environment where those values are available.
  • The process exits immediately or the client cannot start it. Confirm the runtime version, active virtual environment or Node installation, working directory, dependency installation, and built-file path. Use the repository’s launch command verbatim before changing client-side syntax.
  • The client reports that it cannot connect. Verify the transport first. A local stdio server needs a launch command and any required arguments; a hosted or self-hosted HTTP server needs the correct endpoint and compatible HTTP transport. Use current client documentation for exact configuration labels.
  • The server starts but search fails. Recheck the Google key, Search Engine ID, and account configuration. Read the server error response and the repository’s current instructions; a running MCP process does not prove the upstream search API credentials are valid.
  • A README snippet no longer works. Check whether the client configuration format, package names, build output, or repository code has changed. The repository examples are implementation-specific and may not track every client release.
  • You cannot validate a repository’s trustworthiness from its README. Inspect its code, license, dependencies, commit history, issue activity, and credential handling. The reviewed pages do not establish a definitive best-maintained or most reliable choice.

Or skip the browser setup

If your actual task is capturing a page as an image or PDF rather than giving an AI client a search tool, ScreenshotNeo is a separate website screenshot API and MCP server from Yorker Media, not a Google Search MCP server. A single GET request can return a PNG, JPEG, WebP, or PDF. The API accepts familiar parameter names used by other screenshot APIs, which can make switching easier.

Here is the cURL example, adapted to capture a Google Search results page. Add your ScreenshotNeo access key and URL-encode the target URL as shown:

ScreenshotNeo API documentation

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://www.google.com/search?q=MCP+server+GitHub -o shot.webp

ScreenshotNeo accepts cookie or consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each cleanup step can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing status. Its MCP server includes take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients. The free plan includes 1,000 screenshots per month with no card required; paid plans start at $5 for 3,000 shots, and all features are on every plan.

Sign up for ScreenshotNeo free: 1,000 screenshots a month, no card required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Frequently Asked Questions

Does an MCP server include the AI application that uses it?

No. It exposes tools for an MCP-compatible client to call; the client remains a separate application.

Is there an official Google MCP server for general web search?

The official Google pages cited here document supported Google and Google Cloud services and developer-documentation search, not a general Google-managed web-search MCP server.

Can I use these repositories without a Google API key and Search Engine ID?

The reviewed self-hosted Google Custom Search examples document both values as credentials. The hosted HasData route instead documents its own provider API key.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.