mcp google search
Provides web search capabilities using Google Custom Search API, enabling users to perform searches through a Model Context Protocol server.
Provides web search capabilities using Google Custom Search API, enabling users to perform searches through a Model Context Protocol server.
A Model Context Protocol server that provides web search capabilities using Google Custom Search API and webpage content extraction functionality.
Enable billing for your project
Enable Custom Search API:
Click "Enable"
Get API Key:
(Optional) Restrict the API key to only Custom Search API
Create Custom Search Engine:
Install dependencies:
npm install
Build the server:
npm run build
For development with auto-rebuild:
npm run watch
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
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
To install Google Custom Search Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @adenot/mcp-google-search --client claude
To 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": {
"GOOGLE_API_KEY": "your-api-key-here",
"GOOGLE_SEARCH_ENGINE_ID": "your-search-engine-id-here"
}
}
}
}
{
"name": "search",
"arguments": {
"query": "your search query",
"num": 5 // optional, default is 5, max is 10
}
}
{
"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"
}
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 inspector
The Inspector will provide a URL to access debugging tools in your browser.
[
{
"description": "Perform a web search query",
"inputSchema": {
"properties": {
"num": {
"description": "Number of results (1-10)",
"maximum": 10,
"minimum": 1,
"type": "number"
},
"query": {
"description": "Search query",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search"
},
{
"description": "Fetch and extract text content from a webpage",
"inputSchema": {
"properties": {
"url": {
"description": "URL of the webpage to read",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "read_webpage"
}
]