使用说明
项目简介
Aspire MCP 网页抓取服务器是一个基于 .NET 9 和 Microsoft Aspire 构建的应用后端。它利用 Model Context Protocol (MCP) 向大型语言模型 (LLM) 客户端提供上下文信息和功能,专注于高效、智能地抓取和处理网页内容。
主要功能点
-
网页内容抓取 (WebContentTool):
- 这是一个通过 MCP 协议暴露给 LLM 客户端的工具。
- 给定任何 URL,它能抓取页面的 HTML 内容。
- 自动清理 HTML,移除脚本、样式和不必要的标签。
- 智能提取主要内容区域(如 '<main>', '<article>' 或特定内容的 '<div>')。
- 内置缓存机制,提高重复访问速度。
-
网站自动爬取 (WebCrawlerService):
- 虽然不是直接暴露给 LLM 的工具,但这是服务器启动时执行的核心功能之一。
- 能够解析网站的 'robots.txt' 文件以发现站点地图 URL。
- 抓取并解析 XML 站点地图,发现所有列出的页面 URL。
- 遍历这些 URL,并使用 'WebContentReader' 抓取内容,为后续处理或作为上下文提供数据。
安装步骤
- 安装前提: 确保您已安装 .NET 9 SDK。Docker 是可选的,用于容器化部署。
- 克隆仓库: 打开终端或命令提示符,克隆项目仓库:
git clone https://github.com/IEvangelist/aspire-mcp.git - 进入项目目录:
cd aspire-mcp - 运行服务器: 导航到服务器项目目录并运行:
服务器将启动并监听 Stdio 协议的 MCP 请求。dotnet run --project AspireMcp.Server
服务器配置
MCP 客户端连接到此服务器时,需要配置如何启动服务器进程。配置信息通常包含在 MCP 客户端的设置中,指导客户端执行哪个命令来启动服务器。
- 服务器名称 (server name): 可以是任意标识符,例如 "AspireMcpServer"。
- 启动命令 (command): 'dotnet'
- 命令参数 (args): '["run", "--project", "AspireMcp.Server"]'
- 'run': 指示 dotnet 运行项目。
- '--project AspireMcp.Server': 指定要运行的项目文件或包含项目文件的目录路径(相对于您运行命令的位置,通常是仓库根目录)。
基本使用方法
一旦服务器通过 Stdio 启动并与 MCP 客户端成功建立连接,LLM 客户端就可以通过 MCP 协议调用服务器暴露的工具。
要利用此服务器抓取网页内容,LLM 客户端会调用名为 'WebContentTool' 的工具(或其内部方法,具体取决于 MCP 客户端的实现细节),并传递一个 URL 作为参数。例如,LLM可能会向服务器发送一个 JSON-RPC 请求,调用 'WebContentTool' 的某个方法(如 'ScrapeContentAsync'),并包含待抓取的 URL:
{ "jsonrpc": "2.0", "method": "tool_call", "params": { "tool_id": "WebContentTool", "method": "ScrapeContentAsync", "parameters": ["https://example.com/some-page"] }, "id": 1 }
服务器接收到请求后,将执行 'WebContentTool' 的逻辑,抓取并清理指定 URL 的内容,并将结果作为 JSON-RPC 响应返回给客户端。
信息
分类
网页与API