如何部署web-search-mcp-server 项目

·

一、项目概况

属性
项目名称web-search-mcp-server
版本v0.3.1
许可证MIT
类型MCP (Model Context Protocol) Server
源码仓库https://github.com/mrkrsl/web-search-mcp

二、技术栈

分类技术版本
运行时Node.jsv20.14.0
语言TypeScriptv5.4.5
框架@modelcontextprotocol/sdkv1.15.0
浏览器自动化Playwrightv1.48.0
HTTP客户端Axiosv1.6.8
HTML解析Cheeriov1.0.0-rc.12
数据验证Zodv3.22.0

三、项目结构

PHP
C:\Users\username\Qwen web se\
├── dist/                    # 编译后的 JavaScript
│   ├── index.js             # MCP 服务器入口
│   ├── browser-pool.js      # 浏览器池管理
│   ├── content-extractor.js # 页面内容提取器
│   ├── enhanced-content-extractor.js  # 增强内容提取器
│   ├── search-engine.js     # 搜索引擎实现
│   ├── rate-limiter.js      # 限流控制
│   ├── types.js             # TypeScript 类型定义
│   └── utils.js             # 工具函数
├── node-v20.14.0-win-x64/   # 便携版 Node.js
├── node_modules/            # npm 依赖
├── package.json
├── package-lock.json
└── PROJECT_SUMMARY.md       # 本文件

四、核心功能

4.1 Web 搜索工具

工具名功能说明
full-web-search完整网页搜索多引擎搜索 + 页面内容提取
get-web-search-summaries轻量级搜索仅返回摘要,速度更快
get-single-web-page-content单页内容提取提取指定 URL 的页面内容

4.2 搜索策略

  • 优先顺序: Bing → Brave → DuckDuckGo
  • 浏览器隔离: 每个搜索引擎使用独立浏览器实例
  • 并发处理: 同时提取多个页面内容
  • 智能降级: axios 请求失败后自动切换到浏览器模式

五、配置文件

LM Studio 配置文件路径: C:\Users\username\.lmstudio\mcp.json

PHP
{
  "mcpServers": {
    "web-search": {
      "command": "C:\\Users\\username\\Qwen web se\\node-v20.14.0-win-x64\\node.exe",
      "args": ["C:\\Users\\username\\Qwen web se\\dist\\index.js"],
      "env": {
        "MAX_CONTENT_LENGTH": "500000",
        "BROWSER_HEADLESS": "true",
        "MAX_BROWSERS": "3",
        "DEFAULT_TIMEOUT": "6000",
        "BROWSER_FALLBACK_THRESHOLD": "3"
      }
    },
    "playwright": {
      "command": "C:\\Users\\username\\Qwen web se\\node-v20.14.0-win-x64\\node.exe",
      "args": ["C:\\Users\\username\\Qwen web se\\node_modules\\@playwright\\mcp\\cli.js"],
      "env": {
        "PLAYWRIGHT_MCP_EXECUTABLE_PATH": "C:\\Users\\username\\AppData\\Local\\ms-playwright\\chromium-1228\\chrome-win64\\chrome.exe"
      }
    },
    "filesystem": {
      "command": "C:\\Users\\username\\Qwen web se\\node-v20.14.0-win-x64\\node.exe",
      "args": ["C:\\Users\\username\\Qwen web se\\node_modules\\@modelcontextprotocol\\server-filesystem\\dist\\index.js", "C:\\Users\\username\\lmstudio_room"]
    }
  }
}

六、环境变量配置

变量默认值说明
MAX_CONTENT_LENGTH500000最大内容长度(字符)
DEFAULT_TIMEOUT6000请求超时(毫秒)
MAX_BROWSERS3最大浏览器实例数
BROWSER_HEADLESStrue是否无头模式
BROWSER_FALLBACK_THRESHOLD3axios 失败次数阈值

七、可用脚本

PHP
npm run build    # TypeScript 编译
npm run dev      # 开发模式(热更新)
npm start        # 启动服务器
npm run lint     # ESLint 检查
npm run format   # Prettier 格式化

八、已安装的 MCP 服务

服务状态功能
web-search✅ 正常运行网页搜索与内容提取
filesystem✅ 正常运行文件系统操作
playwright✅ 正常运行浏览器自动化

九、使用方式

  1. 启动 LM Studio
  2. 加载支持工具调用的模型(推荐:Qwen3, Gemma 3)
  3. 点击工具栏的工具图标(🔧)
  4. 在对话中输入搜索请求,模型会自动调用 web-search 工具

示例:

PHP
搜索最新的半导体新闻

十、注意事项

  • 需要良好的网络连接以访问搜索引擎
  • 首次运行可能需要较长时间初始化浏览器
  • 建议使用较新的大语言模型以获得更好的工具调用效果