AI

使用 Bright Data 的 Web MCP 搭配 Pi Agent

本教程将带你完成将 Pi Agent 连接到 Bright Data 的 Web MCP 服务器的过程,使其在生成代码之前能够搜索网页并抓取实时数据。
3 分钟阅读
搭配 Web MCP 的 Pi Agent

在本教程中,你将学习:

  • Pi Agent 是什么,以及为什么它作为一个极简但强大的基于终端的编码代理而脱颖而出。
  • 将其连接到实时网页数据如何能显著扩展其能力。
  • 如何将 Pi Agent 与 Bright Data 的 Web MCP 服务器 集成,为其提供实时搜索和抓取能力。

让我们开始吧!

什么是 Pi Agent?

Pi 的主页

Pi Agent 是由 Mario Zechner(libGDX 游戏框架的创建者)构建的基于终端的编码代理。与大多数自带数十种内置功能的编码代理不同,Pi 采取了一种刻意的极简方法。Pi Agent 是由 Mario Zechner(libGDX 游戏框架的创建者)构建的基于终端的编码代理。与大多数自带数十种内置功能的编码代理不同,Pi 采取了一种刻意的极简方法。

你可以通过 npm 全局安装它:

npm install -g @mariozechner/pi-coding-agent

开箱即用,它为模型提供四个工具:
read:用于读取文件和目录
write:用于创建和编辑文件
edit:用于对现有文件进行有针对性的编辑
bash:用于执行 shell 命令

其他一切都是可选启用的。你可以通过 TypeScript 扩展、技能以及作为包捆绑并可通过 npm 或 git 安装的提示模板来扩展 Pi。这意味着 Pi 会适配你的工作流,而不是强迫你进入某一种工作流。

Pi 支持广泛的模型提供商,包括 Anthropic、OpenAI、Google、Mistral、Groq 等。它也以四种模式运行:

  • Interactive:用于对话式终端会话
  • Print/JSON:用于脚本编写的结构化输出
  • RPC:通过 stdin/stdout 进行进程集成
  • SDK:用于将 Pi 直接嵌入到你自己的应用程序中

为什么 Pi 需要 Web 访问

Pi 开箱即用就是一个能力很强的编码代理,但它的知识仅限于底层模型训练时所包含的内容。这意味着它无法查找某个库最新的 API 变更、获取当前文档,或从网页拉取实时数据。对于在快速演进生态中工作的开发者来说,这是一个真实的限制。

将 Pi 连接到实时网页数据会改变这一点。Pi 不再依赖可能过时的知识,而是可以在生成代码之前搜索当前信息,并抓取它所需的确切页面。

启用 Web 访问后,Pi 可以:

  • 获取任何库或框架的最新文档
  • 搜索最新的代码示例和最佳实践
  • 从任何公共网页抓取结构化内容
  • 将其代码生成建立在真实、当前的信息之上

什么是 Bright Data 的 Web MCP?

Bright Data 是一个网页数据平台,提供用于大规模收集和提取网页数据的工具。它的 Web MCP 服务器将这些能力作为工具暴露出来,任何兼容 MCP 的代理都可以直接在对话中使用。

Web MCP 服务器为你的代理提供一系列强大的网页交互工具,包括:

  • search_engine:用于查询网页并检索包含标题、URL 和摘要的排序结果
  • search_engine_batch:用于在单个请求中运行多个搜索查询
  • scrape_as_markdown:用于获取任何公共网页并将其内容以干净、结构化的 Markdown 返回
  • scrape_batch:用于在单个请求中抓取多个 URL
  • discover:用于基于主题或种子 URL 查找相关 URL

这些工具共同为 Pi 提供了完整可用的网页研究与数据提取能力。该代理可以搜索所需内容,识别最相关的来源,抓取它,并使用提取的内容来指导其代码生成。

要开始使用 Bright Data 的 Web MCP,你需要一个 Bright Data 账号和一个 API key。

MCP 桥接:pi-mcp-adapter

Pi 并不自带 MCP 支持,这是一个刻意的设计决策。Pi 的创建者 Mario Zechner 认为,对于一个极简代理来说,MCP 工具定义过于消耗 token。像 Playwright MCP 这样的热门 MCP 服务器暴露了 21 个工具并消耗 13.7k tokens,而 Chrome DevTools MCP 暴露了 26 个工具并消耗 18k tokens。连接几个服务器就可能在对话开始之前消耗掉你上下文窗口的很大一部分。

社区给出的回应是 pi-mcp-adapter,这是一个 Pi 扩展,通过暴露一个成本约 200 tokens 的单一代理工具来解决该问题,而不是预先加载每一个 MCP 工具定义。代理按需发现并调用单个工具,MCP 服务器也只在需要时才启动。

该适配器会自动读取标准 MCP 配置文件,因此你配置的任何 MCP 服务器都会立即对 Pi 可用。它还在 Pi 内提供了一个交互式的 /mcp 面板,你可以在其中查看已连接的服务器、检查连接状态,并实时管理你的工具。

安装它只需要一条命令:

pi install npm:pi-mcp-adapter

如何将 Pi Agent 连接到 Bright Data 的 Web MCP

先决条件

在开始之前,请确保你具备以下内容:

  • 你的机器上已安装 Node.js 18 或更高版本
  • 一个带有 API key 的 Bright Data 账号。你可以在 Bright Data 注册。
  • 来自 Pi 支持的任意模型提供商的有效 API key,例如 Anthropic、OpenAI、Mistral 或 Google

第 1 步:安装 Pi Agent

打开终端,导航到你的项目文件夹,然后运行:

npm install -g @mariozechner/pi-coding-agent

通过运行以下命令验证安装:

pi --version

第 2 步:安装 pi-mcp-adapter

在安装 Pi 后,添加 MCP 适配器扩展:

pi install npm:pi-mcp-adapter

第 3 步:获取你的 Bright Data API key

登录你的 [Bright Data 账号]() 并进入你的控制面板。点击 Settings,然后点击 Users and API Keys 打开 API 控制面板,在那里你可以查看并复制你的 API key。

或者,如果你在主控制面板向下滚动,你会找到一个 Quickstart 部分,它会直接显示你的 API key,你可以无需通过设置导航即可复制。

第 4 步:配置 .mcp.json 文件

在你的项目文件夹中,创建一个名为 .mcp.json 的文件。该文件告诉 Pi 要连接哪些 MCP 服务器以及如何对它们进行身份验证。添加以下配置:

{
  "mcpServers": {
    "brightdata": {
      "command": "npx",
      "args": ["-y", "@brightdata/mcp"],
      "env": {
        "API_TOKEN": "YOUR_BRIGHT_DATA_API_KEY"
      }
    }
  }

}

将 YOUR_BRIGHT_DATA_API_KEY 替换为你从 Bright Data 控制面板复制的 API key。command 字段告诉适配器使用 npx 运行 Bright Data MCP 服务器,因此无需单独安装。

服务器将在 Pi 第一次连接到它时自动下载并执行。

第 5 步:连接到模型提供商

通过在终端中运行以下命令启动 Pi:
pi

Pi 运行后,你将看到主终端界面,其中 pi-mcp-adapter 会列在 Extensions 下。

Pi 界面

输入 /login 以使用你偏好的模型提供商进行身份验证。Pi 会先让你选择一种认证方式:订阅或 API key。
Pi 界面

选择 Use an API key,然后从列表中选择你的提供商。Pi 支持广泛的提供商,包括 Anthropic、OpenAI、Google Gemini、Mistral、DeepSeek 等。
可用提供商

在你选择提供商并粘贴 API key 后,Pi 会自动保存你的凭据。你在未来的会话中无需重复此步骤。输入 /model 打开模型选择面板并选择你想使用的模型。

模型选择面板

一旦你选择了模型,你会在终端右下角看到它显示出来。Pi 现在已准备好接受提示。

第 6 步:验证连接

在 Pi 运行时,输入 /mcp 打开 MCP 面板。你将看到 Bright Data 服务器列在其中。此时,它可能显示 0/5,表示连接尚未建立。
Pi 界面

使用方向键高亮 Bright Data 服务器并按 Ctrl+R 重新连接。成功连接后,你的终端底部将显示 MCP: 1/1 servers,确认 Bright Data 已上线并可用。

Pi 界面

按 Esc 关闭面板,你就可以运行你的第一个任务了。

第 7 步:运行一个真实任务

一切连接完成后,你现在可以给 Pi 一个利用 Bright Data 网页工具的提示。在 Pi 中输入以下提示:

Search the web for the official axios npm documentation, scrape the page, and generate a working JavaScript example that makes a GET request with error handling. Save it as axios-example.js
输出

Pi 将立即调用 brightdata_search_engine 来搜索网页,并返回来自官方 axios 文档的带链接和描述的排序结果列表。
Pi 代理搜索网页

一旦它识别出最相关的页面,Pi 会调用 brightdata_scrape_as_markdown 来提取 axios 文档页面的完整内容。
Pi 代理工作中

随后 Pi 会抓取额外页面,以获得官方 axios 文档中记录的错误处理模式的完整图景。
Pi 代理

在文档被完整提取后,Pi 会生成一个全面的 axios-example.js 文件,并确认所有已完成的内容。
Pi 的结果

第 8 步:查看输出

当 Pi 完成任务后,你会在项目文件夹中找到 axios-example.js。该文件包含六个完整示例,这些示例直接来自 Pi 抓取的官方 axios 文档。
以下是文件中的一个关键示例,展示了带有全面错误处理的 GET 请求:

async function example3AsyncAwaitGet() {
  try {
    const response = await axios.get('https://jsonplaceholder.typicode.com/posts/1');
    console.log('Status Code:', response.status);
    console.log('Post Title:', response.data.title);
    console.log('Post Body:', response.data.body);
  } catch (error) {
    if (error.response) {
      console.error('Status Code:', error.response.status);
      console.error('Error Data:', error.response.data);
    } else if (error.request) {
      console.error('No response received from server');
    } else {
      console.error('Request setup error:', error.message);
    }
  }
}

To run the file, install axios and execute it with Node.js:
npm install axios
node axios-example.js

总结

在本教程中,你已经看到如何通过将 Pi Agent 连接到 Bright Data 的 Web MCP 服务器,为其扩展实时 Web 访问能力。通过安装 pi-mcp-adapter 并配置一个简单的 .mcp.json 文件,你让 Pi 具备了在生成代码之前搜索网页并抓取实时文档的能力,而且全程无需离开终端。

这种组合之所以效果很好,正是因为两种工具的设计方式。Pi 保持极简,让你只添加你需要的内容,而 Bright Data 的 Web MCP 提供可靠、结构化的网页数据,代理可以立即使用。结果就是一个编码代理:它生成的代码以当前、真实世界的信息为依据,而不是仅仅依赖模型已经知道的内容。

如果你想进一步探索,Bright Data 提供的网页数据工具范围要比这里涵盖的广泛得多。你可以访问 Bright Data 文档 了解更多。

支持支付宝等多种支付方式

Arindam Majumder

AI 内容创作者

Arindam Majumder 是一名开发者推广专员、YouTube博主和技术作家,专注于将大语言模型 (LLM)、智能体工作流及 AI 内容讲解得简单易懂,拥有超过5000名关注者。

Expertise
RAG(检索增强生成) AI 智能体 Python