Google Custom Search Engine MCP Server
Google 自定义搜索引擎 MCP 服务器
一个模型上下文协议服务器,使用 CSE(自定义搜索引擎)提供搜索功能。该服务器使 LLM 能够提供常规的 Google 搜索词并返回找到的搜索结果。
该工具仅返回结果本身,不包含内容。建议将其与其他服务器(例如mcp-server-fetch)结合使用,以便从搜索结果中提取内容。您也可以将其与其他工具结合使用,以实现某种“深度搜索”或工具链式功能。
免费配额为每天 100 次搜索(1 次工具调用 == 1 次搜索),如果您不想设置计费并且这不足以满足您的使用情况,您应该考虑使用其他服务器。
可用工具
google_search- 使用搜索词搜索自定义搜索引擎并返回包含每个结果的标题、链接和片段的结果列表。search_term(字符串,必需):要搜索的搜索词,相当于通常的 Google 搜索中的查询参数q。
Related MCP server: Web Search MCP Server
环境变量
API_KEY(必需):自定义搜索引擎的 API 密钥。ENGINE_ID(必需):自定义搜索引擎的引擎 ID。SERVICE_NAME(必需/可选):服务名称,如果您没有更改名称(自定义搜索),则留空。COUNTRY_REGION(可选):将搜索结果限制为来自特定国家/地区的文档。请参阅国家/地区参数值以了解有效值。GEOLOCATION(可选,默认为“us”):执行搜索的最终用户的地理位置。请参阅地理位置参数值以了解有效值。RESULT_LANGUAGE(可选,默认为“lang_en”):搜索结果的语言。请参阅自定义搜索引擎查询参数 lr了解有效值。RESULT_NUM(可选,默认 10):返回的搜索结果数量。范围为 1-10。
CSE 设置
创建自定义搜索引擎相对容易,完全免费,并且可以在 5 分钟内完成。
前往https://console.cloud.google.com/并创建一个新项目。例如,命名为“Claude CSE”。
选择项目并在搜索栏中搜索“自定义搜索 API”。
点击搜索结果,点击“启用”。
单击“凭据”选项卡并创建一个新的 API 密钥。
前往https://programmablesearchengine.google.com创建一个新的自定义搜索引擎。
创建一个新的搜索引擎并赋予它任意名称,该名称与SERVICE_NAME无关。
如果您想要正常的 Google 搜索体验,请选择“搜索整个网络”。
单击“创建”并从 js 代码中复制引擎 ID,或点击自定义并从概览中获取它。
您可以根据自己的喜好随意定制搜索引擎。
使用默认配额,您每天可免费获得 100 次搜索。例如,即使您获得 10 条结果,每次工具调用也仅需支付 1 次搜索的费用。
安装
使用 uv(推荐)
使用uv时无需特殊安装。我们将使用uvx直接运行mcp-google-cse 。
使用 PIP
或者,您可以通过 pip 安装mcp-google-cse :
pip install mcp-google-cse安装后,您可以使用以下命令将其作为脚本运行:
python -m mcp-google-cse通过 Smithery 安装
要通过Smithery自动为 Claude Desktop 安装 Google 自定义搜索引擎:
npx -y @smithery/cli install @Richard-Weiss/mcp-google-cse --client claude配置
为 Claude 应用程序配置
添加到您的claude_desktop_config.json :
使用 uvx(如果你不知道选择哪一个,请使用这个)
"mcp-google-cse": {
"command": "uvx",
"args": ["mcp-google-cse"],
"env": {
"API_KEY": "",
"ENGINE_ID": ""
}
}使用 pip 安装
"mcp-google-cse": {
"command": "python",
"args": ["-m", "mcp-google-cse"],
"env": {
"API_KEY": "",
"ENGINE_ID": ""
}
}本地运行
"mcp-google-cse": {
"command": "uv",
"args": [
"--directory",
"{{Path to the cloned repo",
"run",
"mcp-google-cse"
],
"env": {
"API_KEY": "",
"ENGINE_ID": ""
}
}示例结果
google_search("2024-11-01 之后的 MCP 是什么") 结果:
[
{
"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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.0.0- First observed
google_search
TDQS
Scored across 1 tool
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
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, scraping, Google Trends and data lookups. Paid per call in USDC on Base via x402.
Web search, news, page retrieval, sitemaps, and trending topics through Search1API.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables free web searching using Google search results with no API keys required, returning structured results with titles, URLs, and descriptions.131 npm5MIT
- 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