Search MCP Server

Search MCP Server

A Node.js MCP server providing browser search and web page access capabilities, including Google search, intelligent web analysis, and LLM-powered summarization.

Category
访问服务器

README

Search MCP Server

一个基于Node.js的MCP (Model Context Protocol) 服务器,提供浏览器搜索和网页访问功能,符合MCP标准协议规范。

功能特性

  • 🔍 browser_search: 使用Google搜索API获取搜索结果
  • 🌐 browser_visit: 智能网页分析,支持多URL并发处理
  • 🤖 LLM智能摘要: 使用AI模型进行证据提取和内容分析
  • 📡 MCP标准: 符合Model Context Protocol规范
  • 🔧 多API支持: Serper API / Google Custom Search API
  • 🔄 自动重试: 智能重试机制,确保稳定性
  • 🚀 并发处理: 支持最多5个URL同时处理
  • 💡 容错设计: 多层备用方案,渐进增强
  • 🌍 多模型支持: 兼容OpenAI、Azure、本地模型等
  • 📝 结构化输出: 关键证据+总结+相关性评估

快速开始

1. 安装依赖

npm install

2. 配置环境变量

复制环境变量模板:

cp .env.example .env

编辑 .env 文件,配置API密钥:

# 搜索API配置(二选一)
# 推荐使用Serper API
SERPER_API_KEY=your_serper_api_key_here

# 或者使用Google Custom Search API
GOOGLE_API_KEY=your_google_api_key_here
GOOGLE_CSE_ID=your_custom_search_engine_id_here

# LLM配置(用于智能摘要,强烈推荐)
LLM_API_URL=https://api.openai.com/v1
LLM_API_KEY=your_llm_api_key_here
LLM_MODEL_NAME=gpt-3.5-turbo

# 可选:自定义头部(JSON格式)
LLM_CUSTOM_HEADERS={}

# 可选:Jina Reader API(提升内容提取质量)
JINA_API_KEY=your_jina_api_key_here

3. 启动服务

启动MCP服务器

# 标准MCP服务器(stdio通信)
npm start

# 或者启动HTTP网关(用于远程访问)
npm run start-gateway

注意:

  • 标准MCP服务器通过stdio进行通信,需要被MCP客户端调用
  • HTTP网关模式在3001端口提供RESTful API,支持远程访问

MCP客户端配置

Claude Desktop配置

在Claude Desktop的配置文件中添加此MCP服务器:

Windows: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "search-mcp": {
      "type": "sse",
      "url": "http://127.0.0.1:3001/sse",
      "timeout": 60
    }
  }
}

其他MCP客户端

任何支持MCP协议的客户端都可以通过stdio传输与此服务器通信。

工具说明

browser_search

使用Google搜索API获取搜索结果。

输入参数:

  • query (string, 必需): 搜索查询字符串
  • top_k (integer, 可选): 返回结果数量,默认10,最大10

输出格式:

{
  "results": [
    {
      "title": "搜索结果标题",
      "snippet": "搜索结果摘要",
      "url": "https://example.com"
    }
  ]
}

browser_visit

智能网页分析工具,支持单个或多个URL的并发处理,使用AI进行内容分析和证据提取。

输入参数:

  • url (string|array, 必需): 单个URL字符串或URL数组(最多5个)
  • goal (string, 必需): 分析目标,描述你想从页面中获取什么信息

功能特性:

  • 🤖 AI智能分析: 使用LLM进行证据提取和内容总结
  • 🔄 自动重试: 失败时自动重试最多3次,指数退避
  • 🚀 并发处理: 多URL同时处理,提高效率
  • 📊 综合分析: 多URL时进行跨源信息整合和对比
  • 🛡️ 容错机制: Jina Reader → 直接抓取,LLM → 关键词摘要

输出格式:

单URL输出:

关键证据:[具体信息和数据]
总结:[基于证据的结论]
相关性评估:[内容匹配度说明]

多URL输出:

## 网页1: [URL]
[单独分析结果]

## 网页2: [URL]
[单独分析结果]

## 综合分析
[跨网页整合分析]

## 处理失败的URL
[失败原因说明]

使用示例

在Claude Desktop中使用

  1. 配置好MCP服务器后,重启Claude Desktop
  2. 在对话中,Claude会自动识别可用的工具
  3. 你可以直接询问需要搜索或访问网页的问题

示例对话:

基础搜索:

  • "帮我搜索一下最新的Node.js版本信息"
  • "搜索关于MCP协议的相关资料"

单网页分析:

  • "请访问https://nodejs.org,目标是了解最新版本的新特性"
  • "分析这个技术博客,提取关于AI发展趋势的关键观点"

多网页对比分析:

  • "同时分析这3个新闻网站关于某事件的报道,对比不同观点"
  • "访问多个技术文档,整理API使用方法的最佳实践"

测试MCP服务器

你可以使用MCP客户端工具来测试服务器:

# 安装MCP客户端工具
npm install -g @modelcontextprotocol/inspector

# 测试服务器
mcp-inspector node src/index.js

开发模式

使用nodemon进行开发:

npm run dev

配置说明

LLM提供商支持

OpenAI

LLM_API_URL=https://api.openai.com/v1
LLM_MODEL_NAME=gpt-3.5-turbo

Azure OpenAI

LLM_API_URL=https://your-resource.openai.azure.com/
LLM_MODEL_NAME=gpt-35-turbo
LLM_CUSTOM_HEADERS={"api-version": "2023-12-01-preview"}

本地模型(Ollama)

LLM_API_URL=http://localhost:11434/v1
LLM_MODEL_NAME=llama2

DeepSeek

LLM_API_URL=https://api.deepseek.com/v1
LLM_MODEL_NAME=deepseek-chat

功能层级

  1. 最小配置: 仅搜索API → 基础搜索 + 关键词摘要
  2. 推荐配置: 搜索API + LLM → 智能搜索 + AI摘要
  3. 完整配置: 搜索API + LLM + Jina → 最佳体验

注意事项

  1. API配置: 如果没有配置搜索API密钥,服务器将使用模拟数据进行测试
  2. 智能摘要: 配置LLM后可获得更准确的内容分析和证据提取
  3. 内容提取: 优先使用Jina Reader API,失败时回退到直接抓取
  4. 并发限制: 单次最多处理5个URL,避免过载
  5. 重试机制: 自动重试失败的请求,指数退避策略
  6. 内容截断: 超长内容智能截断到16000字符,避免token限制

技术栈

  • Node.js: 运行时环境
  • @modelcontextprotocol/sdk: MCP协议SDK
  • Axios: HTTP客户端
  • Cheerio: HTML解析
  • Stdio传输: 标准输入输出通信

许可证

MIT License

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选