मास्ट्रा एआई एजेंटों को वास्तविक समय में वेब पहुंच क्षमता सक्षम कैसे करें
Lead Scraping Automation Engineer
मुख्य बिंदु:
- मास्ट्रा एजेंट लाइव वेब के प्रति अंधे होते हैं जब तक कि आप एक उपकरण को जोड़ते नहीं हैं - MCP साफ़ तरीका है। एक मास्ट्रा
एजेंटअपने मॉडल और जो भी उपकरण आप उसे देते हैं, उस पर तर्क करता है। इसे Scrapeless MCP सर्वर की ओर इंगित करें और एजेंट लाइव गूगल सर्च, जावास्क्रिप्ट रेंडरिंग, और बिना एक भी स्क्रैपर लिखे पूर्ण एंटी-डिटेक्शन क्लाउड ब्राउज़र प्राप्त करता है। - एक
MCPClientऔरawait mcp.listTools()सब कुछ जोड़ता है। एकscrapelessसर्वर एंट्री के साथMCPClientबनाएं,await mcp.listTools()कोnew Agent({ tools })में पास करें, और एजेंट को गूगल SERP स्क्रैपर, ट्रेंड्स स्क्रैपर, HTML/Markdown/Screenshot हेल्पर, और 16 ब्राउज़र-ऑटोमेशन उपकरण प्राप्त होते हैं - सभी टाइप किए गए TypeScript उपकरणों के रूप में। - एजेंट खोजता है, रेंडर करता है, और सामान्य प्रॉम्प्ट्स से एक ब्राउज़र को संचालित करता है। एक प्राकृतिक भाषा कार्य के साथ
agent.generate(...)याagent.stream(...)को कॉल करें और मास्ट्रा सही Scrapeless उपकरण कॉल को क्रमशः तैयार करता है बजाय कि प्रशिक्षण-सीमा ज्ञान पर सीमित होने के। - रिजिडेंशियल प्रॉक्सी और एंटी-डिटेक्शन क्लाउड साइड पर संभाले जाते हैं। हर अनुरोध Scrapeless एंटी-डिटेक्शन क्लाउड ब्राउज़र के माध्यम से रूट होता है जिसमें 195+ देशों में रिजिडेंशियल प्रॉक्सी होते हैं, इसलिए एजेंट को बिना आपकी मशीन पर प्रॉक्सी या फिंगरप्रिंट सेटअप के वाणिज्यिक साइटों पर एक रेंडर की गई, उपयोगी प्रतिक्रिया मिलती है।
- SERP, स्टेटलेस स्क्रैपिंग, और ब्राउज़र ऑटोमेशन में 21 उपकरण। Scrapeless MCP सर्वर
google_search,google_trends,scrape_html/scrape_markdown/scrape_screenshot, plus 16browser_*उपकरणों को उजागर करता है - नामांकितscrapeless_<tool>जब मास्ट्रा उन्हें लोड करता है, एक सतह जिस पर एजेंट का योजनाकार प्रत्येक टर्न से खींचता है। - stdio या HTTP-स्ट्रीम करने योग्य परिवहन।
npxके साथ सर्वर को स्थानीय रूप से उत्पन्न करें, या एक हीMCPClientको स्ट्रीम करने योग्य HTTP एंडपॉइंट की ओर इंगित करें सर्वरलेस फ़ंक्शंस, दूरस्थ श्रमिकों, और CI रनर्स के लिए। - शुरू करने के लिए मुफ्त। नए Scrapeless खाते मुफ्त स्क्रैपिंग ब्राउज़र रनटाइम शामिल करते हैं - app.scrapeless.com पर साइन अप करें।
परिचय: एक TypeScript एजेंट जो अंततः लाइव वेब को पढ़ सकता है
मास्ट्रा एआई एजेंट बनाने के लिए एक ओपन-सोर्स TypeScript ढांचा है। आप एक एजेंट को एक मॉडल, निर्देशों का सेट, और उन उपकरणों के साथ परिभाषित करते हैं जिन्हें यह कॉल कर सकता है, फिर इसे अपने कोड से agent.generate(...) या agent.stream(...) के साथ संचालित करते हैं। यह एक साफ, टाइप-सुरक्षित तरीका है एजेंट को एक नोड या सर्वरलेस एप में भेजने का। जो एक मास्ट्रा एजेंट अपने आप नहीं कर सकता है वह लाइव वेब को देखना है। इसका ज्ञान मॉडल की प्रशिक्षण सीमा पर रुक जाता है और जो भी उपकरण आप स्पष्ट रूप से इसे देते हैं।
मास्ट्रा जानबूझकर उस सीमा के बारे में है: एक एजेंट की पहुंच दुनिया में ठीक उन उपकरणों के सेट के बराबर है जिन्हें आप संलग्न करते हैं। यह उपकरण परत वास्तविक समय का वेब एक्सेस जोड़ने के लिए स्थान बनाती है - और मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) इसे करने का मानक, ढांचे-स्वतंत्र तरीका है। मास्ट्रा @mastra/mcp पैकेज के माध्यम से प्रथम श्रेणी का MCP समर्थन प्रदान करता है, इसलिए कोई भी MCP सर्वर मूल, टाइप किए गए मास्ट्रा उपकरणों का सेट बन जाता है। जब तक आप एक को कनेक्ट नहीं करते, एजेंट वर्तमान SERP को खींच नहीं सकता, प्रतियोगी की कीमतों का पृष्ठ नहीं पढ़ सकता, नवीनतम चेंज-लॉगर की जांच नहीं कर सकता, या जावास्क्रिप्ट-केवल ऐप को रेंडर नहीं कर सकता।
यह पोस्ट Scrapeless MCP सर्वर को मास्ट्रा में जोड़कर उस अंतर को बंद कर देती है। एकल MCPClient एजेंट को गूगल सर्च, जावास्क्रिप्ट रेंडरिंग, और पूर्ण एंटी-डिटेक्शन क्लाउड ब्राउज़र देता है, सभी उसी प्राकृतिक-भाषा प्रॉम्प्ट्स के माध्यम से जो आप पहले से agent.generate(...) में पास करते हैं। एक अन्य MCP क्लाइंट के माध्यम से समान Scrapeless सतह के लिए, Pi एजेंट एकीकरण देखें।
आप इसके साथ क्या कर सकते हैं
- TypeScript एजेंट से लाइव SERP शोध। एजेंट से एक क्वेरी के लिए
google_searchचलाने के लिए कहें और शीर्ष परिणामों को JSON के रूप में लौटाएं, इसलिए अनुसंधान आपके एप्लिकेशन के भीतर होता है न कि एक अलग ब्राउज़र टैब में। - प्रतिस्पर्धियों और मूल्य निर्धारण का स्नैपशॉट। प्रॉम्प्ट में एक URL पास करें और एजेंट को पृष्ठ को रेंडर करने और योजनाओं के नाम, कीमतों, और सुविधाओं को एक संरचित रिकॉर्ड में निकालने दें जिसे आपका कोड स्थायी रूप से रख सकता है।
- कोड को फीड करने के लिए डॉक और चेंज-लॉगर लुकअप। एजेंट को किसी पुस्तकालय का वर्तमान डॉक या रिलीज नोट्स प्राप्त करने दें जो साफ़ मार्कडाउन के रूप में हो और रेंडर की गई पाठ के खिलाफ तर्क करे न कि एपीआई की पुरानी मेमोरी के खिलाफ।
- बाजार और रुझान जांचें।
google_trendsका उपयोग करके एक लक्ष्य क्षेत्र में एक विषय के लिए रुचि संकेत प्राप्त करें, फिर विशेषता प्रतिलिपि, सामग्री योजनाएँ, या प्रयोग विचारों को वर्तमान साक्ष्य के साथ तैयार करें। - जावास्क्रिप्ट-पृष्ठ निकासी को एक टाइपेड रिकॉर्ड में। एजेंट को एक एकल-पृष्ठ ऐप की ओर इंगित करें; क्लाउड ब्राउज़र इसे हाइड्रेट करता है और एजेंट परिणाम को एक टाइप्ड ऑब्जेक्ट में पार्स करता है जिसे आपकी कार्यप्रवाह उपभोग करता है।
- मल्टी-स्टेप ब्राउज़र फ्लोज़। एजेंट को पृष्ठांकन करने, पैनल का विस्तार करने, या एक विज़ार्ड के माध्यम से चरण-दर-चरण करने के लिए
browser_goto,browser_click,browser_type, औरbrowser_scrollको जोड़ें। - समीक्षा के लिए स्क्रीनशॉट कैप्चर।
scrape_screenshotयाbrowser_screenshotका उपयोग करें ताकि एजेंट एक छवि के रूप में संसाधित पृष्ठ को वापस आपकी ऐप में ला सके। - खोज-फिर-पढ़ाई पाइपलाइन्स।
google_searchकोscrape_markdownके साथ मिलाएं ताकि एजेंट शीर्ष परिणामों को खोजे, प्रत्येक को पढ़े, और उन्हें एक ही एजेंट टर्न में संक्षेपित करे।
Scrapeless MCP सर्वर क्यों
Scrapeless MCP सर्वर एक अनुकूलन योग्य, एंटी-डिटेक्शन पुल है जो एक AI एजेंट और लाइव वेब के बीच है। विशेष रूप से Mastra के लिए, यह लाता है:
- JavaScript रेंडरिंग वाली एक एंटी-डिटेक्शन क्लाउड ब्राउज़र। पृष्ठों को निष्कर्षण से पहले एक पूर्ण Scrapeless Scraping Browser में हाइड्रेट किया जाता है, इसलिए SPAs, अनंत-स्क्रॉल फीड और लेज़ी-लोडेड पैनल
browser_goto+browser_get_htmlके लिए प्राथमिक लक्षित बन जाते हैं। - 195+ देशों में आवासीय प्रॉक्सी। Geo-bound प्रश्न स्थानीय उपयोगकर्ता जो देखेगा, उसकी लिस्टिंग वापस करता है, जिसमें प्रॉक्सी एग्रेस पूरी तरह से Scrapeless पक्ष पर संचालित होती है।
npxके माध्यम से एक stdio कमांड, कोई स्क्रैपर कोड नहीं। सर्वरnpx -y scrapeless-mcp-serverसे एक बाल प्रक्रिया के रूप में लॉन्च होता है;MCPClientके अलावा आपकी परियोजना में बनाने, होस्ट करने या आयात करने के लिए कुछ नहीं होता।- SERP, स्टेटलेस स्क्रैपिंग और पूर्ण ब्राउज़र ऑटोमेशन को कवर करने वाले 21 उपकरण।
google_searchऔरgoogle_trendsSERP डेटा को कवर करते हैं,scrape_html/scrape_markdown/scrape_screenshotएक बार के पृष्ठ फ़ेच के लिए हैं, और 16browser_*उपकरणों में राज्यपूर्ण नेविगेशन, क्लिकिंग, टाइपिंग, स्क्रॉलिंग और स्क्रीनशॉट शामिल हैं। - उपकरण मूल Mastra उपकरणों के रूप में आते हैं। चूंकि
@mastra/mcpMCP उपकरणों को Mastra के अपने उपकरण प्रकार में ढालता है, Scrapeless सतह ठीक उसी तरह दिखती है जैसे कोई उपकरण जिसे आप हाथ से लिखेंगे — टाइप किया हुआ, नामित, और एजेंट के योजनाकार के लिए तैयार।
मुफ्त योजना इसे वायर करने और वास्तविक संकेत चलाने के लिए पर्याप्त है; जब आप इससे बड़े हो जाते हैं तो मूल्य निर्धारण पृष्ठ पर कोटा की तुलना करें। अपने API कुंजी मुफ्त योजना पर प्राप्त करें app.scrapeless.com पर।
शर्तें
- स्टेशनवर्क पर Node.js 18 या न्यूज़र — Mastra आधुनिक Node को लक्षित करता है, और स्टैंडर्ड MCP सर्वर
npxके साथ उत्पन्न होता है। - एक Mastra परियोजना जिसमें एक मॉडल प्रोवाइडर कॉन्फ़िगर किया गया है। Mastra का
Agentएकmodelलेता है; एजेंट लूप को किसी भी उपकरण कॉल को चलाने से पहले उस प्रोवाइडर से एक सक्रिय मॉडल की आवश्यकता होती है जिसे आप वायर्ड करते हैं। - एक Scrapeless खाता और API कुंजी — मुफ्त योजना पर साइन अप करें app.scrapeless.com पर और सेटिंग्स → API की प्रबंधन से कुंजी कॉप करें।
- TypeScript के साथ बुनियादी परिचितता — संपूर्ण सेटअप में दो पैकेज और एक छोटा
MCPClientपरिभाषा शामिल है।
Scrapeless को Mastra से कनेक्ट करें
सेटअप में पांच चरण हैं; प्रत्येक को स्वतंत्र रूप से सत्यापित किया जा सकता है।
1. Mastra MCP और कोर पैकेज स्थापित करें
अपने प्रोजेक्ट में MCP क्लाइंट पैकेज और एजेंट कोर जोड़ें:
bash
npm install @mastra/mcp @mastra/core
@mastra/mcp MCPClient वर्ग प्रदान करता है जो MCP सर्वरों से जुड़ता है, और @mastra/core Agent वर्ग प्रदान करता है जिसे आप उपकरणों के साथ जोड़ते हैं।
2. MCPClient को कॉन्फ़िगर करें (stdio)
एक एकल scrapeless सर्वर प्रविष्टि के साथ MCPClient बनाएं। जब command मौजूद हो, Mastra स्वचालित रूप से stdio परिवहन का पता लगाता है और सर्वर को एक बाल प्रक्रिया के रूप में लॉन्च करता है:
ts
// npm install @mastra/mcp @mastra/core
import { MCPClient } from "@mastra/mcp";
const mcp = new MCPClient({
id: "scrapeless-client",
servers: {
scrapeless: {
command: "npx",
args: ["-y", "scrapeless-mcp-server"],
env: { SCRAPELESS_KEY: process.env.SCRAPELESS_KEY! },
},
},
});
यहाँ एक विवरण महत्वपूर्ण है: Scrapeless MCP सर्वर अपनी कुंजी SCRAPELESS_KEY से पढ़ता है, न कि SCRAPELESS_API_KEY से — Scrapeless CLI और SDK SCRAPELESS_API_KEY का उपयोग करते हैं, लेकिन MCP सर्वर यह डॉक्यूमेंटेड अपवाद है। कुंजी को अपने पर्यावरण में रखें (export SCRAPELESS_KEY=...) और इसे हार्डकोड करने के बजाय env ऑब्जेक्ट के माध्यम से पास करें। सर्वर का स्रोत github.com/scrapeless-ai/scrapeless-mcp-server पर है।
3. या HTTP-प्रवाहित परिवहन का उपयोग करें
यदि होस्ट npx को विश्वसनीयता से उत्पन्न नहीं कर सकता — एक सर्वरलेस फ़ंक्शन, एक दूरस्थ कार्यकर्ता, या एक CI सैंडबॉक्स — तो वही MCPClient को स्थानीय प्रक्रिया के बजाय Scrapeless HTTP अंतर्विभाग पर इंगित करें। एक url पास करें और कुंजी को requestInit के माध्यम से एक हेडर के रूप में सेट करें:
ts
const mcp = new MCPClient({
servers: {
scrapeless: {
url: new URL("https://api.scrapeless.com/mcp"),
requestInit: { headers: { "x-api-token": process.env.SCRAPELESS_KEY! } },
},
},
});
जब आप एक url प्रदान करते हैं, तो Mastra पहले Streamable HTTP का उपयोग करने का प्रयास करता है और स्वचालित रूप से पिछले SSE परिवहन पर लौटता है। दोनों मोड में वही कुंजी मान काम करता है; HTTP-streamable इसे x-api-token हेडर के रूप में पास करता है न कि SCRAPELESS_KEY env var के रूप में। स्टैंडर्ड इनपुट डेवलपर वर्कस्टेशन पर सही डिफ़ॉल्ट है; HTTP-streamable किसी भी स्थिति में सही डिफ़ॉल्ट है जहां एक लंबे समय तक चलने वाली उप-प्रक्रिया को जीवित रखना कठिन है।
4. एक एजेंट से उपकरणों को जोड़ें
उपकरणों को await mcp.listTools() के साथ लोड करें और उन्हें सीधे एक नए एजेंट में पास करें। इस स्थैतिक दृष्टिकोण के साथ, उपकरण निर्माण पर एक बार हल किए जाते हैं और नामस्पेस serverName_toolName होते हैं:
ts
import { Agent } from "@mastra/core/agent";
const agent = new Agent({
id: "web-agent",
name: "Web-Aware Agent",
instructions: "Scrapeless टूल का उपयोग करें ताकि लाइव वेब को खोजा और पढ़ा जा सके।",
model: "<your-provider-model>",
tools: await mcp.listTools(), // -> scrapeless_google_search, scrapeless_scrape_markdown, scrapeless_browser_* ...
});
अपने प्रदाता द्वारा प्रस्तुत मॉडल का उपयोग करें - Mastra का एजेंट किसी भी प्रदाता मॉडल आईडी को लेता है, और उपकरणों के काम करने के लिए किसी विशिष्ट मॉडल या संस्करण की आवश्यकता नहीं है।
एक गतिशील विकल्प के लिए, Mastra await mcp.listToolsets() भी प्रदान करता है, जो कॉल पर उपकरणों को हल करता है और उन्हें serverName.toolName नामस्पेस बनाता है। निर्माण के बजाय कॉल समय पर टूलसेट्स पास करें:
ts
const result = await agent.stream(prompt, {
toolsets: await mcp.listToolsets(),
});
जब एक क्लाइंट पूरे ऐप की सेवा करता है, तो listTools() सबसे सरल मार्ग है; listToolsets() उन मल्टी-टेनेंट सेटअप के लिए उपयुक्त है जहां प्रत्येक अनुरोध विभिन्न क्रेडेंशियल्स या सर्वर चयन ले जा सकता है। जब आप क्लाइंट के साथ अपना काम समाप्त कर लें तो साफ करने के लिए await mcp.disconnect() का उपयोग करें।
5. 21 उपकरणों की गणना करके सत्यापित करें
उपकरणों को हल करना और उनके कुंजी की जांच करना पुष्टि करता है कि हैंडशेक पूरा हो गया और सर्वर इसकी पूरी सतह की रिपोर्ट कर रहा है:
ts
const tools = await mcp.listTools();
console.log(Object.keys(tools));
आउटपुट सर्वर के 21 उपकरणों को सूचीबद्ध करता है, प्रत्येक नामस्पेस scrapeless_<tool> — Google डेटा टूल (scrapeless_google_search, scrapeless_google_trends), एक-शॉट पन्ने सहायक (scrapeless_scrape_html, scrapeless_scrape_markdown, scrapeless_scrape_screenshot), और क्लाउड-ब्राउज़र के मूल तत्व (scrapeless_browser_create, scrapeless_browser_goto, scrapeless_browser_get_html, scrapeless_browser_get_text, scrapeless_browser_click, scrapeless_browser_type, scrapeless_browser_press_key, scrapeless_browser_scroll, scrapeless_browser_scroll_to, scrapeless_browser_screenshot, scrapeless_browser_snapshot, scrapeless_browser_wait, scrapeless_browser_wait_for, scrapeless_browser_go_back, scrapeless_browser_go_forward, scrapeless_browser_close)।
आप वास्तव में इसका उपयोग कैसे करते हैं: अपने Mastra एजेंट को प्रॉम्प्ट करें
MCP सर्वर को कनेक्ट करने के बाद, आप कोड में एजेंट को कॉल करके लाइव वेब डेटा प्राप्त करते हैं - हाथ से उपकरण कॉल लिखकर नहीं। एजेंट उन उपकरणों की सूची पढ़ता है जो Scrapeless MCP सर्वर उजागर करता है और आवश्यकता के अनुसार scrapeless_google_search, scrapeless_scrape_markdown, या scrapeless_browser_* उपकरण का चयन करता है, उन्हें प्राकृतिक-भाषा कार्य से बारी-बारी से जोड़ता है। आपकी ओर से किसी उपकरण JSON को लिखने की आवश्यकता नहीं है। आप agent.generate(prompt) के साथ एकल बारी चलाते हैं, या agent.stream(prompt) के साथ रन को टोकन द्वारा स्ट्रीम करते हैं।
प्रॉम्प्ट्स जिन्हें आप पेस्ट कर सकते हैं
| प्रॉम्प्ट | एजेंट क्या करता है |
|---|---|
"Find the top Google results for vector database benchmarks 2026 and return them as JSON." |
scrapeless_google_search के साथ q, hl, gl → टाइप की गई परिणाम पंक्तियाँ। |
"What search topics are rising for developer tools in the US right now?" |
scrapeless_google_trends। |
"Pull the page at https://example.com/docs as clean markdown." |
scrapeless_scrape_markdown। |
"Open https://pricing.example.com, it's a JavaScript app — render it and extract plan name, price, and features as JSON." |
scrapeless_browser_create → scrapeless_browser_goto → scrapeless_browser_get_html → टाइप की गई सामग्री। |
"Compare the pricing pages at https://a.example.com/pricing and https://b.example.com/pricing and tell me where they differ." |
scrapeless_browser_create → scrapeless_browser_goto (A) → scrapeless_browser_get_html → scrapeless_browser_goto (B) → scrapeless_browser_get_html → अंतर। |
"Take a full-page screenshot of https://example.com/landing." |
scrapeless_scrape_screenshot। |
"Grab the rendered HTML of https://example.com so the agent can read the markup." |
scrapeless_scrape_html। |
"Open https://example.com/jobs, wait for the listings to load, snapshot the page, then extract every job title and location as JSON." |
scrapeless_browser_create → scrapeless_browser_goto → scrapeless_browser_wait_for → scrapeless_browser_snapshot → टाइप की गई सामग्री → scrapeless_browser_close। |
कार्य किए गए उदाहरण
आप लिखते हैं (अपने TypeScript ऐप में एकल कॉल):
ts
const result = await agent.generate(
"स्पष्ट Google खोज उपकरण का उपयोग करके 'मास्ट्रा एआई गिटहब' के लिए शीर्ष परिणाम खोजें और शीर्ष 3 को {title, link} के JSON ऐरे के रूप में लौटाएं।"
- टूल के तर्क camelCase में होते हैं: `sessionId`, `proxyCountry`, और इसी तरह के फ़ील्ड को बिल्कुल उसी नाम से पास करें।
- `proxyCountry` एक अनुरोध है, ना कि एक गारंटी - यह आपके खाते पर कॉन्फ़िगर की गई क्षेत्र पर निर्भर कर सकता है, इसलिए जब भू-लक्ष्यीकरण महत्वपूर्ण हो, तो ईग्रेस क्षेत्र की पुष्टि करें।
- टूल आउटपुट में मान सामग्री पर निर्भर होते हैं: परिणाम की गिनती, क्रम, और स्निपेट टेक्स्ट लाइव क्वेरी के साथ भिन्न होते हैं।
---
## निष्कर्ष: खोजें, प्रदर्शित करें, और TypeScript से ब्राउज़ करें
पूरी एकीकरण एक `MCPClient` और स्वाभाविक भाषा प्रॉम्प्ट में घटित होती है। एक `scrapeless` सर्वर प्रविष्टि के साथ, `await mcp.listTools()` को `new Agent({ tools })` को सौंपें, और `SCRAPELESS_KEY` में आपका कुंजी हो, एक मास्त्रा एजेंट लाइव गूगल सर्च, जावास्क्रिप्ट रेंडरिंग, और एक पूर्ण एंटी-डिटेक्शन क्लाउड ब्राउज़र प्राप्त करता है - बिल्कुल वह वेब परत जो एजेंट अपने आप नहीं भेजता। आप कार्य का वर्णन करते हैं; एजेंट टूल चुनता है।
यदि आप अन्य एजेंटों को तार जोड़ रहे हैं, तो वही Scrapeless MCP सर्वर उनमें भी गिरता है: [Pi एजेंट एकीकरण](https://www.scrapeless.com/hi/blog/pi-agent-scrapeless-mcp?utm_source=website&utm_medium=blog&utm_campaign=aiagent&utm_term=mastra-scrapeless-mcp) और [Scrapeless MCP सर्वर अवलोकन](https://www.scrapeless.com/hi/blog/scrapeless-mcp-server?utm_source=website&utm_medium=blog&utm_campaign=aiagent&utm_term=mastra-scrapeless-mcp) के लिए पूरा टूल संदर्भ देखें। अपनी API कुंजी `SCRAPELESS_KEY` में रखें, स्थानीय विकास के लिए स्टैण्डर्ड इनपुट/आउटपुट परिवहन पसंद करें और होस्टेड रंटाइम्स के लिए HTTP-स्ट्रीम करने योग्य, `listTools()` को एकल स्थिर क्लाइंट के लिए या `listToolsets()` को गतिशील प्रति-कॉल सेट के लिए चुनें, और एजेंट को टूल चुनने दें। पूरा संदर्भ [docs.scrapeless.com](https://docs.scrapeless.com?utm_source=website&utm_medium=blog&utm_campaign=aiagent&utm_term=mastra-scrapeless-mcp) पर।
---
## क्या आप अपने AI-शक्ति से संचालित डेटा पाइपलाइन बनाने के लिए तैयार हैं?
एक मुफ्त योजना में दावा करने और मास्त्रा + Scrapeless MCP एजेंट बनाने वाले डेवलपर्स से जुड़ने के लिए हमारे समुदाय में शामिल हों: [Discord](https://discord.gg/VU2vtbq7Q2) · [Telegram](https://t.me/scrapeless)।
[app.scrapeless.com](https://app.scrapeless.com/passport/login/?utm_source=website&utm_medium=blog&utm_campaign=aiagent&utm_term=mastra-scrapeless-mcp) पर साइन अप करें मुफ्त स्क्रैपिंग ब्राउज़र रंटाइम के लिए और ऊपर दी गई एकीकरण को SERPs, पृष्ठों, और क्षेत्रों के अनुसार अनुकूलित करें जो आपकी टीम को आवश्यक हैं। पूरा संदर्भ [docs.scrapeless.com](https://docs.scrapeless.com?utm_source=website&utm_medium=blog&utm_campaign=aiagent&utm_term=mastra-scrapeless-mcp) पर।
---
## अक्सर पूछे जाने वाले प्रश्न
### प्रश्न: मास्त्रा एजेंट को वेब एक्सेस के लिए MCP सर्वर की आवश्यकता क्यों है?
क्योंकि एक मास्त्रा `एजेंट` केवल उन टूल्स को कॉल कर सकता है जिन्हें आप इसे संलग्न करते हैं, और इसमें कोई अंतर्निहित वेब खोज या ब्राउज़र नहीं है। MCP इस क्षमता को जोड़ने का मानक, ढांचा-स्वतंत्र तरीका है, और `@mastra/mcp` किसी भी MCP सर्वर को मूल मास्त्रा टूल्स में अनुकूलित करता है। Scrapeless से कनेक्ट करना एजेंट को लाइव गूगल खोज, रेंडर की गई पृष्ठ पहुंच, और एक पूर्ण एंटी-डिटेक्शन क्लाउड ब्राउज़र एक कदम में देता है।
### प्रश्न: `listTools()` और `listToolsets()` में अंतर क्या है?
`await mcp.listTools()` टूल्स को एक बार हल करता है और उन्हें नामित `serverName_toolName` (उदाहरण के लिए `scrapeless_google_search`) के रूप में लौटाता है; आप परिणाम को निर्माण के समय `new Agent({ tools })` में पास करते हैं। `await mcp.listToolsets()` प्रति कॉल टूल्स को हल करता है और उन्हें `serverName.toolName` के रूप में नामित करता है; आप कॉल के समय परिणाम को `agent.stream(prompt, { toolsets })` या `agent.generate(prompt, { toolsets })` के माध्यम से पास करते हैं। एकल स्थिर क्लाइंट के लिए `listTools()` का उपयोग करें, और जब प्रत्येक अनुरोध भिन्न क्रेडेंशियल या सर्वर चयन कर सकता है, तब `listToolsets()` का उपयोग करें।
### प्रश्न: कौन सा परिवर्तन चर Scrapeless कुंजी को रखता है?
`SCRAPELESS_KEY`। यह प्रलेखित अपवाद है - Scrapeless CLI और SDK `SCRAPELESS_API_KEY` को पढ़ते हैं, लेकिन MCP सर्वर `SCRAPELESS_KEY` को पढ़ता है। stdio कॉन्फ़िगरेशन में आप इसे `env` वस्तु के माध्यम से `process.env.SCRAPELESS_KEY` के रूप में पास करते हैं; HTTP-streamable मोड में आप उसी मान को `x-api-token` हेडर के रूप में भेजते हैं।
### प्रश्न: stdio बनाम HTTP-streamable - आप प्रत्येक का उपयोग कब करें?
जब सर्वर आपके ऐप के साथ स्थानीय रूप से चलता है तो stdio का उपयोग करें: मास्त्रा `scrapeless-mcp-server` को एक चाइल्ड प्रोसेस के रूप में लॉन्च करता है और इसके साथ मानक इनपुट/आउटपुट के माध्यम से बात करता है। HTTP-streamable का उपयोग करें (एक `url` के साथ `https://api.scrapeless.com/mcp` और `x-api-token` हेडर के साथ `requestInit`) जब रंटाइम सर्वरलेस या दूरस्थ हो और स्थानीय चाइल्ड प्रोसेस को जीवित नहीं रख सकता। जब आप एक `url` प्रदान करते हैं, मास्त्रा पहले Streamable HTTP को आज़माता है और स्वचालित रूप से प्राचीन SSE की ओर लौटता है।
### प्रश्न: क्या इसके लिए एक विशेष मॉडल की आवश्यकता है?
नहीं। मास्त्रा का `एजेंट` किसी भी प्रदाता मॉडल आईडी को स्वीकार करता है, इसलिए आप उस मॉडल का उपयोग करते हैं जिसे आपका प्रदाता उजागर करता है। Scrapeless टूल्स मॉडल-स्वतंत्र हैं; एक ऐसा मॉडल चुनें जो टूल कॉल को अच्छी तरह संभालता है, और एजेंट प्रदाता के बावजूद Scrapeless टूल्स को उसी तरीके से संयोजित करता है।
### प्रश्न: टूल्स मेरे प्रोजेक्ट में प्रकारित कैसे होते हैं?
`@mastra/mcp` हर MCP टूल को मास्ट्रा के अपने टूल प्रकार में अनुकूलित करता है, इसलिए Scrapeless टूल ठीक उसी तरह प्रदर्शित होते हैं जैसे कि आप उन्हें हाथ से लिखते — नाम स्थानित और एजेंट के योजनाकार के लिए तैयार। आप इन्हें `tools: await mcp.listTools()` के माध्यम से संलग्न करते हैं और कभी भी टूल JSON स्वयं नहीं लिखते।
### प्रश्न: क्या एजेंट के माध्यम से वेब स्क्रैपिंग वैध है?
सार्वजनिक रूप से उपलब्ध डेटा को स्क्रैप करना सामान्यतः अनुमेय है, लेकिन आप इसके उपयोग के लिए जिम्मेदार हैं। प्रत्येक साइट की सेवा शर्तों की समीक्षा करें और robots.txt का सम्मान करें, और याद रखें कि व्यक्तिगत डेटा और पहुंच के आसपास के नियम क्षेत्राधिकार के अनुसार भिन्न होते हैं। जब संदेह में हों, तो अपने विशेष उपयोग मामले के लिए कानूनी सलाह लें।
### प्रश्न: क्या आप इसे बिना मास्ट्रा के इस्तेमाल कर सकते हैं?
हाँ। Scrapeless MCP सर्वर एक मानक MCP सर्वर है, इसलिए कोई भी MCP-संगत क्लाइंट इसे कॉल कर सकता है — या आप इसे सीधे JSON-RPC (`initialize`, फिर `tools/list` और `tools/call`) के माध्यम से चला सकते हैं। मास्ट्रा TypeScript ऐप्स के लिए एक सुविधा है, न कि आवश्यकता।
स्क्रैपलेस में, हम केवल सार्वजनिक रूप से उपलब्ध डेटा का उपयोग करते हैं, जबकि लागू कानूनों, विनियमों और वेबसाइट गोपनीयता नीतियों का सख्ती से अनुपालन करते हैं। इस ब्लॉग में सामग्री केवल प्रदर्शन उद्देश्यों के लिए है और इसमें कोई अवैध या उल्लंघन करने वाली गतिविधियों को शामिल नहीं किया गया है। हम इस ब्लॉग या तृतीय-पक्ष लिंक से जानकारी के उपयोग के लिए सभी देयता को कोई गारंटी नहीं देते हैं और सभी देयता का खुलासा करते हैं। किसी भी स्क्रैपिंग गतिविधियों में संलग्न होने से पहले, अपने कानूनी सलाहकार से परामर्श करें और लक्ष्य वेबसाइट की सेवा की शर्तों की समीक्षा करें या आवश्यक अनुमतियाँ प्राप्त करें।



