Google Custom Search Engine MCP Server
Google カスタム検索エンジン MCP サーバー
CSE(カスタム検索エンジン)を用いた検索機能を提供するモデルコンテキストプロトコルサーバー。このサーバーにより、LLMは通常のGoogle検索キーワードを入力し、検索結果を返すことができます。
このツールは結果のみを返し、コンテンツは返しません。検索結果からコンテンツを抽出するには、 mcp-server-fetchなどの他のサーバーと組み合わせる必要があります。また、他のツールと組み合わせて、ある種の「ディープサーチ」やツールチェイニングを実現することもできます。
無料の割り当ては 1 日あたり 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」): 検索結果の言語。有効な値については、CSEクエリパラメータ(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 をコピーするか、カスタマイズをクリックして概要から取得します。
オプションで検索エンジンを好みに合わせてカスタマイズできます。
デフォルトのクォータでは、1日あたり100回の検索が無料でご利用いただけます。ツールの呼び出しは、例えば10件の検索結果が得られたとしても、1回の検索料金のみかかります。
インストール
uvの使用(推奨)
uvを使用する場合、特別なインストールは必要ありません。uvx を使用してuvx -google-cseを直接実行します。
PIPの使用
あるいは、pip 経由でmcp-google-cseをインストールすることもできます。
pip install mcp-google-cseインストール後、次のコマンドを使用してスクリプトとして実行できます。
python -m mcp-google-cseSmithery経由でインストール
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月1日以降の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