项目简介
本仓库实现了一个简单的 MCP (Model Context Protocol) 服务器,专注于提供网页内容抓取功能。通过定义和注册 "extract-web-page-content" 工具,使得支持 MCP 协议的 LLM 客户端能够远程调用此工具,并获取指定网页的文本内容。
主要功能点
- 网页内容抓取工具: 提供 'extract-web-page-content' 工具,允许 LLM 客户端通过提供 URL,获取网页去除 HTML 标签后的纯文本内容。
- 基于 MCP 协议: 使用 'fastmcp' 库构建,实现了基本的 MCP 服务器框架,能够响应客户端的工具调用请求。
- 标准 Stdio 传输: 默认使用标准输入输出 (stdio) 作为 MCP 服务器的传输协议,方便快速部署和集成。
安装步骤
- 环境准备: 确保已安装 Python 3.7 或更高版本。
- 安装依赖: 使用 pip 安装项目依赖库:
pip install fastmcp beautifulsoup4 httpx
服务器配置
MCP 客户端需要配置以下信息以连接到此 MCP 服务器。以下是 JSON 格式的配置示例,请根据您的实际情况进行调整。
{ "serverName": "mcp-scraper-engine", // MCP 服务器名称,可自定义 "command": "python", // 启动服务器的命令,这里使用 python 解释器 "args": ["mcp-server.py"], // 启动命令的参数,指定运行 mcp-server.py 文件 "transport": "stdio" // MCP 服务器使用的传输协议,这里为 stdio }
配置参数说明:
- 'serverName': 为服务器指定一个名称,用于客户端识别和管理连接。
- 'command': 启动 MCP 服务器进程的命令。通常是 Python 解释器的路径 ('python' 或 'python3')。
- 'args': 传递给启动命令的参数列表。这里指定了要运行的 Python 脚本 'mcp-server.py'。
- 'transport': 指定 MCP 服务器使用的传输协议。本示例使用 'stdio',表示通过标准输入输出进行通信。
注意: 请确保 'mcp-server.py' 文件与上述配置中的 'args' 参数指向的文件路径一致,并且 Python 环境能够正确执行该脚本。
基本使用方法
-
启动 MCP 服务器: 在安装好依赖并完成配置后,在仓库目录下运行 'mcp-server.py' 脚本即可启动 MCP 服务器。
python mcp-server.py服务器启动后,将监听标准输入,等待 MCP 客户端的请求。
-
配置 MCP 客户端: 在您的 LLM 客户端中,根据上述提供的服务器配置信息,添加一个新的 MCP 服务器连接。确保客户端配置的 'command' 和 'args' 能够正确启动 'mcp-server.py' 脚本。
-
调用工具: 当客户端成功连接到 MCP 服务器后,即可通过 MCP 协议调用服务器提供的 'extract-web-page-content' 工具。客户端需要提供目标网页的 URL 作为工具的参数。服务器将返回抓取到的网页文本内容。
示例工具调用 (假设使用 JSON-RPC 客户端):
客户端发送如下 JSON-RPC 请求:
{ "jsonrpc": "2.0", "method": "call_tool", "params": { "tool_name": "extract-web-page-content", "tool_arguments": { "url": "https://www.example.com" } }, "id": 1 }
服务器收到请求后,将执行 'extract-web-page-content' 工具,抓取 'https://www.example.com' 的内容,并将结果以 JSON-RPC 响应返回给客户端。
{ "jsonrpc": "2.0", "result": "Example Domain This domain is for use in illustrative examples in documents. ...", "id": 1 }
注意事项
- 本服务器实现非常基础,仅包含一个网页抓取工具作为示例。
- 错误处理较为简单,实际应用中可能需要更完善的错误处理机制。
- 'fastmcp' 库可能需要进一步学习以进行更复杂的 MCP 服务器开发。
信息
分类
网页与API