@jiayouzuo/mcp-web-search
v0.1.1
Published
MCP Server for web search and content fetching
Downloads
27
Maintainers
Readme
@jiayouzuo/mcp-web-search
MCP Server for web search and content fetching - 网络搜索与内容抓取的 MCP 服务器
功能特性
- 🔍 网络搜索:使用 DuckDuckGo 搜索引擎(免费,无需 API Key)
- 📄 内容抓取:获取网页内容并智能提取主体文本
- 🔗 链接提取:从网页中提取所有链接
- 💾 智能缓存:15 分钟缓存减少重复请求
- 🎯 内容解析:使用 Readability 算法提取核心内容
安装
全局安装(推荐)
npm install -g @jiayouzuo/mcp-web-search本地安装
npm install @jiayouzuo/mcp-web-search配置
在 Claude Code 配置文件中添加:
位置: ~/.claude/config.json 或 ~/.config/claude/config.json
{
"mcpServers": {
"web-search": {
"command": "mcp-web-search"
}
}
}或使用 npx:
{
"mcpServers": {
"web-search": {
"command": "npx",
"args": ["@jiayouzuo/mcp-web-search"]
}
}
}可用工具
1. web_search
搜索网络内容
参数:
query(string, 必需): 搜索关键词maxResults(number, 可选): 最多返回结果数,默认 5language(string, 可选): 语言偏好,默认 zh-cn
示例:
{
"query": "Vue 3 最新特性",
"maxResults": 5,
"language": "zh-cn"
}2. fetch_url
获取 URL 内容并提取主体文本
参数:
url(string, 必需): 要获取的 URLextractContent(boolean, 可选): 是否提取主体内容,默认 trueformat(string, 可选): 返回格式 (text/markdown/html),默认 text
示例:
{
"url": "https://example.com/article",
"extractContent": true,
"format": "markdown"
}3. extract_links
从 URL 提取所有链接
参数:
url(string, 必需): 要提取链接的 URLfilter(string, 可选): 正则表达式过滤器
示例:
{
"url": "https://example.com",
"filter": "^https://example\\.com/docs"
}开发
本地开发
# 安装依赖
npm install
# 开发模式
npm run dev
# 构建
npm run build
# 监听模式
npm run watch项目结构
mcp-web-search/
├── src/
│ ├── index.ts # MCP Server 入口
│ ├── tools/ # 工具实现
│ │ ├── search.ts # web_search
│ │ ├── fetch.ts # fetch_url
│ │ └── links.ts # extract_links
│ ├── services/ # 核心服务
│ │ ├── http.ts # HTTP 客户端
│ │ ├── parser.ts # HTML 解析
│ │ └── search.ts # 搜索服务
│ └── types/ # 类型定义
│ └── index.ts
├── build/ # 编译输出
├── package.json
└── tsconfig.json技术栈
- TypeScript: 类型安全
- @modelcontextprotocol/sdk: MCP 官方 SDK
- axios: HTTP 客户端
- cheerio: HTML 解析
- @mozilla/readability: 内容提取
- jsdom: DOM 模拟
- node-cache: 内存缓存
许可证
MIT
作者
jiayouzuo
