@pinkpixel/web-scout-mcp
Version:
MCP server for web search and content extraction with multiple URL support and memory optimizations
156 lines (113 loc) • 3.79 kB
Markdown
<p align="center">
<img src="assets/logo.png" alt="Web Scout MCP Logo" width="300"/>
</p>
<h1 align="center">Web Scout MCP Server</h1>
<p align="center">
<a href="https://www.npmjs.com/package/@pinkpixel/web-scout-mcp"><img src="https://img.shields.io/npm/v/@pinkpixel/web-scout-mcp.svg" alt="npm version"></a>
<a href="https://github.com/pinkpixel-dev/web-scout-mcp/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License"></a>
<a href="https://nodejs.org/en/"><img src="https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen.svg" alt="Node.js Version"></a>
</p>
<p align="center">
An MCP server for web search using DuckDuckGo and content extraction, with support for multiple URLs and memory optimizations.
</p>
## ✨ Features
- 🔍 **DuckDuckGo Search**: Fast and privacy-focused web search capability
- 📄 **Content Extraction**: Clean, readable text extraction from web pages
- 🚀 **Parallel Processing**: Support for extracting content from multiple URLs simultaneously
- 💾 **Memory Optimization**: Smart memory management to prevent application crashes
- ⏱️ **Rate Limiting**: Intelligent request throttling to avoid API blocks
- 🛡️ **Error Handling**: Robust error handling for reliable operation
## 📦 Installation
### Global Installation
```bash
npm install -g @pinkpixel/web-scout-mcp
```
### Local Installation
```bash
npm install @pinkpixel/web-scout-mcp
```
## 🚀 Usage
### Command Line
After installing globally, run:
```bash
web-scout-mcp
```
### With MCP Clients
Add this to your MCP client's `config.json` (Claude Desktop, Cursor, etc.):
```json
{
"mcpServers": {
"web-scout": {
"command": "npx",
"args": [
"-y",
"@pinkpixel/web-scout-mcp"
]
}
}
}
```
## 🧰 Tools
The server provides the following MCP tools:
### 🔍 DuckDuckGoWebSearch
Initiates a web search query using the DuckDuckGo search engine and returns a well-structured list of findings.
**Input:**
- `query` (string): The search query string
- `maxResults` (number, optional): Maximum number of results to return (default: 10)
**Example:**
```json
{
"query": "latest advancements in AI",
"maxResults": 5
}
```
**Output:**
A formatted list of search results with titles, URLs, and snippets.
### 📄 UrlContentExtractor
Fetches and extracts clean, readable content from web pages by removing unnecessary elements like scripts, styles, and navigation.
**Input:**
- `url`: Either a single URL string or an array of URL strings
**Example (single URL):**
```json
{
"url": "https://example.com/article"
}
```
**Example (multiple URLs):**
```json
{
"url": [
"https://example.com/article1",
"https://example.com/article2"
]
}
```
**Output:**
Extracted text content from the specified URL(s).
## 🛠️ Development
```bash
# Clone the repository
git clone https://github.com/pinkpixel-dev/web-scout-mcp.git
cd web-scout-mcp
# Install dependencies
npm install
# Build
npm run build
# Run
npm start
```
## 📚 Documentation
For more detailed information about the project, check out these resources:
- [OVERVIEW.md](OVERVIEW.md) - Technical overview and architecture
- [CONTRIBUTING.md](CONTRIBUTING.md) - Guidelines for contributors
- [CHANGELOG.md](CHANGELOG.md) - Version history and changes
## 📋 Requirements
- Node.js >= 18.0.0
- npm or yarn
## 📄 License
This project is licensed under the [MIT License](LICENSE).
<p align="center">
<sub>Made with ❤️ by <a href="https://pinkpixel.dev">Pink Pixel</a></sub>
<br>
<sub>✨ Dream it, Pixel it ✨</sub>
</p>