MCP Google Server
Provides web search capabilities using Google Custom Search API, allowing queries across the entire web or specific sites with configurable result counts.
Uses Google Cloud's Custom Search API to power web search functionality, requiring API keys and search engine configuration from Google Cloud.
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., "@MCP Google Serversearch for latest AI developments in healthcare"
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.
mcp-google-server A MCP Server for Google Custom Search and Webpage Reading
A Model Context Protocol server that provides web search capabilities using Google Custom Search API and webpage content extraction functionality.
Setup
Getting Google API Key and Search Engine ID
Create a Google Cloud Project:
Go to Google Cloud Console
Create a new project or select an existing one
Enable billing for your project
Enable Custom Search API:
Go to API Library
Search for "Custom Search API"
Click "Enable"
Get API Key:
Go to Credentials
Click "Create Credentials" > "API Key"
Copy your API key
(Optional) Restrict the API key to only Custom Search API
Create Custom Search Engine:
Enter the sites you want to search (use www.google.com for general web search)
Click "Create"
On the next page, click "Customize"
In the settings, enable "Search the entire web"
Copy your Search Engine ID (cx)
Related MCP server: MCP Google Custom Search Server
Development
Install dependencies:
npm installBuild the server:
npm run buildFor development with auto-rebuild:
npm run watchFeatures
Search Tool
Perform web searches using Google Custom Search API:
Search the entire web or specific sites
Control number of results (1-10)
Get structured results with title, link, and snippet
Webpage Reader Tool
Extract content from any webpage:
Fetch and parse webpage content
Extract page title and main text
Clean content by removing scripts and styles
Return structured data with title, text, and URL
Installation
Installing via Smithery
To install Google Custom Search Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @adenot/mcp-google-search --client claudeTo use with Claude Desktop, add the server config with your Google API credentials:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"google-search": {
"command": "npx",
"args": [
"-y",
"@adenot/mcp-google-search"
],
"env": {
"SMARTSEARCH_ENDPOINT": "your-endpoint-here",
"SMARTSEARCH_AK": "your-ak-here"
}
}
}
}Usage
Search Tool
{
"name": "search",
"arguments": {
"query": "your search query",
"num": 5 // optional, default is 5, max is 10
}
}Webpage Reader Tool
{
"name": "read_webpage",
"arguments": {
"url": "https://example.com"
}
}Example response from webpage reader:
{
"title": "Example Domain",
"text": "Extracted and cleaned webpage content...",
"url": "https://example.com"
}Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:
npm run inspectorThe Inspector will provide a URL to access debugging tools in your browser.
Available Tools
2 toolsread_webpageC
Fetch and extract text content from a webpage
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL of the webpage to read |
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 mentions 'fetch and extract text content,' implying a read-only operation, but doesn't specify details like rate limits, authentication needs, error handling, or output format (e.g., plain text vs. structured data), leaving gaps in understanding how the tool behaves.
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 a single, efficient sentence with no wasted words, clearly front-loading the core functionality. It's appropriately sized for a simple tool, making it easy to parse and understand quickly.
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 the tool's simplicity (1 parameter, no output schema, no annotations), the description is minimal but lacks completeness. It doesn't address behavioral aspects like what happens with invalid URLs or non-text content, and with no output schema, it should ideally hint at the return format. This leaves the agent with insufficient context for robust use.
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 input schema has 100% coverage, fully describing the single 'url' parameter. The description adds no additional semantic information beyond what the schema provides, such as URL format constraints or examples. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.
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 action ('fetch and extract text content') and resource ('from a webpage'), making the purpose immediately understandable. It doesn't differentiate from the sibling 'search' tool, which could be for broader web searches versus specific URL fetching, but the core function is well-defined.
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 no guidance on when to use this tool versus the sibling 'search' tool or other alternatives. It lacks context about prerequisites, such as needing a valid URL or handling errors, which limits its utility for an AI agent in decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchC
Perform a web search query
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query | |
| num | No | Number of results (1-10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Perform a web search query' implies a read operation that returns results, but it doesn't describe the return format, pagination, rate limits, authentication needs, or error handling. For a tool with no annotations, this leaves significant behavioral gaps.
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 a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, directly stating the tool's purpose without unnecessary elaboration. Every word earns its place.
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 a tool that performs web search (a potentially complex operation), the description is incomplete. It lacks information on return values, error cases, or behavioral constraints. The agent has insufficient context to use this tool effectively beyond basic parameter passing.
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?
Schema description coverage is 100%, with clear documentation for both parameters ('query' as search query, 'num' as number of results with range). The description adds no additional meaning beyond what the schema provides, such as query syntax or result format details. Baseline 3 is appropriate when the schema does the heavy lifting.
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 'Perform a web search query' clearly states the action (perform) and resource (web search query) with a specific verb. It distinguishes from the sibling tool 'read_webpage' by focusing on search rather than reading specific content. However, it doesn't specify the scope or differentiate from other potential search tools beyond the sibling.
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 no guidance on when to use this tool versus alternatives. It doesn't mention the sibling tool 'read_webpage' or any other search methods, nor does it specify prerequisites or exclusions for usage. The agent must infer usage from the tool name and description alone.
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. Dates show when Glama detected each change.
2 tool updates
- First observed
read_webpage - First observed
search
TDQS
The two tools have clearly distinct purposes: one fetches content from a specific webpage, while the other performs general web searches. There is no overlap or ambiguity between them, making it easy for an agent to select the correct tool.
Both tools follow a consistent verb_noun pattern (read_webpage, search), with no deviations or mixed conventions. The naming is straightforward and predictable across the set.
With only 2 tools, the server feels thin for a 'Google Server' domain, which typically involves more operations like email, calendar, or document management. This minimal set may not cover the expected scope adequately.
For a server named 'Google Server', there are significant gaps in coverage, such as missing tools for Gmail, Google Drive, Calendar, or authentication. The current tools only handle basic web interactions, leaving core Google services unaddressed.
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
MCP server for Google search results via SERP API
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Web search, URL content extraction to Markdown, site mapping, and recursive web crawler.
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides web search capabilities using Google Custom Search API, enabling users to perform searches through a Model Context Protocol server.221368MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables LLMs to perform web searches using Google's Custom Search API through a standardized interface.147MIT
- FlicenseAqualityCmaintenanceA Model Context Protocol server that provides web search capabilities using Google Custom Search API and webpage content extraction functionality.262-
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI assistants to perform web searches using Google Search API, returning up to 20 search results in JSON format.2Apache 2.0
Appeared in Searches
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/pgzhang/mcp2'
If you have feedback or need assistance with the MCP directory API, please join our Discord server