项目简介
Fetch MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,旨在为大型语言模型 (LLM) 应用提供便捷的外部数据访问能力。它主要提供两个工具,允许 LLM 客户端通过标准化的 MCP 协议,获取指定 URL 的网页内容以及 YouTube 视频的转录文本,从而增强 LLM 的上下文理解和信息获取能力。
主要功能点
- 网页内容抓取 (fetch_url):
- 根据提供的 URL 抓取网页内容,并将其转换为 Markdown 格式 (默认) 或原始 HTML 格式。
- 支持设置返回内容的最大长度和起始索引,方便处理长网页内容。
- YouTube 视频转录抓取 (fetch_youtube_transcript):
- 抓取指定 YouTube 视频的转录文本,并以时间戳格式返回,方便 LLM 理解视频内容的时间线。
- 支持多种传输协议:
- 默认支持 Stdio 协议,方便本地快速部署和调试。
- 可选支持 SSE (Server-Sent Events) 协议,通过 HTTP 提供服务,适用于需要通过网络连接的场景。
安装步骤
由于该项目基于 Node.js 和 npm,您无需手动下载和安装,只需确保您的环境中已安装 Node.js 和 npm,然后使用 'npx' 命令即可直接运行。
服务器配置
MCP 客户端需要配置以下信息才能连接到 Fetch MCP Server。配置信息为 JSON 格式,请根据您选择的运行模式进行配置。
1. Stdio 模式 (默认)
适用于本地开发和快速测试,MCP 服务器通过标准输入输出与客户端通信。
{ "serverName": "fetch-mcp", "command": "npx", "args": ["-y", "fetch-mcp"] }
参数注释:
- 'serverName': MCP 服务器的名称,可以自定义。
- 'command': 运行 MCP 服务器的命令,这里使用 'npx' 直接执行 'fetch-mcp' 包。
- 'args': 传递给 'npx' 命令的参数,'["-y", "fetch-mcp"]' 表示安装并运行 'fetch-mcp' 包。
2. SSE 模式
适用于需要通过网络连接的场景,MCP 服务器通过 HTTP SSE 协议与客户端通信。
{ "serverName": "fetch-mcp-sse", "command": "npx", "args": ["-y", "fetch-mcp", "--sse"], "transport": { "type": "sse", "endpoint": "http://localhost:3000/sse", "messageEndpoint": "http://localhost:3000/messages" } }
参数注释:
- 'serverName': MCP 服务器的名称,可以自定义。
- 'command': 运行 MCP 服务器的命令,这里使用 'npx' 直接执行 'fetch-mcp' 包。
- 'args': 传递给 'npx' 命令的参数,'["-y", "fetch-mcp", "--sse"]' 表示安装并以 SSE 模式运行 'fetch-mcp' 包。
- 'transport': 指定传输协议为 SSE。
- 'type': 传输类型,设置为 '"sse"'。
- 'endpoint': SSE 连接端点,MCP 客户端需要连接到此 URL 建立 SSE 连接。
- 'messageEndpoint': 消息发送端点,MCP 客户端通过 POST 请求向此 URL 发送消息。
注意: SSE 模式默认监听 'http://localhost:3000' 端口,您可以通过设置环境变量 'PORT' 来自定义端口。
基本使用方法
配置完成后,MCP 客户端可以通过 MCP 协议调用 Fetch MCP Server 提供的工具。
示例:调用 'fetch_url' 工具
假设您正在使用支持 MCP 协议的 LLM 客户端,您可以使用如下方式调用 'fetch_url' 工具来获取 'https://example.com' 的网页内容:
{ "jsonrpc": "2.0", "method": "tool_call", "params": { "tool_name": "fetch_url", "tool_arguments": { "url": "https://example.com" } }, "id": "unique_request_id" }
服务器将返回包含网页内容的 JSON-RPC 响应。
示例:调用 'fetch_youtube_transcript' 工具
调用 'fetch_youtube_transcript' 工具获取 YouTube 视频转录:
{ "jsonrpc": "2.0", "method": "tool_call", "params": { "tool_name": "fetch_youtube_transcript", "tool_arguments": { "url": "https://www.youtube.com/watch?v=xxxxxxxxxxx" // 替换为实际的 YouTube 视频 URL } }, "id": "another_unique_request_id" }
服务器将返回包含 YouTube 视频转录文本的 JSON-RPC 响应。
请参考 Model Context Protocol (MCP) 的官方文档和您使用的 LLM 客户端的文档,了解更详细的 MCP 协议和工具调用方法。
信息
分类
网页与API