网页内容抓取服务

基于Dedalus MCP框架的网页内容抓取服务,提供HTML转Markdown功能,便于LLMs处理。

  • by dedalus-labs
  • Python
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 dedalus-labs/fetch-mcp

使用说明

获取MCP服务器

使用以下组件构建的Fetch MCP服务器 Dedalus MCP框架。提供web内容获取功能,将HTML转换为markdown,以便LLM更容易使用。

特性

可用工具

获取

工具 说明
fetch_url 获取一个URL并将其内容提取为markdown
check_robots_txt 检查是否可以根据robots.txt获取URL
get_robots_txt_url 获取网站的robots.txt URL

冒烟测试

工具 说明
smoke_ping 用于测试MCP连接的简单ping

刀具参数

fetch_url

参数 类型 默认值 说明
url string 必需 要获取的URL
max_length integer 5000 要返回的最大字符数
start_index integer 0 从此字符索引开始内容
raw boolean false 获取未经降价转换的原始内容
ignore_robots_txt boolean false 忽略robots.txt限制
proxy_url string null 用于请求的代理URL

先决条件

  • Python 3.10+
  • 紫外线 包管理器
  • Dedalus API密钥

设置

  1. 克隆仓库
git clone https://github.com/dedalus-labs/fetch-mcp.git
cd fetch-mcp
  1. 安装依赖项
uv sync
  1. 配置环境变量

创建 .env 基于.env.的文件示例:

cp .env.example .env

运行服务器

cd src
python main.py

服务器将在端口8080上启动。

客户端使用情况

使用DedalusRunner

import asyncio
import os

from dotenv import load_dotenv
from dedalus_labs import AsyncDedalus, DedalusRunner

load_dotenv()


async def main():
    client = AsyncDedalus(
        api_key=os.getenv("DEDALUS_API_KEY"),
        base_url=os.getenv("DEDALUS_API_URL"),
        as_base_url=os.getenv("DEDALUS_AS_URL"),
    )
    runner = DedalusRunner(client)

    result = await runner.run(
        input="Fetch the contents of https://example.com and summarize it.",
        model="openai/gpt-5",
        mcp_servers=["issac/fetch-mcp"],
    )

    print(result.output)

if __name__ == "__main__":
    asyncio.run(main())

安全说明

注意: 此服务器可以访问本地/内部IP地址,可能存在安全风险。使用此MCP服务器时请小心,以确保不会暴露任何敏感数据。

许可证

MIT许可证-请参阅 许可证 了解详情。