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(필수/선택): 서비스 이름입니다. 이름을 변경하지 않은 경우 비워 둡니다(customsearch).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를 복사하거나, 사용자 지정을 클릭하고 개요에서 가져옵니다.
원하는 대로 검색 엔진을 사용자 지정할 수 있습니다.
기본 할당량을 사용하면 하루에 100건의 검색이 무료로 제공됩니다. 예를 들어 10개의 결과가 나오더라도 도구 호출에는 검색 1건만 비용이 청구됩니다.
설치
uv 사용(권장)
uv 사용하면 별도의 설치가 필요하지 않습니다. uvx 사용하여 mcp-google-cse를 직접 실행합니다.
PIP 사용
또는 pip를 통해 mcp-google-cse 설치할 수 있습니다.
지엑스피1
설치 후 다음을 사용하여 스크립트로 실행할 수 있습니다.
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-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