article
README
🚀 mcp-server-fetch-python
这是一个用于抓取和转换网络内容到各种格式的MCP服务器。它提供了全面的工具,可从网页中提取内容,支持使用JavaScript渲染的内容和媒体文件,为网络内容处理提供了便利。
✨ 主要特性
工具
该服务器提供了四个专业工具,满足不同的网络内容处理需求:
- get-raw-text:
- 功能:直接从URL提取原始文本内容,无需浏览器渲染。
- 参数:
url:目标网页的URL(必需)。
- 适用场景:最适合处理结构化数据格式或需要快速访问的情况。
- get-rendered-html:
- 功能:使用无头浏览器获取完全渲染的HTML内容。
- 参数:
url:目标网页的URL(必需)。
- 适用场景:对于现代网络应用和SPA,此工具必不可少。
- get-markdown:
- 功能:将网页内容转换为格式美观的Markdown。
- 参数:
url:目标网页的URL(必需)。
- 优势:在保持结构元素的同时提供干净、可读的文本输出。
- get-markdown-from-media:
- 功能:对媒体文件进行AI驱动的内容提取。
- 参数:
url:目标媒体文件的URL(图像、视频)(必需)。
- 技术支持:利用计算机视觉和OCR技术进行内容分析。
- 注意事项:需要设置有效的OPENAI_API_KEY环境变量;如果未设置API密钥或处理媒体文件时出现问题,将返回错误消息。
🚀 快速开始
使用方法
Claude Desktop
要在Claude Desktop上使用,请添加服务器配置:
- 在MacOS上:
~/Library/Application\ Support/Claude/claude_desktop_config.json - 在Windows上:
%APPDATA%/Claude/claude_desktop_config.json
"mcpServers": {
"mcp-server-fetch-python": {
"command": "uvx",
"args": [
"mcp-server-fetch-python"
]
}
}
环境变量
可以配置以下环境变量:
- OPENAI_API_KEY:用于
get-markdown-from-media工具,需要设置有效的OpenAI API密钥。 - PYTHONIOENCODING:设置为"utf-8"以解决输出中的字符编码问题。
- MODEL_NAME:指定使用的模型名称,默认为"gpt-4o"。
"mcpServers": {
"mcp-server-fetch-python": {
"command": "uvx",
"args": [
"mcp-server-fetch-python"
],
"env": {
"OPENAI_API_KEY": "sk-****",
"PYTHONIOENCODING": "utf-8",
"MODEL_NAME": "gpt-4o",
}
}
}
本地安装
或者,您可以本地安装并运行该服务器:
git clone https://github.com/tatn/mcp-server-fetch-python.git
cd mcp-server-fetch-python
uv sync
uv build
然后将以下配置添加到Claude Desktop配置文件中:
"mcpServers": {
"mcp-server-fetch-python": {
"command": "uv",
"args": [
"--directory",
"path\\to\\mcp-server-fetch-python", # 请替换为实际的克隆仓库路径
"run",
"mcp-server-fetch-python"
]
}
}
📚 详细文档
开发
调试
您可以使用npx启动MCP Inspector:
npx @modelcontextprotocol/inspector uvx mcp-server-fetch-python
npx @modelcontextprotocol/inspector uv --directory path\\to\\mcp-server-fetch-python run mcp-server-fetch-python
Scan to join WeChat group