A powerful MCP server to equip LLMs with web access, search, and content extraction capabilities
Project description
MCP Web Tools
This package provides a powerful MCP server to equip LLMs with web access, going beyond naive methods of searching, fetching and extracting content.
Introduction
I created this package out of the frustration that most MCP servers enabling web access to LLMs, didn't perform as well as I hoped. Some of these shortcomings I wanted fix, include:
- Good search results without requiring an API key
- Sophisticated fetching for more complex JavaScript sites
- Extracting content in nicely formatted Markdown
- Support for extracting content from PDFs
- Support for loading and displaying images
- Usage options for advanced cases like loading raw HTML
Installation
Claude Desktop
</code></pre>
<h3>Claude Code</h3>
<pre lang="bash"><code>claude mcp add web-tools uvx mcp-web-tools
Or to also set the Brave Search API key:
claude mcp add web-tools uvx mcp-web-tools -e BRAVE_SEARCH_API_KEY=<key>
Internals
The package is written in Python using powerful libraries and services under the hood to improve results.
Searching
We use the Brave Search API if an API key is provided with fallbacks a scraped Google workaround and finally DuckDuckGO if everything else fails. While we'd recommend getting a free Brave API key, the fallbacks should work more than well enough for most use cases and work loads.
Fetching
The fetching of web content is based on Zendriver, a fork of nodriver for next level webscraping and performance. It should stay undetected for most anti-bot solutions and fetch content even from complex JS-based sites.
Extracting
For web extraction, we use Trafilatura which consistently outperforms other alternatives for extracting content from HTML pages. For PDFs, we use PyMuPDF4LLM which similarly extracts content in an easy-to-read format for LLMs, with advanced layout support.
Contributing
While it's impossible to support all pages and layouts, we thrive to make this package better over time. For unsupported sites, problems, or feature requests open an issue.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_web_tools-0.7.7.tar.gz.
File metadata
- Download URL: mcp_web_tools-0.7.7.tar.gz
- Upload date:
- Size: 57.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74baeaf52e783dedf8ad992b90e3939791be800e29750e86c1b51702b4f897a0
|
|
| MD5 |
1958469be0a7e1d99992440fa969b7bb
|
|
| BLAKE2b-256 |
b4cbb3ff139bbcc21c789cf651b2af598a57eb3c4ac3f33b04f7412fa2757665
|
File details
Details for the file mcp_web_tools-0.7.7-py3-none-any.whl.
File metadata
- Download URL: mcp_web_tools-0.7.7-py3-none-any.whl
- Upload date:
- Size: 7.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
498cab4bc2c85b429c50db60badb29367b00cf104f0be8bc1e7ca9cb7cc65f16
|
|
| MD5 |
8b9ed0d83e5ecdff78d9b88d74a268de
|
|
| BLAKE2b-256 |
756c40d7efe0b2bcb061161a8f6a487dfff72fdc1ef97127775847b8274a29cd
|