MCP Web Tools
Provides local web search and content fetching capabilities for AI assistants, enabling them to search DuckDuckGo and extract clean text from web pages. All requests originate from the user's machine to ensure direct network control and bypass external proxies.
README
MCP Web Tools
A Model Context Protocol (MCP) server that provides web search and fetch capabilities for AI assistants like Claude Code.
This is useful when you want your code-generation tool to make web requests directly from your machine, rather than having those requests proxied through an external server you don't control. The MCP server runs locally on your host, so all web requests originate from your own network.
Features
-
web_search - Search the web using DuckDuckGo
- Returns formatted results with titles, URLs, and snippets
- Configurable result count and region
-
web_fetch - Fetch and extract content from web pages
- Automatic HTML-to-text conversion (removes scripts, styles, navigation)
- JSON response formatting
- Configurable timeout
Requirements
- Python 3.13+
- uv
Installation
Quick Install (Recommended)
# Clone the repository
git clone <repo-url>
cd mcp-web-tools
# Install globally and configure Claude Code
make install
This will:
- Install
mcp-web-toolsas a global executable viauv tool install - Register the MCP server with Claude Code using
claude mcp add - The executable will be available at
~/.local/bin/mcp-web-tools
Restart Claude Code after installation.
Manual Installation
# Install dependencies
uv sync
# Run directly from project
uv run mcp-web-tools
Makefile Targets
| Target | Description |
|---|---|
make install |
Install globally and configure Claude Code |
make uninstall |
Remove the global installation |
make test |
Run tests with pytest |
make clean |
Remove build artifacts |
Claude Code Configuration
After running make install, you can verify the registration:
claude mcp list
The tools will be available in Claude Code as:
mcp__web-tools__web_searchmcp__web-tools__web_fetch
Manual Registration
If you prefer to register manually:
# User-wide (available in all projects)
claude mcp add --scope user web-tools mcp-web-tools
# Project-local (only current project)
claude mcp add --scope project web-tools mcp-web-tools
Alternative: Run from Project Directory
For development, you can register to run directly from the source:
claude mcp add --scope project web-tools uv run --directory /path/to/mcp-web-tools mcp-web-tools
Tool Reference
web_search
Search the web using DuckDuckGo.
Parameters:
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| query | string | Yes | - | The search query |
| max_results | integer | No | 10 | Maximum number of results |
| region | string | No | "wt-wt" | Region for results (e.g., "us-en", "uk-en") |
Example response:
Search results for: python mcp server
1. Building MCP Servers in Python
URL: https://example.com/article
Learn how to build Model Context Protocol servers...
2. MCP Documentation
URL: https://modelcontextprotocol.io/docs
Official documentation for the Model Context Protocol...
web_fetch
Fetch the content of a web page.
Parameters:
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| url | string | Yes | - | The URL to fetch |
| timeout | integer | No | 30 | Request timeout in seconds |
Example response:
Content from https://example.com/article:
Building MCP Servers
This guide covers the basics of creating an MCP server...
Development
Running Tests
make test
# Or directly
uv run pytest -v
Project Structure
mcp-web-tools/
src/
mcp_web_tools/
__init__.py # Package metadata
server.py # MCP server implementation
tools.py # Tool implementations (search, fetch)
tests/
test_tools.py # Unit tests
pyproject.toml # Project configuration
Makefile # Install/uninstall automation
Dependencies
- mcp - Model Context Protocol SDK
- ddgs - DuckDuckGo Search API
- httpx - Async HTTP client
- lxml - HTML parsing (optional; falls back to regex-based extraction if not installed)
License
MIT
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.
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.
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.
E2B
Using MCP to run code via e2b.
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.