Google Custom Search Engine MCP Server
The Google Custom Search Engine MCP Server enables LLMs to perform Google searches via the Model Context Protocol. It allows you to:
Perform searches using a specified
search_termwith support for advanced query operators likesite:andafter:Receive search results containing title, link, and snippet for each entry
Integrate with other tools (like
mcp-server-fetch) to extract content from found pagesCustomize search parameters including geolocation, language, and number of results (1-10)
Access up to 100 searches per day under the free tier
Configure via environment variables including required
API_KEYandENGINE_ID
Allows to perform web searches using Google Custom Search Engine. The server enables LLMs to provide a regular Google search term and returns the found search results (title, link, and snippet for each result).
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google Custom Search Engine MCP Serversearch for recent advancements in quantum computing"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Google Custom Search Engine MCP Server
A Model Context Protocol server that provides search capabilities using a CSE (custom search engine). This server enables LLMs to provide a regular google search term and returns the found search results.
The tool only returns the results itself and not the content, the tool should be combined with other servers like mcp-server-fetch to extract the content from the search results. You may also combine it with other tools to enable some kind of "deep search" or tool chaining in general.
The free quota is 100 searches (1 tool call == 1 search) per day, if you don't want to set up billing and this is insufficient for your use case, you should consider using another server.
Available Tools
google_search- Searches the custom search engine using the search term and returns a list of results containing the title, link and snippet of each result.search_term(string, required): The search term to search for, equaling the query parameterqin the usual Google search.
Related MCP server: Web Search MCP Server
Environment variables
API_KEY(required): The API key for the custom search engine.ENGINE_ID(required): The engine ID for the custom search engine.SERVICE_NAME(required/optional): The name of the service, leave empty if you haven't changed the name (customsearch).COUNTRY_REGION(optional): Restricts search results to documents originating in a particular country. See Country Parameter Values for valid values.GEOLOCATION(optional, default "us"): The geolocation of the end-user performing the search. See Geolocation Parameter Values for valid values.RESULT_LANGUAGE(optional, default "lang_en"): The language of the search results. See CSE Query parameters, lr for valid values.RESULT_NUM(optional, default 10): The number of search results to return. Range from 1-10.
CSE Setup
Creating a custom search engine is comparatively easy, completely free and can be done in under 5 minutes.
Go to https://console.cloud.google.com/ and create a new project. Call it "Claude CSE" for example.
Select the project and search for "Custom Search API" in the search bar.
Click on the search result and click on "Enable".
Click on the Credentials tab and create a new API key.
Go to https://programmablesearchengine.google.com to create a new custom search engine.
Create a new search engine and give it any name, the name doesn't correlate to SERVICE_NAME.
Select "Search the entire web" if you want a normal Google Search experience.
Click on "Create" and copy the engine id from the js code, or hit customize and get it from the overview.
You can optionally customize the search engine to your liking.
With the default quota, you will get 100 searches per day for free. A tool call only costs 1 search, even if you get 10 results for example.
Installation
Using uv (recommended)
When using uv no specific installation is needed. We will
use uvx to directly run mcp-google-cse.
Using PIP
Alternatively you can install mcp-google-cse via pip:
pip install mcp-google-cseAfter installation, you can run it as a script using:
python -m mcp-google-cseInstalling via Smithery
To install Google Custom Search Engine for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @Richard-Weiss/mcp-google-cse --client claudeConfiguration
Configure for Claude app
Add to your claude_desktop_config.json:
Using uvx (use this if you don't know which one to choose)
"mcp-google-cse": {
"command": "uvx",
"args": ["mcp-google-cse"],
"env": {
"API_KEY": "",
"ENGINE_ID": ""
}
}Using pip installation
"mcp-google-cse": {
"command": "python",
"args": ["-m", "mcp-google-cse"],
"env": {
"API_KEY": "",
"ENGINE_ID": ""
}
}Running locally
"mcp-google-cse": {
"command": "uv",
"args": [
"--directory",
"{{Path to the cloned repo",
"run",
"mcp-google-cse"
],
"env": {
"API_KEY": "",
"ENGINE_ID": ""
}
}Example result
google_search("What is MCP after:2024-11-01") Result:
[
{
"title": "Can someone explain MCP to me? How are you using it? And what ...",
"link": "https://www.reddit.com/r/ClaudeAI/comments/1h55zxd/can_someone_explain_mcp_to_me_how_are_you_using/",
"snippet": "Dec 2, 2024 ... Comments Section ... MCP essentially allows you to give Claude access to various external systems. This can be files on your computer, an API, a browser, a ..."
},
{
"title": "Introducing the Model Context Protocol \\ Anthropic",
"link": "https://www.anthropic.com/news/model-context-protocol",
"snippet": "Nov 25, 2024 ... The Model Context Protocol (MCP) is an open standard for connecting AI assistants to the systems where data lives, including content repositories, ..."
},
{
"title": "3.5 Sonnet + MCP + Aider = Complete Game Changer : r ...",
"link": "https://www.reddit.com/r/ChatGPTCoding/comments/1hwn6qd/35_sonnet_mcp_aider_complete_game_changer/",
"snippet": "Jan 8, 2025 ... Really cool stuff. For those out of the loop here are some MCP servers. You can give your Claude chat (in the desktop version, or in a tool like Cline) ..."
},
{
"title": "Announcing Spring AI MCP: A Java SDK for the Model Context ...",
"link": "https://spring.io/blog/2024/12/11/spring-ai-mcp-announcement",
"snippet": "Dec 11, 2024 ... This SDK will enable Java developers to easily connect with an expanding array of AI models and tools while maintaining consistent, reliable integration ..."
},
{
"title": "Implementing a MCP server in Quarkus - Quarkus",
"link": "https://quarkus.io/blog/mcp-server/",
"snippet": "6 days ago ... The Model Context Protocol (MCP) is an emerging standard that enables AI models to safely interact with external tools and resources. In this tutorial, I'll ..."
},
{
"title": "mark3labs/mcp-go: A Go implementation of the Model ... - GitHub",
"link": "https://github.com/mark3labs/mcp-go",
"snippet": "Dec 18, 2024 ... A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools."
},
{
"title": "MCP enables Claude to Build, Run and Test Web Apps by Looking ...",
"link": "https://wonderwhy-er.medium.com/mcp-enable-claude-to-build-run-and-test-web-apps-using-screenshots-3ae06aea6c4a",
"snippet": "Dec 18, 2024 ... How to Replicate My Experiment on Your Machine. If you're ready to dive into setting up MCP for Claude, follow these steps: ... 2. Download the Project: ... 3."
},
{
"title": "MCP definition and meaning | Collins English Dictionary",
"link": "https://www.collinsdictionary.com/dictionary/english/mcp",
"snippet": "2 days ago ... 2 meanings: male chauvinist pig → informal, derogatory a man who exhibits male chauvinism Abbreviation: MCP.... Click for more definitions."
},
{
"title": "What is Anthropic's New MCP Standard and How Can It Improve ...",
"link": "https://dappier.medium.com/what-is-anthropics-new-mcp-standard-and-how-can-it-improve-your-ai-agent-be6f6c72eb6a",
"snippet": "Nov 26, 2024 ... Anthropic has released a new protocol, MCP, for connecting AI agents to data sets. This blog explores when and why developers might use MCP to improve their ..."
},
{
"title": "Mostafa Gharib on LinkedIn: What is MCP and how it works",
"link": "https://www.linkedin.com/posts/mostafa-gharib_what-is-mcp-and-how-it-works-activity-7274301560594026497-p_yq",
"snippet": "Dec 15, 2024 ... ... MCP Host can use. (Bonus: SDKs in Python and TypeScript make it easy to build these servers!) 2️⃣ MCP Clients These interact with MCP Servers via the protocol."
}
]Available Tools
1 toolgoogle_searchA
Search the custom search engine using the search term. Regular query arguments can also be used, like appending site:reddit.com or after:2024-04-30. If available and/or requested, the links of the search results should be used in a follow-up request using a different tool to get the full content. Example: "claude.ai features site:reddit.com after:2024-04-30"
| Name | Required | Description | Default |
|---|---|---|---|
| search_term | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds useful context about query arguments and follow-up actions with other tools, but doesn't cover important aspects like rate limits, authentication needs, or what the search results look like. It provides some behavioral insight but leaves gaps for a search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with three sentences that each add value: stating the purpose, explaining query capabilities, and describing follow-up actions. It's front-loaded with the core functionality and avoids unnecessary repetition. The example is concise and illustrative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 1 parameter with 0% schema coverage, the description provides adequate context for basic usage but lacks completeness. It explains query capabilities and follow-up actions but doesn't describe result format, error handling, or limitations. For a search tool, more behavioral context would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 1 parameter with 0% description coverage, so the description must compensate. It explains that 'search_term' accepts regular query arguments with examples like 'site:reddit.com' and 'after:2024-04-30', adding meaningful semantics beyond the bare schema. However, it doesn't detail all possible query syntax or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search the custom search engine using the search term.' This specifies the verb ('Search') and resource ('custom search engine'), though it doesn't distinguish from siblings since none exist. The description is specific about what the tool does without being tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage guidance by mentioning 'Regular query arguments can also be used' and giving an example, which suggests when to use advanced search syntax. However, it lacks explicit when/when-not instructions or alternative tool comparisons, and there are no sibling tools to differentiate from. The guidance is helpful but not comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool 'google_search' has a clearly defined and distinct purpose for searching the custom search engine.
Since there is only one tool, naming consistency is inherently perfect. The tool name 'google_search' follows a clear and appropriate verb_noun pattern that would be consistent if more tools existed.
A single tool is too few for a server that implies broader functionality, such as a search engine with potential follow-up actions. The description mentions using links in follow-up requests with different tools, suggesting gaps that a single tool cannot cover, making the count inappropriate for the apparent scope.
The server is severely incomplete for a search engine domain. While the core search functionality is present, the description hints at missing tools for follow-up actions like fetching full content from links, and there are no tools for managing searches, filters, or other related operations, leading to significant gaps that will cause agent failures.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
GoogleSearch API: Fetch real-time Google Search results including title, links Ideal for serp api.
Search Google straight from your AI agent. Web results, images, videos, news, products, scholarly ar
Web search, news, page retrieval, sitemaps, and trending topics through Search1API.
1 Google Search endpoints. Pay per call in USDC via x402.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables free web searching using Google search results with no API keys required, returning structured results with titles, URLs, and descriptions.1435MIT
- FlicenseBqualityDmaintenanceEnables web searching and content scraping through Google Custom Search API. Provides tools to search the internet, extract webpage content, and automatically scrape search results for comprehensive information gathering.3
- AlicenseAqualityDmaintenanceEnables users to perform Google Custom Search queries through the Model Context Protocol. Requires Google API credentials and Custom Search Engine configuration for web search functionality.1MIT
- AlicenseBqualityDmaintenanceEnables Large Language Models to perform real-time web searches using Google Custom Search API. Integrates with Claude Desktop to retrieve current information from the internet.1MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Richard-Weiss/mcp-google-cse'
If you have feedback or need assistance with the MCP directory API, please join our Discord server