mcp google custom search server
A Model Context Protocol server that enables LLMs to perform web searches using Google's Custom Search API through a standardized interface.
A Model Context Protocol server that enables LLMs to perform web searches using Google's Custom Search API through a standardized interface.
A Model Context Protocol (MCP) server that provides web search capabilities through Google's Custom Search API. This server enables Language Learning Models (LLMs) to perform web searches using a standardized interface.
Before you begin, ensure you have:
A Google Cloud Project with Custom Search API enabled
Visit Google Cloud Console
Create API credentials
A Custom Search Engine ID
Get your Search Engine ID
Local development requirements:
git clone https://github.com/yourusername/mcp-google-custom-search-server.git
cd mcp-google-custom-search-server
npm install
GOOGLE_API_KEY=your-api-key
GOOGLE_SEARCH_ENGINE_ID=your-search-engine-id
npm run build
npm start
Variable | Description | Required |
---|---|---|
GOOGLE_API_KEY | Your Google Custom Search API key | Yes |
GOOGLE_SEARCH_ENGINE_ID | Your Custom Search Engine ID | Yes |
Add this configuration to your Claude Desktop config file (typically located at ~/Library/Application Support/Claude/claude_desktop_config.json
):
{
"mcpServers": {
"google-search": {
"command": "node",
"args": [
"/absolute/path/to/mcp-google-custom-search-server/build/index.js"
],
"env": {
"GOOGLE_API_KEY": "your-api-key",
"GOOGLE_SEARCH_ENGINE_ID": "your-search-engine-id"
}
}
}
}
Performs a web search using Google Custom Search API.
Parameters:
query
(string, required): The search query to executenumResults
(number, optional): Number of results to returnExample Response:
Result 1:
Title: Example Search Result
URL: https://example.com
Description: This is an example search result description
---
Result 2:
...
mcp-google-custom-search-server/
├── src/
│ └── index.ts # Main server implementation
├── build/ # Compiled JavaScript output
├── .env # Environment variables
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # Project documentation
npm run build
: Compile TypeScript to JavaScriptnpm start
: Start the MCP servernpm run dev
: Watch mode for developmentnpx @modelcontextprotocol/inspector node build/index.js
# After starting the server
{"jsonrpc":"2.0","id":1,"method":"callTool","params":{"name":"search","arguments":{"query":"example search"}}}
This project is licensed under the MIT License - see the LICENSE file for details.
[
{
"description": "Search the web using Google Custom Search API",
"inputSchema": {
"properties": {
"numResults": {
"default": 5,
"description": "Number of results to return (max 10)",
"type": "number"
},
"query": {
"description": "The search query",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search"
}
]