@oevortex/ddg_search 1.0.2 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,223 +1,226 @@
1
- <div align="center">
2
- <img src="https://img.shields.io/npm/v/@oevortex/ddg_search.svg" alt="npm version" />
3
- <img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg" alt="License: Apache 2.0" />
4
- <img src="https://img.shields.io/badge/YouTube-%40OEvortex-red.svg" alt="YouTube Channel" />
5
- <h1>DuckDuckGo Search MCP 🔍</h1>
6
- <p>A blazing-fast, privacy-friendly Model Context Protocol (MCP) server for web search and URL content extraction using DuckDuckGo.</p>
7
- <a href="https://youtube.com/@OEvortex"><strong>Subscribe for updates & tutorials</strong></a>
8
- </div>
9
-
10
- ---
11
-
12
- > [!IMPORTANT]
13
- > DuckDuckGo Search MCP supports two types of compatibility:
14
- > - <b>Native MCP Compatibility:</b> Use the full power of the Model Context Protocol for maximum flexibility.
15
- > - <b>OpenAI Compatibility:</b> Use with OpenAI-compatible interfaces and providers.
16
- >
17
- > Choose the approach that best fits your needs! For OpenAI compatibility, check the <a href="webscout/Provider/OPENAI/README.md">OpenAI Providers README</a>.
18
-
19
- > [!NOTE]
20
- > DuckDuckGo Search MCP is compatible with Claude, Anthropic, OpenAI, Perplexity, HuggingFace, LLAMA, and 90+ other AI providers. All providers follow similar usage patterns with consistent interfaces.
21
-
22
- ---
23
-
24
- ## Features
25
-
26
- <div style="display: flex; flex-wrap: wrap; gap: 1.5em; margin-bottom: 1.5em;">
27
- <div><b>🌐 Web search</b> using DuckDuckGo HTML</div>
28
- <div><b>📄 URL content extraction</b> with smart filtering</div>
29
- <div><b>📊 URL metadata extraction</b> (title, description, images)</div>
30
- <div><b>⚡ Performance optimized</b> with caching</div>
31
- <div><b>🛡️ Security features</b> including rate limiting and rotating user agents</div>
32
- <div><b>🔌 MCP-compliant</b> server implementation</div>
33
- <div><b>🆓 No API keys required</b> - works out of the box</div>
34
- </div>
35
-
36
- > [!IMPORTANT]
37
- > Unlike many search tools, this package performs actual web scraping rather than using limited APIs, giving you more comprehensive results.
38
-
39
- ---
40
-
41
- ## 🚀 Quick Start
42
-
43
- <div style="background: #222; color: #fff; padding: 1.5em; border-radius: 8px; margin: 1.5em 0;">
44
- <b>Run instantly with npx:</b>
45
-
46
- ```bash
47
- npx -y @oevortex/ddg_search
48
- ```
49
- </div>
50
-
51
- > [!TIP]
52
- > This will download and run the MCP server directly without installation – perfect for quick use with Claude, OpenAI, or other AI assistants.
53
-
54
- ---
55
-
56
- ## 🛠️ Installation Options
57
-
58
- <details>
59
- <summary><b>Global Installation</b></summary>
60
-
61
- ```bash
62
- npm install -g @oevortex/ddg_search
63
- ```
64
-
65
- Run globally:
66
-
67
- ```bash
68
- ddg-search-mcp
69
- ```
70
-
71
- </details>
72
-
73
- <details>
74
- <summary><b>Local Installation (Development)</b></summary>
75
-
76
- ```bash
77
- git clone https://github.com/OEvortex/ddg_search.git
78
- cd ddg_search
79
- npm install
80
- npm start
81
- ```
82
-
83
- </details>
84
-
85
- ---
86
-
87
- ## 🧑‍💻 Command Line Options
88
-
89
- ```bash
90
- npx -y @oevortex/ddg_search --help
91
- ```
92
-
93
- > [!TIP]
94
- > Use the <code>--version</code> flag to check which version you're running.
95
-
96
- ---
97
-
98
- ## 🤖 Using with Claude, OpenAI, or Other MCP Clients
99
-
100
- > [!IMPORTANT]
101
- > The most common way to use this tool is by integrating it with Claude, OpenAI, or other MCP-compatible AI assistants.
102
-
103
- Add the server to your MCP client configuration:
104
-
105
- ```json
106
- {
107
- "mcpServers": {
108
- "ddg-search": {
109
- "command": "npx",
110
- "args": ["-y", "@oevortex/ddg_search"]
111
- }
112
- }
113
- }
114
- ```
115
-
116
- Or if installed globally:
117
-
118
- ```json
119
- {
120
- "mcpServers": {
121
- "ddg-search": {
122
- "command": "ddg-search-mcp"
123
- }
124
- }
125
- }
126
- ```
127
-
128
- > [!TIP]
129
- > After configuring, restart your Claude Desktop or other MCP client to apply the changes.
130
-
131
- ---
132
-
133
- ## 🧰 Tools Overview
134
-
135
- <div style="display: flex; flex-wrap: wrap; gap: 2.5em; margin: 1.5em 0;">
136
- <div style="margin-bottom: 1.5em;">
137
- <b>🔍 Web Search Tool</b><br/>
138
- <code>web-search</code><br/>
139
- <ul>
140
- <li><b>query</b> (string, required): The search query</li>
141
- <li><b>page</b> (integer, optional, default: 1): Page number</li>
142
- <li><b>numResults</b> (integer, optional, default: 10): Number of results (1-20)</li>
143
- </ul>
144
- <i>Example: Search the web for "climate change solutions"</i>
145
- </div>
146
- <div style="margin-bottom: 1.5em;">
147
- <b>📄 Fetch URL Tool</b><br/>
148
- <code>fetch-url</code><br/>
149
- <ul>
150
- <li><b>url</b> (string, required): The URL to fetch</li>
151
- <li><b>maxLength</b> (integer, optional, default: 10000): Max content length</li>
152
- <li><b>extractMainContent</b> (boolean, optional, default: true): Extract main content</li>
153
- <li><b>includeLinks</b> (boolean, optional, default: true): Include link text</li>
154
- <li><b>includeImages</b> (boolean, optional, default: true): Include image alt text</li>
155
- <li><b>excludeTags</b> (array, optional): Tags to exclude</li>
156
- </ul>
157
- <i>Example: Fetch the content from "https://example.com"</i>
158
- </div>
159
- <div style="margin-bottom: 1.5em;">
160
- <b>📊 URL Metadata Tool</b><br/>
161
- <code>url-metadata</code><br/>
162
- <ul>
163
- <li><b>url</b> (string, required): The URL to extract metadata from</li>
164
- </ul>
165
- <i>Example: Get metadata for "https://example.com"</i>
166
- </div>
167
- </div>
168
-
169
- ---
170
-
171
- ## 📁 Project Structure
172
-
173
-
174
- ```text
175
- bin/ # Command-line interface
176
- src/
177
- index.js # Main entry point
178
- tools/ # Tool definitions and handlers
179
- searchTool.js
180
- fetchUrlTool.js
181
- metadataTool.js
182
- utils/
183
- search.js # Search and URL utilities
184
- package.json
185
- README.md
186
- ```
187
-
188
- ---
189
-
190
- ## 🤝 Contributing
191
-
192
-
193
- Contributions are welcome! Please open issues or submit pull requests.
194
-
195
- > [!NOTE]
196
- > Please follow the existing code style and add tests for new features.
197
-
198
- ---
199
-
200
- ## 📺 YouTube Channel
201
-
202
-
203
- <div align="center">
204
- <a href="https://youtube.com/@OEvortex"><img src="https://img.shields.io/badge/YouTube-%40OEvortex-red.svg" alt="YouTube Channel" /></a>
205
- <br/>
206
- <a href="https://youtube.com/@OEvortex">youtube.com/@OEvortex</a>
207
- </div>
208
-
209
- ---
210
-
211
- ## 📄 License
212
-
213
-
214
- Apache License 2.0
215
-
216
- > [!NOTE]
217
- > This project is licensed under the Apache License 2.0 – see the <a href="LICENSE">LICENSE</a> file for details.
218
-
219
- ---
220
-
221
- <div align="center">
222
- <sub>Made with ❤️ by <a href="https://youtube.com/@OEvortex">@OEvortex</a></sub>
223
- </div>
1
+ <div align="center">
2
+ <img src="https://img.shields.io/npm/v/@oevortex/ddg_search.svg" alt="npm version" />
3
+ <img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg" alt="License: Apache 2.0" />
4
+ <img src="https://img.shields.io/badge/YouTube-%40OEvortex-red.svg" alt="YouTube Channel" /> <h1>DuckDuckGo & Felo AI Search MCP 🔍🧠</h1>
5
+ <p>A blazing-fast, privacy-friendly Model Context Protocol (MCP) server for web search and AI-powered responses using DuckDuckGo and Felo AI.</p>
6
+ <a href="https://youtube.com/@OEvortex"><strong>Subscribe for updates & tutorials</strong></a>
7
+ </div>
8
+
9
+ ---
10
+
11
+ > [!IMPORTANT]
12
+ > DuckDuckGo Search MCP supports the Model Context Protocol (MCP) standard, making it compatible with various AI assistants and tools.
13
+
14
+ ---
15
+
16
+ ## ✨ Features
17
+
18
+ <div style="display: flex; flex-wrap: wrap; gap: 1.5em; margin-bottom: 1.5em;"> <div><b>🌐 Web search</b> using DuckDuckGo HTML</div>
19
+ <div><b>🧠 AI search</b> using Felo AI</div>
20
+ <div><b>📄 URL content extraction</b> with smart filtering</div>
21
+ <div><b>📊 URL metadata extraction</b> (title, description, images)</div>
22
+ <div><b>⚡ Performance optimized</b> with caching</div>
23
+ <div><b>🛡️ Security features</b> including rate limiting and rotating user agents</div>
24
+ <div><b>🔌 MCP-compliant</b> server implementation</div>
25
+ <div><b>🆓 No API keys required</b> - works out of the box</div>
26
+ </div>
27
+
28
+ > [!IMPORTANT]
29
+ > Unlike many search tools, this package performs actual web scraping rather than using limited APIs, giving you more comprehensive results.
30
+
31
+ ---
32
+
33
+ ## 🚀 Quick Start
34
+
35
+ <div style="background: #222; color: #fff; padding: 1.5em; border-radius: 8px; margin: 1.5em 0;">
36
+ <b>Run instantly with npx:</b>
37
+
38
+ ```bash
39
+ npx -y @oevortex/ddg_search@latest
40
+ ```
41
+ </div>
42
+
43
+ > [!TIP]
44
+ > This will download and run the latest version of the MCP server directly without installation – perfect for quick use with AI assistants.
45
+
46
+ ---
47
+
48
+ ## 🛠️ Installation Options
49
+
50
+ <details>
51
+ <summary><b>Global Installation</b></summary>
52
+
53
+ ```bash
54
+ npm install -g @oevortex/ddg_search
55
+ ```
56
+
57
+ Run globally:
58
+
59
+ ```bash
60
+ ddg-search-mcp
61
+ ```
62
+
63
+ </details>
64
+
65
+ <details>
66
+ <summary><b>Local Installation (Development)</b></summary>
67
+
68
+ ```bash
69
+ git clone https://github.com/OEvortex/ddg_search.git
70
+ cd ddg_search
71
+ npm install
72
+ npm start
73
+ ```
74
+
75
+ </details>
76
+
77
+ ---
78
+
79
+ ## 🧑‍💻 Command Line Options
80
+
81
+ ```bash
82
+ npx -y @oevortex/ddg_search@latest --help
83
+ ```
84
+
85
+ > [!TIP]
86
+ > Use the <code>--version</code> flag to check which version you're running.
87
+
88
+ ---
89
+
90
+ ## 🤖 Using with MCP Clients
91
+
92
+ > [!IMPORTANT]
93
+ > The most common way to use this tool is by integrating it with MCP-compatible AI assistants.
94
+
95
+ Add the server to your MCP client configuration:
96
+
97
+ ```json
98
+ {
99
+ "mcpServers": {
100
+ "ddg-search": {
101
+ "command": "npx",
102
+ "args": ["-y", "@oevortex/ddg_search@latest"]
103
+ }
104
+ }
105
+ }
106
+ ```
107
+
108
+ Or if installed globally:
109
+
110
+ ```json
111
+ {
112
+ "mcpServers": {
113
+ "ddg-search": {
114
+ "command": "ddg-search-mcp"
115
+ }
116
+ }
117
+ }
118
+ ```
119
+
120
+ > [!TIP]
121
+ > After configuring, restart your MCP client to apply the changes.
122
+
123
+ ---
124
+
125
+ ## 🧰 Tools Overview
126
+
127
+ <div style="display: flex; flex-wrap: wrap; gap: 2.5em; margin: 1.5em 0;">
128
+ <div style="margin-bottom: 1.5em;">
129
+ <b>🔍 Web Search Tool</b><br/>
130
+ <code>web-search</code><br/>
131
+ <ul>
132
+ <li><b>query</b> (string, required): The search query</li>
133
+ <li><b>page</b> (integer, optional, default: 1): Page number</li>
134
+ <li><b>numResults</b> (integer, optional, default: 10): Number of results (1-20)</li>
135
+ </ul>
136
+ <i>Example: Search the web for "climate change solutions"</i>
137
+ </div>
138
+ <div style="margin-bottom: 1.5em;">
139
+ <b>🧠 Felo AI Search Tool</b><br/>
140
+ <code>felo-search</code><br/>
141
+ <ul>
142
+ <li><b>query</b> (string, required): The search query or prompt</li>
143
+ <li><b>stream</b> (boolean, optional, default: false): Whether to stream the response</li>
144
+ </ul>
145
+ <i>Example: Search Felo AI for "Explain quantum computing in simple terms"</i>
146
+ </div>
147
+ <div style="margin-bottom: 1.5em;">
148
+ <b>📄 Fetch URL Tool</b><br/>
149
+ <code>fetch-url</code><br/>
150
+ <ul>
151
+ <li><b>url</b> (string, required): The URL to fetch</li>
152
+ <li><b>maxLength</b> (integer, optional, default: 10000): Max content length</li>
153
+ <li><b>extractMainContent</b> (boolean, optional, default: true): Extract main content</li>
154
+ <li><b>includeLinks</b> (boolean, optional, default: true): Include link text</li>
155
+ <li><b>includeImages</b> (boolean, optional, default: true): Include image alt text</li>
156
+ <li><b>excludeTags</b> (array, optional): Tags to exclude</li>
157
+ </ul>
158
+ <i>Example: Fetch the content from "https://example.com"</i>
159
+ </div>
160
+ <div style="margin-bottom: 1.5em;">
161
+ <b>📊 URL Metadata Tool</b><br/>
162
+ <code>url-metadata</code><br/>
163
+ <ul>
164
+ <li><b>url</b> (string, required): The URL to extract metadata from</li>
165
+ </ul>
166
+ <i>Example: Get metadata for "https://example.com"</i>
167
+ </div>
168
+ </div>
169
+
170
+ ---
171
+
172
+ ## 📁 Project Structure
173
+
174
+
175
+ ```text
176
+ bin/ # Command-line interface
177
+ src/
178
+ index.js # Main entry point
179
+ tools/ # Tool definitions and handlers
180
+ searchTool.js
181
+ fetchUrlTool.js
182
+ metadataTool.js
183
+ feloTool.js
184
+ utils/
185
+ search.js # Search and URL utilities
186
+ search_felo.js # Felo AI search utilities
187
+ package.json
188
+ README.md
189
+ ```
190
+
191
+ ---
192
+
193
+ ## 🤝 Contributing
194
+
195
+
196
+ Contributions are welcome! Please open issues or submit pull requests.
197
+
198
+ > [!NOTE]
199
+ > Please follow the existing code style and add tests for new features.
200
+
201
+ ---
202
+
203
+ ## 📺 YouTube Channel
204
+
205
+
206
+ <div align="center">
207
+ <a href="https://youtube.com/@OEvortex"><img src="https://img.shields.io/badge/YouTube-%40OEvortex-red.svg" alt="YouTube Channel" /></a>
208
+ <br/>
209
+ <a href="https://youtube.com/@OEvortex">youtube.com/@OEvortex</a>
210
+ </div>
211
+
212
+ ---
213
+
214
+ ## 📄 License
215
+
216
+
217
+ Apache License 2.0
218
+
219
+ > [!NOTE]
220
+ > This project is licensed under the Apache License 2.0 – see the <a href="LICENSE">LICENSE</a> file for details.
221
+
222
+ ---
223
+
224
+ <div align="center">
225
+ <sub>Made with ❤️ by <a href="https://youtube.com/@OEvortex">@OEvortex</a></sub>
226
+ </div>