iflow-mcp_vonequinox-websearchmcp 0.1.0__tar.gz

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.
@@ -0,0 +1,198 @@
1
+ Metadata-Version: 2.4
2
+ Name: iflow-mcp_vonequinox-websearchmcp
3
+ Version: 0.1.0
4
+ Summary: MCP (Model Context Protocol) web search server (Brave search + fetch tools)
5
+ Requires-Python: >=3.10
6
+ Description-Content-Type: text/markdown
7
+ Requires-Dist: beautifulsoup4
8
+ Requires-Dist: curl_cffi
9
+ Requires-Dist: fastmcp
10
+ Requires-Dist: lxml
11
+ Requires-Dist: openai
12
+ Requires-Dist: playwright
13
+ Requires-Dist: playwright-stealth
14
+ Requires-Dist: python-dotenv
15
+ Requires-Dist: uvicorn
16
+
17
+ # WebSearch MCP Server
18
+
19
+ 一个基于 MCP (Model Context Protocol) 的智能网页搜索服务器,支持 AI 增强搜索、Brave 搜索和网页抓取功能。
20
+
21
+ > **推荐**: 本项目推荐使用 `SOTASearch.py`,它结合了 AI 深度搜索和 Brave 搜索,**并行执行**两种搜索以提升速度。适合与 [CherryStudio](https://github.com/kangfenmao/cherry-studio) 配合使用。
22
+
23
+ ## 功能
24
+
25
+ | 工具 | 说明 |
26
+ |------|------|
27
+ | `web_search` | AI 深度搜索 + Brave 搜索(并行执行),返回链接列表和 AI 总结 |
28
+ | `fetch_html` | 抓取网页 HTML 内容 |
29
+ | `fetch_text` | 抓取网页并提取纯文本 |
30
+ | `fetch_metadata` | 抓取网页元数据(标题、描述、链接) |
31
+
32
+ ## 安装
33
+
34
+ ### 1. 克隆项目
35
+
36
+ ```bash
37
+ git clone https://github.com/yourusername/WebSearchMCP.git
38
+ cd WebSearchMCP
39
+ ```
40
+
41
+ ### 2. 安装依赖
42
+
43
+ **使用 uv(推荐):**
44
+
45
+ ```bash
46
+ uv sync
47
+ ```
48
+
49
+ **使用 pip:**
50
+
51
+ ```bash
52
+ pip install -r requirements.txt
53
+ ```
54
+
55
+ ### 3. 配置环境变量
56
+
57
+ 复制 `.env.example` 为 `.env` 并填入配置:
58
+
59
+ ```bash
60
+ cp .env.example .env
61
+ ```
62
+
63
+ 主要配置项:
64
+
65
+ ```env
66
+ # 代理配置(可选)
67
+ PROXY=http://127.0.0.1:7890
68
+ CF_WORKER=https://your-worker.workers.dev
69
+
70
+ # OpenAI API 配置(SOTASearch 必需)
71
+ OPENAI_API_KEY=sk-xxx
72
+ OPENAI_BASE_URL=https://api.openai.com/v1
73
+ OPENAI_MODEL=gpt-4o
74
+ ```
75
+
76
+ ## 快速开始
77
+
78
+ ```bash
79
+ # 使用 uv(推荐)
80
+ uv run SOTASearch.py
81
+
82
+ # 或使用 python
83
+ python SOTASearch.py
84
+ ```
85
+
86
+ ## 配置 CherryStudio
87
+
88
+ 在 CherryStudio 的 MCP 服务器设置中添加(必须使用虚拟环境中的 Python 绝对路径):
89
+
90
+ **Windows 示例:**
91
+
92
+ ```json
93
+ {
94
+ "mcpServers": {
95
+ "sota-search": {
96
+ "name": "Websearch",
97
+ "type": "stdio",
98
+ "command": "D:\\Code\\github\\WebSearchMCP\\.venv\\Scripts\\python.exe",
99
+ "args": ["D:/Code/github/WebSearchMCP/SOTASearch.py"]
100
+ }
101
+ }
102
+ }
103
+ ```
104
+
105
+ **macOS/Linux 示例:**
106
+
107
+ ```json
108
+ {
109
+ "mcpServers": {
110
+ "sota-search": {
111
+ "name": "Websearch",
112
+ "type": "stdio",
113
+ "command": "/path/to/WebSearchMCP/.venv/bin/python",
114
+ "args": ["/path/to/WebSearchMCP/SOTASearch.py"]
115
+ }
116
+ }
117
+ }
118
+ ```
119
+
120
+ > **注意**: 推荐使用项目虚拟环境中的 Python 解释器(`.venv/Scripts/python.exe` 或 `.venv/bin/python`),确保依赖正确加载。系统 Python 也可以使用,但需确保已安装所有依赖。
121
+
122
+ > **提示**: 代理和 API 配置建议写在 `.env` 文件中,无需在命令行参数中指定。
123
+
124
+ ## 命令行参数
125
+
126
+ | 参数 | 说明 | 示例 |
127
+ |------|------|------|
128
+ | `--proxy` | 本地代理地址 | `--proxy http://127.0.0.1:7890` |
129
+ | `--cf-worker` | Cloudflare Worker 地址 | `--cf-worker https://xxx.workers.dev` |
130
+ | `--openai-api-key` | OpenAI API Key | `--openai-api-key sk-xxx` |
131
+ | `--openai-base-url` | OpenAI API Base URL | `--openai-base-url https://api.openai.com/v1` |
132
+ | `--openai-model` | 模型名称(默认 gpt-4o) | `--openai-model gpt-4o` |
133
+
134
+ ## 工具说明
135
+
136
+ ### web_search
137
+
138
+ AI 深度搜索 + Brave 搜索(并行执行)。
139
+
140
+ 参数:
141
+ - `query`: 搜索关键词(必填)
142
+ - `max_results`: 返回的最大结果数,默认 10
143
+
144
+ 返回格式:
145
+
146
+ ```json
147
+ {
148
+ "success": true,
149
+ "query": "搜索关键词",
150
+ "links": [
151
+ {"title": "标题", "url": "链接", "description": "描述"}
152
+ ],
153
+ "ai_summary": "AI 总结内容"
154
+ }
155
+ ```
156
+
157
+ ### fetch_html
158
+
159
+ 抓取网页的原始 HTML 内容。
160
+
161
+ 参数:
162
+ - `url`: 目标网址(必填)
163
+ - `headers`: 可选的请求头
164
+
165
+ ### fetch_text
166
+
167
+ 抓取网页并提取纯文本内容(去除 HTML 标签)。
168
+
169
+ 参数:
170
+ - `url`: 目标网址(必填)
171
+ - `headers`: 可选的请求头
172
+
173
+ ### fetch_metadata
174
+
175
+ 抓取网页的元数据信息。
176
+
177
+ 参数:
178
+ - `url`: 目标网址(必填)
179
+ - `headers`: 可选的请求头
180
+
181
+ 返回:标题、描述、页面链接列表
182
+
183
+ ## 特性
184
+
185
+ - AI 深度搜索 + Brave 搜索**并行执行**
186
+ - 支持本地代理 (`--proxy`)
187
+ - 支持 Cloudflare Worker 代理 (`--cf-worker`)
188
+ - 自动内容截断,防止响应过大
189
+ - 支持 `.env` 文件配置
190
+
191
+ ## 依赖
192
+
193
+ - Python 3.10+
194
+ - fastmcp
195
+ - beautifulsoup4
196
+ - curl_cffi
197
+ - lxml
198
+ - openai
@@ -0,0 +1,182 @@
1
+ # WebSearch MCP Server
2
+
3
+ 一个基于 MCP (Model Context Protocol) 的智能网页搜索服务器,支持 AI 增强搜索、Brave 搜索和网页抓取功能。
4
+
5
+ > **推荐**: 本项目推荐使用 `SOTASearch.py`,它结合了 AI 深度搜索和 Brave 搜索,**并行执行**两种搜索以提升速度。适合与 [CherryStudio](https://github.com/kangfenmao/cherry-studio) 配合使用。
6
+
7
+ ## 功能
8
+
9
+ | 工具 | 说明 |
10
+ |------|------|
11
+ | `web_search` | AI 深度搜索 + Brave 搜索(并行执行),返回链接列表和 AI 总结 |
12
+ | `fetch_html` | 抓取网页 HTML 内容 |
13
+ | `fetch_text` | 抓取网页并提取纯文本 |
14
+ | `fetch_metadata` | 抓取网页元数据(标题、描述、链接) |
15
+
16
+ ## 安装
17
+
18
+ ### 1. 克隆项目
19
+
20
+ ```bash
21
+ git clone https://github.com/yourusername/WebSearchMCP.git
22
+ cd WebSearchMCP
23
+ ```
24
+
25
+ ### 2. 安装依赖
26
+
27
+ **使用 uv(推荐):**
28
+
29
+ ```bash
30
+ uv sync
31
+ ```
32
+
33
+ **使用 pip:**
34
+
35
+ ```bash
36
+ pip install -r requirements.txt
37
+ ```
38
+
39
+ ### 3. 配置环境变量
40
+
41
+ 复制 `.env.example` 为 `.env` 并填入配置:
42
+
43
+ ```bash
44
+ cp .env.example .env
45
+ ```
46
+
47
+ 主要配置项:
48
+
49
+ ```env
50
+ # 代理配置(可选)
51
+ PROXY=http://127.0.0.1:7890
52
+ CF_WORKER=https://your-worker.workers.dev
53
+
54
+ # OpenAI API 配置(SOTASearch 必需)
55
+ OPENAI_API_KEY=sk-xxx
56
+ OPENAI_BASE_URL=https://api.openai.com/v1
57
+ OPENAI_MODEL=gpt-4o
58
+ ```
59
+
60
+ ## 快速开始
61
+
62
+ ```bash
63
+ # 使用 uv(推荐)
64
+ uv run SOTASearch.py
65
+
66
+ # 或使用 python
67
+ python SOTASearch.py
68
+ ```
69
+
70
+ ## 配置 CherryStudio
71
+
72
+ 在 CherryStudio 的 MCP 服务器设置中添加(必须使用虚拟环境中的 Python 绝对路径):
73
+
74
+ **Windows 示例:**
75
+
76
+ ```json
77
+ {
78
+ "mcpServers": {
79
+ "sota-search": {
80
+ "name": "Websearch",
81
+ "type": "stdio",
82
+ "command": "D:\\Code\\github\\WebSearchMCP\\.venv\\Scripts\\python.exe",
83
+ "args": ["D:/Code/github/WebSearchMCP/SOTASearch.py"]
84
+ }
85
+ }
86
+ }
87
+ ```
88
+
89
+ **macOS/Linux 示例:**
90
+
91
+ ```json
92
+ {
93
+ "mcpServers": {
94
+ "sota-search": {
95
+ "name": "Websearch",
96
+ "type": "stdio",
97
+ "command": "/path/to/WebSearchMCP/.venv/bin/python",
98
+ "args": ["/path/to/WebSearchMCP/SOTASearch.py"]
99
+ }
100
+ }
101
+ }
102
+ ```
103
+
104
+ > **注意**: 推荐使用项目虚拟环境中的 Python 解释器(`.venv/Scripts/python.exe` 或 `.venv/bin/python`),确保依赖正确加载。系统 Python 也可以使用,但需确保已安装所有依赖。
105
+
106
+ > **提示**: 代理和 API 配置建议写在 `.env` 文件中,无需在命令行参数中指定。
107
+
108
+ ## 命令行参数
109
+
110
+ | 参数 | 说明 | 示例 |
111
+ |------|------|------|
112
+ | `--proxy` | 本地代理地址 | `--proxy http://127.0.0.1:7890` |
113
+ | `--cf-worker` | Cloudflare Worker 地址 | `--cf-worker https://xxx.workers.dev` |
114
+ | `--openai-api-key` | OpenAI API Key | `--openai-api-key sk-xxx` |
115
+ | `--openai-base-url` | OpenAI API Base URL | `--openai-base-url https://api.openai.com/v1` |
116
+ | `--openai-model` | 模型名称(默认 gpt-4o) | `--openai-model gpt-4o` |
117
+
118
+ ## 工具说明
119
+
120
+ ### web_search
121
+
122
+ AI 深度搜索 + Brave 搜索(并行执行)。
123
+
124
+ 参数:
125
+ - `query`: 搜索关键词(必填)
126
+ - `max_results`: 返回的最大结果数,默认 10
127
+
128
+ 返回格式:
129
+
130
+ ```json
131
+ {
132
+ "success": true,
133
+ "query": "搜索关键词",
134
+ "links": [
135
+ {"title": "标题", "url": "链接", "description": "描述"}
136
+ ],
137
+ "ai_summary": "AI 总结内容"
138
+ }
139
+ ```
140
+
141
+ ### fetch_html
142
+
143
+ 抓取网页的原始 HTML 内容。
144
+
145
+ 参数:
146
+ - `url`: 目标网址(必填)
147
+ - `headers`: 可选的请求头
148
+
149
+ ### fetch_text
150
+
151
+ 抓取网页并提取纯文本内容(去除 HTML 标签)。
152
+
153
+ 参数:
154
+ - `url`: 目标网址(必填)
155
+ - `headers`: 可选的请求头
156
+
157
+ ### fetch_metadata
158
+
159
+ 抓取网页的元数据信息。
160
+
161
+ 参数:
162
+ - `url`: 目标网址(必填)
163
+ - `headers`: 可选的请求头
164
+
165
+ 返回:标题、描述、页面链接列表
166
+
167
+ ## 特性
168
+
169
+ - AI 深度搜索 + Brave 搜索**并行执行**
170
+ - 支持本地代理 (`--proxy`)
171
+ - 支持 Cloudflare Worker 代理 (`--cf-worker`)
172
+ - 自动内容截断,防止响应过大
173
+ - 支持 `.env` 文件配置
174
+
175
+ ## 依赖
176
+
177
+ - Python 3.10+
178
+ - fastmcp
179
+ - beautifulsoup4
180
+ - curl_cffi
181
+ - lxml
182
+ - openai