🎯 Trình duyệt đám mây tùy chỉnh, chống phát hiện được hỗ trợ bởi Chromium tự phát triển, thiết kế dành cho trình thu thập dữ liệu webtác nhân AI. 👉Dùng thử ngay
Quay lại blog

Cung cấp cho LangChain Agents 21 công cụ web trực tiếp với Scrapeless MCP.

Ava Wilson
Ava Wilson

Expert in Web Scraping Technologies

10-Jun-2026

Những điểm chính:

  • Các tác nhân LangChain có 21 công cụ web trực tiếp từ một cấu hình khách hàng. Gói langchain-mcp-adapters kết nối ứng dụng LangChain tới máy chủ Scrapeless MCP và trả về toàn bộ bề mặt công cụ — điều khiển trình duyệt, thu thập trang, Tìm kiếm Google và Xu hướng — dưới dạng các đối tượng StructuredTool sẵn sàng kết nối.
  • Không cần Node trên đường dẫn được lưu trữ. Chỉ cần trỏ khách hàng tới https://api.scrapeless.com/mcp qua HTTP có thể truyền được với x-api-token của bạn; đường dẫn stdio (npx -y scrapeless-mcp-server) là bề mặt giống nhau cho các thiết lập cục bộ.
  • Các công cụ hoạt động trước khi có mô hình nào tham gia. get_tools() liệt kê chúng và ainvoke() thực thi chúng trực tiếp — scrape_markdown trên một URL trực tiếp trả về trang dưới dạng markdown — vì vậy việc kết nối có thể được thử nghiệm mà không cần khóa LLM.
  • Tên khác nhau tùy theo phương tiện truyền tải. Điểm cuối được lưu trữ phục vụ tên gọi trần (browser_goto, scrape_markdown, google_search); máy chủ stdio gọi chúng là scrapeless_*. Cả 21 công cụ đều như nhau.
  • Từ công cụ tới tác nhân là một hàm dựng. Liên kết các công cụ được trả về với bất kỳ mô hình trò chuyện nào của LangChain và tác nhân có thể tìm kiếm, duyệt và thu thập web trực tiếp trong vòng lặp lý luận của nó.
  • Miễn phí để bắt đầu. Các tài khoản Scrapeless mới bao gồm tín dụng dùng thử miễn phí — đăng ký tại app.scrapeless.com.

Những gì bạn có thể làm với nó

  • Các tác nhân nghiên cứu có khả năng đọc web trực tiếp. google_search để khám phá, scrape_markdown để có văn bản trang sạch — nửa thu hồi của vòng lặp tác nhân, mà không cần xây dựng một trình thu thập.
  • Tác nhân điều khiển trình duyệt. Mười sáu công cụ browser_* (tạo, truy cập, nhấp, gõ, cuộn, chụp ảnh màn hình, chụp ảnh, chờ) cung cấp cho một tác nhân một phiên trình duyệt chống phát hiện thực tế để hoạt động.
  • Giám sát thị trường và xu hướng. google_trends cộng với việc thu thập theo lịch trình biến một đường ống LangChain thành một dịch vụ giám sát.
  • RAG dựa trên công cụ. Fetch các trang dưới dạng markdown theo yêu cầu thay vì lập chỉ mục trước mọi thứ, và để tác nhân tự quyết định đọc gì.
  • Một xác thực cho mọi thứ. Khóa API Scrapeless giống nhau điều khiển các tác nhân API thu thập điều khiển bề mặt công cụ MCP.

Tại sao lại sử dụng Máy chủ Scrapeless MCP

MCP (Giao thức ngữ cảnh mô hình) là giao diện chuẩn để cung cấp công cụ cho các tác nhân, và LangChain sử dụng nó thông qua gói bộ điều hợp chính thức. Ở phía bên kia của giao thức đó, máy chủ Scrapeless MCP phơi bày hạ tầng thu thập dữ liệu dưới dạng 21 công cụ có kiểu: các phiên trình duyệt đám mây trên Trình duyệt thu thập, thu thập trang một lần sang HTML, markdown, hoặc ảnh chụp màn hình, và Tìm kiếm và Xu hướng Google. Tác nhân nhận được các khả năng; việc hiển thị, chống phát hiện, và định tuyến proxy vẫn ở phía máy chủ.

Sự kết hợp này quan trọng vì các tác nhân LangChain chỉ hữu ích bằng công cụ của chúng. Một mô hình có khả năng lập kế hoạch nhưng không thể lấy một trang trực tiếp sẽ trả lời từ dữ liệu huấn luyện; cùng mô hình đó với bề mặt công cụ này sẽ đọc web mà nó đang lý luận về.


Điều kiện tiên quyết

  • Python 3.10+ và một môi trường ảo.
  • Một tài khoản Scrapeless và khóa API — đăng ký tại app.scrapeless.com.
  • Đối với phương tiện truyền tải stdio tùy chọn: Node.js 18+ (đường dẫn HTTP lưu trữ không cần Node).
bash Copy
export SCRAPELESS_API_KEY=your_api_token_here

Kết nối

1. Cài đặt bộ điều hợp

bash Copy
pip install langchain-mcp-adapters langchain-core

2. Cấu hình khách hàng và xác minh số lượng công cụ

Điểm cuối được lưu trữ là đường dẫn nhanh nhất — thuần HTTPS, được xác thực bằng tiêu đề x-api-token:

python Copy
# handshake.py — kết nối LangChain tới máy chủ Scrapeless MCP, liệt kê các công cụ
import asyncio
import os

from langchain_mcp_adapters.client import MultiServerMCPClient


async def main():
    client = MultiServerMCPClient({
        "scrapeless": {
            "transport": "streamable_http",
            "url": "https://api.scrapeless.com/mcp",
            "headers": {"x-api-token": os.environ["SCRAPELESS_API_KEY"]},
        }
    })
    tools = await client.get_tools()
    names = sorted(t.name for t in tools)
    print(f"số công cụ: {len(names)}")
    print("tên:", ", ".join(names))

asyncio.run(main())

Một cuộc bắt tay chính xác sẽ in ra 21 công cụ:

browser_click, browser_close, browser_create, browser_get_html, browser_get_text, browser_go_back, browser_go_forward, browser_goto, browser_press_key, browser_screenshot, browser_scroll, browser_scroll_to, browser_snapshot, browser_type, browser_wait, browser_wait_for, google_search, google_trends, scrape_html, scrape_markdown, scrape_screenshot

3. Hoặc chạy máy chủ cục bộ qua stdio

Cùng với các tàu chiến bề mặt giống như một gói npm cho các cài đặt cục bộ — hình dạng cấu hình MCP tiêu chuẩn, với khóa được truyền dưới dạng biến môi trường:

json Copy
{
  "scrapeless": {
    "command": "npx",
    "args": ["-y", "scrapeless-mcp-server"],
    "transport": "stdio",
    "env": { "SCRAPELESS_KEY": "your_api_token_here" }
  }
}

Một sự khác biệt ở cấp độ vận chuyển mà bạn có thể mong đợi: máy chủ stdio đặt tên cho các công cụ của nó bằng cách sử dụng tiền tố scrapeless_*, trong khi điểm cuối được lưu trữ cung cấp chúng mà không có tiền tố. Mã mà tìm kiếm công cụ theo tên nên khớp với hậu tố.

Nhận khóa API của bạn trên kế hoạch miễn phí: app.scrapeless.com


Cách bạn thực sự sử dụng điều này: gọi một công cụ, sau đó giao cho một đại lý

Các đối tượng được trả về là các StructuredTool bình thường của LangChain, có nghĩa là chúng chạy trực tiếp — không cần mô hình. Bằng chứng ngắn nhất có thể rằng việc kết nối hoạt động từ đầu đến cuối:

python Copy
# invoke_tool.py — thực thi một công cụ MCP trực tiếp qua bộ chuyển đổi
import asyncio
import os

from langchain_mcp_adapters.client import MultiServerMCPClient


async def main():
    client = MultiServerMCPClient({
        "scrapeless": {
            "transport": "streamable_http",
            "url": "https://api.scrapeless.com/mcp",
            "headers": {"x-api-token": os.environ["SCRAPELESS_API_KEY"]},
        }
    })
    tools = {t.name: t for t in await client.get_tools()}
    result = await tools["scrape_markdown"].ainvoke(
        {"url": "https://www.scrapeless.com/vi/blog/best-llm-scrapers-2026"}
    )
    text = result if isinstance(result, str) else str(result)
    print(f"scrape_markdown trả về {len(text):,} ký tự markdown")

asyncio.run(main())

Trong một lần chạy trực tiếp, điều này trả về toàn bộ bài viết dưới dạng markdown — hàng chục ngàn ký tự văn bản trang sạch từ một cuộc gọi công cụ.

Gắn kết các công cụ với một đại lý thì giống như một bộ tạo mà nó luôn là trong LangChain — mang theo bất kỳ mô hình trò chuyện nào mà ngăn xếp của bạn sử dụng (một khóa API mô hình là yêu cầu tiên quyết mà hướng dẫn này không đề cập đến):

python Copy
# agent.py — gắn kết các công cụ MCP vào một đại lý LangChain (cần có một khóa API mô hình)
from langchain.agents import create_agent

agent = create_agent(model, tools)  # `tools` từ client.get_tools(), `model` = mô hình trò chuyện của bạn
result = agent.invoke({
    "messages": [{"role": "user", "content": "Tìm kiếm Scrapeless và tóm tắt kết quả hàng đầu."}]
})

Từ quan điểm của đại lý, các công cụ chỉ là những hàm mà nó có thể gọi: nó lập kế hoạch, chọn google_search, đọc, chọn scrape_markdown, đọc lại, và trả lời từ nội dung trực tiếp.


Bề mặt công cụ Scrapeless MCP

Nhóm Công cụ Những gì chúng làm
Phiên trình duyệt browser_create, browser_goto, browser_click, browser_type, browser_press_key, browser_scroll, browser_scroll_to, browser_go_back, browser_go_forward, browser_wait, browser_wait_for, browser_snapshot, browser_get_html, browser_get_text, browser_screenshot, browser_close Lái một trình duyệt chống phát hiện trên đám mây từng bước — các phiên giữ nguyên qua các cuộc gọi
Quét trang scrape_html, scrape_markdown, scrape_screenshot Lấy bất kỳ URL nào chỉ trong một lần là HTML thô, markdown sạch, hoặc một hình ảnh
Dữ liệu Google google_search, google_trends Kết quả tìm kiếm có cấu trúc và dữ liệu xu hướng

Những gì bạn nhận được

Kết quả công cụ đến dưới dạng các phần nội dung MCP mà bộ chuyển đổi đưa ra cho LangChain — đối với các công cụ quét, tải trọng là chính trang. Cuộc gọi scrape_markdown ở trên trả lại bài viết đã được hiển thị dưới dạng văn bản markdown sẵn sàng để cung cấp cho một bộ phân tách, một công cụ tóm tắt, hoặc cửa sổ ngữ cảnh của chính đại lý. Các công cụ trình duyệt trả lại quan sát của chúng (bản chụp, văn bản đã trích xuất, ảnh chụp màn hình) theo cách tương tự, điều này giúp việc duyệt nhiều bước trong vòng lặp đại lý trở nên thực tiễn.


Kết luận: một khối cấu hình, một đại lý có khả năng truy cập web

Sự tích hợp thực sự nhỏ: cài đặt bộ chuyển đổi, cung cấp MultiServerMCPClient URL được lưu trữ và mã thông báo của bạn, và get_tools() trao cho LangChain 21 khả năng web sống. Xác minh bằng số lượng công cụ, chứng minh bằng một ainvoke trực tiếp, rồi gắn danh sách đó cho đại lý của bạn. Hướng dẫn tích hợp Mastra cho thấy cùng một máy chủ được kết nối vào khung đại lý TypeScript — cùng một bề mặt, nhưng máy chủ khác.

Sẵn sàng để cung cấp cho đại lý của bạn web trực tiếp?

Tham gia cộng đồng của chúng tôi để nhận kế hoạch miễn phí và kết nối với các nhà phát triển xây dựng các đường ống đại lý: Discord · Telegram.
Đăng ký tại app.scrapeless.com để nhận tín dụng dùng thử miễn phí — bảng giá bao gồm các mức hiện tại — và hướng các tác nhân LangChain của bạn tới những trang mà họ nên đọc.


Câu hỏi thường gặp

H: Tôi có cần Node.js không?

Chỉ cần cho giao thức stdio, cái mà sinh gói npm ở chế độ cục bộ. Điểm cuối được lưu trữ https://api.scrapeless.com/mcp là HTTPS thuần túy — các ngăn xếp chỉ sử dụng Python có thể sử dụng nó mà không cần Node nào cả.

H: Làm thế nào tôi có thể xác thực?

Điểm cuối được lưu trữ yêu cầu x-api-token: <khóa của bạn> như một tiêu đề yêu cầu; máy chủ stdio đọc SCRAPELESS_KEY từ môi trường của nó. Cùng một khóa, cả hai giao thức — được tạo trên gói miễn phí tại app.scrapeless.com.

H: Làm thế nào tôi có thể xác minh rằng tích hợp thực sự đã được kết nối?

Hai kiểm tra, cả hai đều không dựa trên mô hình: get_tools() trả về 21 công cụ, và một lệnh gọi trực tiếp ainvoke của scrape_markdown trên một URL thực trả về trang dưới dạng markdown. Nếu cả hai đều vượt qua, việc liên kết tác nhân là bước cuối cùng còn lại.

H: Tại sao tên công cụ khác nhau giữa máy chủ cục bộ của tôi và điểm cuối được lưu trữ?

Gói stdio định danh tên dưới dạng scrapeless_*; điểm cuối được lưu trữ phục vụ chúng mà không cần định dạng. So khớp với hậu tố nếu mã của bạn cần hoạt động trên cả hai.

H: Tôi có thể sử dụng các công cụ mà không cần tác nhân không?

Có — chúng là các đối tượng StructuredTool và hoạt động độc lập thông qua ainvoke, điều này cũng khiến chúng có thể được sử dụng trong các chuỗi LangChain đơn giản và các nút LangGraph, không chỉ riêng các tác nhân.

H: Việc truy cập web thông qua các công cụ có hợp pháp không?

Các công cụ lấy các trang có thể truy cập công khai qua cơ sở hạ tầng Scrapeless. Quy tắc khác nhau theo từng khu vực pháp lý và điều khoản trang web — hãy xem xét các điều khoản dịch vụ của các trang mà tác nhân của bạn đọc và tham khảo ý kiến ​​cố vấn cho trường hợp sử dụng của bạn. Không bao giờ thu thập dữ liệu cá nhân được bảo vệ theo GDPR hoặc CCPA.

H: Chi phí để chạy là bao nhiêu?

Các lệnh gọi công cụ sử dụng cùng một tài khoản Scrapeless dựa trên mức sử dụng như phần còn lại của nền tảng, và các tài khoản mới bắt đầu với tín dụng dùng thử miễn phí.

Tại Scrapless, chúng tôi chỉ truy cập dữ liệu có sẵn công khai trong khi tuân thủ nghiêm ngặt các luật, quy định và chính sách bảo mật trang web hiện hành. Nội dung trong blog này chỉ nhằm mục đích trình diễn và không liên quan đến bất kỳ hoạt động bất hợp pháp hoặc vi phạm nào. Chúng tôi không đảm bảo và từ chối mọi trách nhiệm đối với việc sử dụng thông tin từ blog này hoặc các liên kết của bên thứ ba. Trước khi tham gia vào bất kỳ hoạt động cạo nào, hãy tham khảo ý kiến ​​cố vấn pháp lý của bạn và xem xét các điều khoản dịch vụ của trang web mục tiêu hoặc có được các quyền cần thiết.

Bài viết phổ biến nhất

Danh mục