Web-Scout
Enables AI-powered web searches using DuckDuckGo with automatic summarization via Google's Gemini AI. Supports both summary and detailed analysis modes for search results.
README
Web-Scout: AI-Powered Search with LLM Summarization
A FastAPI application that performs web searches using DuckDuckGo and generates AI-powered summaries using Google's Gemini AI.
Features
- Web search using DuckDuckGo
- AI summarization using Gemini 2.5 Flash
- Two output modes: Summary and Detailed analysis
- Docker & Docker Compose ready
- Secure API key management via environment variables
- MCP (Model Context Protocol) support over HTTP
Prerequisites
- Docker and Docker Compose installed
- Google Gemini API key
Setup
-
Clone the repository (or navigate to your project directory)
-
Add your Gemini API key to the
.envfile:GEMINI_API_KEY=your_actual_gemini_api_key_here -
Build and run with Docker Compose:
docker-compose up --build
API Usage
The application will be available at http://localhost:8000
Health Check
curl http://localhost:8000/health
Search Endpoint
Summary Mode (Default)
curl "http://localhost:8000/search?query=artificial+intelligence"
# or explicitly specify mode=summary
curl "http://localhost:8000/search?query=artificial+intelligence&mode=summary"
Detailed Mode
curl "http://localhost:8000/search?query=artificial+intelligence&mode=detailed"
Response Format
{
"query": "your search query",
"mode": "summary",
"summary": "AI-generated analysis...",
"sources_used": 10
}
MCP Server Integration
Web-Scout can also function as an MCP (Model Context Protocol) server, allowing AI assistants to perform web searches directly through tools.
MCP Features
- Web Search Tool: Perform web searches with AI summarization
- Dual Mode Support: Both summary and detailed analysis modes
- HTTP Transport: MCP over HTTP protocol for client integration
- JSON Responses: Structured output for easy integration
MCP Tools Available
Web Search Tool
- Name:
web_search - Description: Perform a web search using DuckDuckGo and generate AI-powered summaries
- Parameters:
query(string, required): The search query to performmode(string, optional): Response mode - "summary" or "detailed" (default: "summary")
MCP Server Setup
Web-Scout provides MCP functionality over HTTP, accessible at the /mcp endpoint.
Method 1: Direct FastAPI Server
- Install dependencies:
pip install -r requirements.txt
- Set your Gemini API key:
export GEMINI_API_KEY=your_api_key_here
- Run the HTTP server with MCP endpoint:
python main.py
The MCP endpoint will be available at http://localhost:8000/mcp
Method 2: Docker Container
# Run the HTTP server with Docker (MCP available at /mcp)
docker-compose up --build
Or run standalone container
docker run -p 8000:8000 -e GEMINI_API_KEY=your_api_key_here web-scout
Integrating with AI Tools
To use Web-Scout as an MCP server with AI tools like Claude Desktop or Roo:
- Create MCP Configuration:
{
"mcpServers": {
"web-scout": {
"command": "python",
"args": ["-m", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"],
"env": {
"GEMINI_API_KEY": "your_gemini_api_key_here"
}
}
}
}
-
Configure your AI tool to use the MCP configuration:
- For Claude Desktop: Add to
~/Library/Application Support/Claude/claude_desktop_config.json - For Roo: Add to the appropriate configuration file
- For Claude Desktop: Add to
-
Usage Example:
Can you search for the latest news about artificial intelligence?
The AI tool will use the Web-Scout MCP server (via the /mcp endpoint) to perform the search and provide summarized results.
Development
Local Development (without Docker)
# Install dependencies
pip install -r requirements.txt
# Set your API key
export GEMINI_API_KEY=your_api_key_here
# Run the application
uvicorn main:app --reload
Using Docker Compose
# Build and run
docker-compose up --build
# Run in background
docker-compose up -d --build
# Stop the application
docker-compose down
# View logs
docker-compose logs -f web-scout
Configuration
Environment Variables
GEMINI_API_KEY: Your Google Gemini API key (required)
Docker Configuration
- Port: 8000
- Container name: web-scout
- Health check: Automatic health monitoring
Security Notes
- The
.envfile is ignored by Git and should never be committed - API keys are mounted securely via Docker Compose volumes
- The application uses health checks for monitoring
Error Handling
- Returns proper HTTP status codes
- Includes detailed error messages
- Handles missing API keys and invalid parameters gracefully
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.