项目简介:

Outscraper MCP 服务端是一个基于 Model Context Protocol (MCP) 构建的后端应用,它将 Outscraper 强大的数据提取能力封装为 LLM 客户端可以调用的工具。通过这个服务端,你的 LLM 助手可以直接搜索 Google Maps、提取评论/照片、获取路线、进行 Google 网页/新闻搜索,以及提取网站联系信息。

主要功能点:

  • Google Maps 搜索: 按关键词搜索商家、地点,获取详细信息(地址、评分、联系方式等)。
  • Google Maps 评论提取: 从指定地点提取用户评论。
  • Google Maps 照片提取: 获取指定地点的照片及其元数据。
  • Google Maps 路线规划: 计算两点之间的路线(支持多种交通模式)。
  • Google 网页搜索: 执行通用 Google 搜索,获取结构化结果。
  • Google 新闻搜索: 搜索 Google 新闻,支持按时间过滤。
  • Google Play 评论提取: 提取 Google Play 商店应用的评论。
  • 邮箱与联系方式提取: 从指定域名提取邮箱、电话和社交媒体链接。

安装步骤:

  1. 确保你已安装 Python 3.10 或更高版本。
  2. 推荐安装 'uv' 工具(具体安装方法请查阅 'uv' 官方文档),或者你可以使用 'pip'。
  3. 克隆仓库:'git clone https://github.com/jayozer/outscraper-mcp.git'
  4. 进入仓库目录:'cd outscraper-mcp'
  5. 安装依赖:如果你使用了 'uv',运行 'uv sync';如果使用 'pip',运行 'pip install -e .'

服务器配置:

MCP 服务器需要你的 Outscraper API 密钥才能工作。请访问 Outscraper 官网 获取你的 API 密钥。

获取 API 密钥后,你需要将其配置为环境变量 'OUTSCRAPER_API_KEY' 或写入到项目根目录下的 '.env' 文件中。

对于支持 MCP 协议的 LLM 客户端(如 Claude Desktop、Zed Editor 等),你需要将 Outscraper MCP 服务端添加到客户端的 MCP 服务器配置列表中。配置通常是一个 JSON 结构,包含服务端的启动命令。具体配置方式请严格参照你使用的 MCP 客户端的官方文档。以下是一个概念性的配置示例:

  • 'server_name': 给这个服务器起一个在客户端中显示的名称,例如 "outscraper"。
  • 'command': 启动服务器的命令,例如 '"outscraper-mcp"' (如果安装时使其可执行并添加到PATH) 或 '"python -m outscraper_mcp"'。
  • 'args': 启动命令的参数列表,通常可以留空,使用默认的 Stdio 传输协议。
  • 'env': 可选的字典,用于设置启动服务器进程时的环境变量。强烈建议在这里设置 'OUTSCRAPER_API_KEY' 变量,值设为你的 API 密钥。

客户端会使用这些信息来启动服务器进程并与其建立连接,然后发现并展示 Outscraper MCP 服务端提供的工具。

基本使用方法:

  1. 启动服务器:
    • 最简单的方式是使用 Stdio 传输协议(这也是 MCP 的常见默认配置)。在命令行中,进入项目目录,运行:
      python -m outscraper_mcp
      或 (如果已正确安装并添加到PATH):
      outscraper-mcp
    • 如果你需要使用 HTTP 等其他传输协议,需要创建一个简单的 Python 脚本来启动,例如:
      # run_http_server.py
      from outscraper_mcp import mcp
      
      if __name__ == "__main__":
          mcp.run(transport="streamable-http", host="127.0.0.1", port=8000)
      然后运行 'python run_http_server.py'。注意,使用非 Stdio 协议需要你的 MCP 客户端支持并正确配置。
  2. 连接客户端: 在你的 MCP 客户端中按照其文档说明添加并启用 Outscraper MCP 服务端配置。客户端会自动尝试连接到已启动的服务端。
  3. 调用工具: 连接成功后,LLM 客户端将能够识别出 Outscraper MCP 服务端提供的工具。你就可以在客户端的交互界面中,通过自然语言描述需求来让 LLM 调用这些工具,例如“帮我查找旧金山的咖啡馆,列出前10个并包含它们的地址和评分”、“提取 Facebook 应用在 Google Play 上的最新评论”等。LLM 会根据你的请求选择并调用合适的工具。

信息

分类

网页与API