网络研究服务器

一个全面的模型上下文协议(MCP)服务器,为AI助手提供互联网研究能力,包括网络搜索、网站抓取和URL内容获取。

  • by CamC9
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 CamC9/web-research-mcp-server

使用说明

Web研究MCP服务器

一个全面的模型上下文协议(MCP)服务器,为人工智能助手提供互联网研究功能。该服务器使AI代理能够搜索网络、抓取网站并从URL中获取内容。

特性

🔍 网页搜索

  • 使用DuckDuckGo搜索网络
  • 可定制的结果限制(1-20个结果)
  • 返回带有标题、URL和代码段的结构化结果
  • 回退搜索机制,提高可靠性

🌐 网站抓取

  • 从任何网站提取内容
  • 使用多个选择器进行智能内容提取
  • 可选链接和图像提取
  • 处理相对于绝对URL的转换
  • 实现最佳性能的内容长度限制

📡 URL获取

  • 从任何URL获取原始内容
  • 支持文本、JSON和HTML格式
  • 适用于API、RSS提要和结构化数据
  • 返回状态代码和标题

安装

先决条件

  • Node.js 16或更高版本
  • npm或纱线

设置

  1. 克隆或下载此存储库
  2. 安装依赖项:
    npm install
    
  3. 构建服务器:
    npm run build
    

配置

将服务器添加到MCP客户端配置中:

致克莱恩/克劳德·德夫

添加到MCP设置文件中:

{
  "mcpServers": {
    "web-research-server": {
      "disabled": false,
      "autoApprove": [],
      "command": "node",
      "args": ["/path/to/web-research-server/build/index.js"]
    }
  }
}

适用于克劳德桌面

增添 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "web-research-server": {
      "command": "node",
      "args": ["/path/to/web-research-server/build/index.js"]
    }
  }
}

用法

配置后,您可以使用以下工具:

网页搜索

Search for "latest AI developments 2024" with 5 results

网站抓取

Scrape the content from https://example.com and extract all links

URL获取

Fetch the JSON data from https://api.example.com/data

工具参考

web_search

使用DuckDuckGo搜索网络。

参数:

  • query (字符串,必填):搜索查询
  • limit (数字,可选):最大结果(1-20,默认值:10)

scrape_website

从网站中提取内容。

参数:

  • url (string,必填):要抓取的网站URL
  • extract_links (布尔值,可选):提取所有链接(默认值:false)
  • extract_images (布尔值,可选):提取所有图像(默认值:false)

fetch_url

从URL获取原始内容。

参数:

  • url (字符串,必填):要获取的URL
  • format (字符串,可选):预期格式-“文本”、“json”或“html”(默认:“文本”)

发展

建筑

npm run build

观察变化

npm run watch

技术细节

  • 使用TypeScript和MCP SDK构建
  • 对HTTP请求使用axios
  • 使用cheerio进行HTML解析
  • 实施适当的错误处理和超时
  • 包括针对性能的内容长度限制
  • 支持优雅关机

安全功能

  • 请求超时(30秒)
  • 内容长度限制
  • URL验证
  • 处理格式错误的请求时出错
  • 安全无自动批准

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

贡献

欢迎投稿!请随时提交拉取请求。

支持

如果您遇到任何问题或有疑问,请在GitHub存储库上打开问题。