Web Search Tool
by vikrambhat2
README.md
# ๐ MCP Server: Web Search Tool (FastMCP + Serper)
A lightweight, Claude-ready **MCP (Model Context Protocol) server** that wraps the [Serper.dev](https://serper.dev) Google Search API using Python, LangChain, and FastMCP.
This server exposes a structured, LLM-callable tool that performs a Google search and returns a filtered list of results along with a summary answer.
## ๐ Features
- โ
LLM-ready tool with structured input/output
- โ
Works out-of-the-box with **Claude Desktop**, **ChatGPT**, or any **MCP-compatible agent**
- โ
Built using [FastMCP](https://github.com/epfml/fastmcp)
- โ
Real-world API integration via `GoogleSerperAPIWrapper`
- โ
Easy to extend with more tools
## ๐ฆ Requirements
- Python 3.10+
- A free [Serper.dev API key](https://serper.dev/)
- Optional: [Claude Desktop](https://www.anthropic.com/index/claude-desktop) for local tool calling
- Optional: [MCP Inspector](https://github.com/epfml/mcp-inspector) for manual testing
## ๐ง Installation
1. Clone the repo:
```
git clone https://github.com/vikrambhat2/mcp-server-web-search.git
cd mcp-server-web-search
```
2. Install dependencies:
```
pip install -r requirements.txt
```
3. Set environment variables in a `.env` file:
```
SERPER_API_KEY=your_serper_api_key_here
PORT=10000
```
4. Run the server:
```
python server.py
```
---
## ๐ Tool Overview
This MCP server exposes a single tool: `google_search_tool`.
### ๐ค Input
```json
{
"input": "Your search query string"
}
```
### ๐ฅ Output
```json
{
"results": [
{
"title": "Result Title",
"link": "https://...",
"snippet": "Brief description"
},
...
],
"answer": "Concise answer generated by Serper"
}
```
---
## ๐งช Testing
### โ
With `curl`
```bash
curl -X POST http://localhost:10000/api/tools/google_search_tool \
-H "Content-Type: application/json" \
-d '{"input": "latest AI trends 2025"}'
```
### ๐งช With Claude Desktop
1. Open **Claude Desktop** โ `Settings โ Toolcalling`
2. Add your MCP server:
```json
{
"mcpServers": {
"googleSearch": {
"url": "http://localhost:10000/mcp",
"streaming": true
}
}
}
```
3. Ask Claude something like:
> "Use the `google_search_tool` to find top remote AI conferences in 2025."
### ๐งฐ With MCP Inspector (GUI)
1. Install MCP Inspector:
```bash
pip install mcp-inspector
mcp-inspector
```
2. Visit `http://localhost:8080`
3. Paste in `http://localhost:10000/mcp`
4. Explore your tool, prompt, and test it with real inputs.
---
## ๐ Deployment (Optional)
You can deploy this server for free using [Render](https://render.com):
1. Push this project to a GitHub repo
2. Create a new **Web Service** on Render
3. Add build/start commands:
* Build: `pip install -r requirements.txt`
* Start: `python app.py`
4. Add environment variables:
* `SERPER_API_KEY`
* `PORT=10000`
5. Your server will be live at:
`https://yourproject.onrender.com/mcp`
You can now plug it into Claude or your agents remotely.
---
## ๐ File Structure
```
โโโ app.py # Main MCP server script
โโโ .env # API key and port config
โโโ requirements.txt # Python dependencies
โโโ README.md # This file
```
---
## ๐ References
* ๐ [FastMCP](https://github.com/epfml/fastmcp)
* ๐ [Serper.dev](https://serper.dev/)
* ๐งช [MCP Inspector](https://github.com/epfml/mcp-inspector)
* ๐ค [Claude + MCP Guide](https://www.weavely.ai/blog/claude-mcp)
## ๐ Maintainer
Built by [@vikrambhat2](https://github.com/ikrambhat2)
Pull requests and forks welcome!
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues