A Model Context Protocol server for Google Search
npm install @adenot/mcp-google-searchA Model Context Protocol server that provides web search capabilities using Google Custom Search API and webpage content extraction functionality.
1. Create a Google Cloud Project:
- Go to Google Cloud Console
- Create a new project or select an existing one
- Enable billing for your project
2. Enable Custom Search API:
- Go to API Library
- Search for "Custom Search API"
- Click "Enable"
3. 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
4. Create Custom Search Engine:
- Go to Programmable 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)
Install dependencies:
``bash`
npm install
Build the server:
`bash`
npm run build
For development with auto-rebuild:
`bash`
npm run watch
To install Google Custom Search Server for Claude Desktop automatically via Smithery:
`bash`
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%APPDATA%/Claude/claude_desktop_config.json
On Windows:
`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"
}
}
}
}
json
{
"name": "search",
"arguments": {
"query": "your search query",
"num": 5 // optional, default is 5, max is 10
}
}
`$3
`json
{
"name": "read_webpage",
"arguments": {
"url": "https://example.com"
}
}
`Example response from webpage reader:
`json
{
"title": "Example Domain",
"text": "Extracted and cleaned webpage content...",
"url": "https://example.com"
}
`$3
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:
`bash
npm run inspector
``The Inspector will provide a URL to access debugging tools in your browser.