एआई एजेंट को लाइव वेब डेटा से कनेक्ट करना: AWS स्ट्रैंड्स + स्क्रैपलेस एमसीपी सर्वर एकीकरण गाइड
Lead Scraping Automation Engineer
मुख्य निष्कर्ष:
- AWS Strands SDK + Scrapeless MCP AI एजेंटों को एक प्रकार का वेब-डेटा टूल सतह प्रदान करता है। एजेंट सीधे एजेंटिक लूप के माध्यम से
google_search,scrape_html,scrape_markdown, और पूर्ण ब्राउज़र-सत्र टूल (browser_create→browser_goto→browser_wait_for→browser_get_html→browser_close) को कॉल करता है, बिना REST API के चारों ओर गोंद कोड के। - 21 MCP टूल्स होस्टेड एंडपॉइंट पर (
https://api.scrapeless.com/mcp)। ब्राउज़र-सत्र नियंत्रण (16 टूल), खोज (google_search,google_trends), और बिना स्थिति के स्क्रैपिंग (scrape_html,scrape_markdown,scrape_screenshot) — जोscrapeless-mcp-serverद्वारा स्ट्रीम करने योग्य HTTP पर उपलब्ध हैं। होस्टेड एंडपॉइंटserverInfo.name: "scrapeless-mcp-server"का रिपोर्ट करता है, प्रकाशन के समय संस्करण 0.2.0। - रेसिडेंशियल-प्रॉक्सी इग्रेस के साथ क्लाउड ब्राउज़र। पृष्ठ Scrapeless Scraping Browser में रेंडर होते हैं इससे पहले कि एजेंट DOM को पढ़े, इसलिए जावास्क्रिप्ट-भारी लक्ष्य बिना स्थानीय ब्राउज़र बुनियादी ढांचे के काम करते हैं। पास-रेट साइट के अनुसार भिन्न होता है: सरल चुनौती पृष्ठ थोड़े
browser_waitके बाद साफ होते हैं, जबकि जिन साइटों में सख्त बॉट-डिटेक्शन परतें होती हैं, वे अभी भी डिफ़ॉल्ट MCP सत्र को ब्लॉक कर सकती हैं — उन लक्ष्यों के लिए, पूर्व-कॉन्फ़िगर किए गए ब्राउज़र प्रोफ़ाइल के साथ SDK सतह पर लौटें। - मॉडल-निष्पक्ष एजेंट लूप। स्ट्रैंड्स की धारणा → तर्क → क्रिया चक्र क्लॉड (या किसी भी समर्थित मॉडल) को स्वतंत्रता से टूल कॉल निर्धारित करने की अनुमति देता है। यह गाइड स्ट्रैंड्स एंथ्रोपिक प्रदाता के माध्यम से एंथ्रोपिक क्लॉड का उपयोग करता है।
- शुरू करने के लिए मुफ्त। नए Scrapeless खातों में मुफ्त स्क्रेपिंग ब्राउज़र रनटाइम शामिल है — scrapeless वेबसाइट पर साइन अप करें और जब आप इसकी आवश्यकता से अधिक हो जाएं तो मूल्य निर्धारण पृष्ठ देखें।
बड़े भाषा मॉडल (LLMs) द्वारा संचालित AI एजेंट तर्क कर सकते हैं और निर्णय ले सकते हैं, लेकिन वे अपने प्रशिक्षण डेटा द्वारा सीमित होते हैं। वास्तव में उपयोगी एजेंट बनाने के लिए, आपको उन्हें वास्तविक समय के वेब डेटा से जोड़ना होता है। यह गाइड दिखाता है कि AWS Strands SDK को Scrapeless के MCP सर्वर के साथ मिलाकर स्वायत्त AI एजेंट कैसे बनाएं जो लाइव वेब डेटा तक पहुंच और विश्लेषण कर सकते हैं।
इस गाइड में, आप जानेंगे:
- AWS Strands SDK क्या है और यह AI एजेंट बनाने के लिए एक उपयोगी ढांचा क्यों है।
- क्यों AWS Strands SDK Scrapeless के MCP सर्वर के साथ साफ़ तरीके से जुड़ता है वेब-जानकारी वाले एजेंटों के लिए।
- AWS Strands को Scrapeless के MCP सर्वर के साथ एक स्वायत्त प्रतिस्पर्धात्मक बुद्धिमत्ता एजेंट बनाने के लिए कैसे एकीकृत करें।
- कैसे एजेंट बनाएं जो अपने लक्ष्यों के आधार पर स्वायत्त रूप से तय करें कि कौन से वेब-स्क्रैपिंग टूल का उपयोग करना है।
आइए शुरू करते हैं।
इसके साथ आप क्या कर सकते हैं
- प्रतिस्पर्धी बुद्धिमत्ता लूप। प्रतिस्पर्धी नाम के लिए
google_searchचलाएं, फिर शीर्ष परिणामों परscrape_markdownको कॉल करें ताकि स्थिति और हाल की लॉन्चों का सारांश तैयार किया जा सके। - एकल-पृष्ठ संवर्धन।
browser_create→browser_goto→browser_wait_for→browser_get_html→browser_closeको एक ASIN या उत्पाद पृष्ठ के खिलाफ चलाएं और मॉडल को शीर्षक, मूल्य, रेटिंग, और उपलब्धता को एक JSON आकार में खींचने दें जिसे आप प्रॉम्प्ट में परिभाषित करते हैं। - कई-क्षेत्र मूल्य जांच। एक ही SKU पर विभिन्न देश की स्टोरफ्रंट्स के खिलाफ दो
browser_createसत्र चलाएं और एक प्रतिक्रिया में मूल्य की तुलना करें। - खोज इंजन द्वारा संचालित अनुसंधान। एक विषय पर गति पढ़ने के लिए
google_search+google_trendsको मिलाएं, फिरscrape_markdownके साथ व्यक्तिगत लेखों में डौल करें। - अनुपालन के लिए स्क्रीनशॉट कैप्चर।
scrape_screenshot(URL-in, PNG-out) या UI इंटरएक्शन के बाद में सत्र मेंbrowser_screenshotका उपयोग करें ताकि समय के एक बिंदु पर पृष्ठ कैसे दिखता था इसका साक्ष्य रखा जा सके। - बहु-चरण UI प्रवाह।
browser_click,browser_type,browser_press_key, औरbrowser_scrollएजेंट को एक निरंतर सत्र के भीतर रूपों, लॉग गेटों, और लेज़ी-लोडेड ग्रिड्स को संचालित करने देते हैं।
Scrapeless में, हम केवल सार्वजनिक रूप से उपलब्ध डेटा तक पहुंचते हैं जबकि लागू कानूनों, नियमों और वेबसाइट गोपनीयता नीतियों का सख्ती से पालन करते हैं। इस पोस्ट की सामग्री केवल प्रदर्शन उद्देश्यों के लिए है।
AWS Strands SDK क्या है?
AWS Strands SDK एक Python ढांचा है AI एजेंटों का निर्माण करने के लिए, जो PyPI पर AWS द्वारा प्रकाशित किया गया है (strands-agents, लेखक opensource@amazon.com)। यह एक Agent श्रेणी को उजागर करता है जो एक मॉडल और टूल्स की सूची को लेता है और जब तक कार्य पूरा नहीं हो जाता तब तक धारणा → तर्क → क्रिया लूप चलाता है।
यह गाइड SDK के तीन हिस्सों का उपयोग करती है जो प्रकाशित पैकेज में मौजूद होने की पुष्टि की जाती है:
from strands import Agent— एजेंट श्रेणी स्वयं।from strands.models.anthropic import AnthropicModel— एंथ्रोपिक प्रदाता; कंस्ट्रक्टर सिग्नेचरAnthropicModel(*, client_args: dict | None = None, **model_config)है औरmodel_id,max_tokens,params={"temperature": ...}को स्वीकार करता है।from strands.tools.mcp import MCPClient— MCP ट्रांसपोर्ट को लपेटता है ताकि किसी भी MCP सर्वर के टूल्स कोAgent(tools=...)में पास किया जा सके।
एजेंट के परिणाम प्रकारstrands.agent.agent_result.AgentResultहै, जो एक डेटा क्लास है जिसमें फ़ील्ड्सstop_reason,message,metrics,state(अतिरिक्त वैकल्पिकinterrupts,structured_output) होती हैं।
लूप कैसे चलता है
- उपयोगकर्ता
agent.invoke_async(prompt)को एक संकेत देता है। - मॉडल संकेत और उपलब्ध उपकरणों की सूची प्राप्त करता है।
- या तो यह अंतिम संदेश लौटाता है या टूल कॉल जारी करता है।
- यदि कोई उपकरण कॉल किया जाता है, तो स्ट्रैंड्स इसे चलाता है और परिणाम को मॉडल को वापस फीड करता है।
- कदम 3-4 तब तक दोहराए जाते हैं जब तक मॉडल अंतिम संदेश नहीं लौटाता।
वेब डेटा पुनर्प्राप्ति के लिए AWS स्ट्रैंड्स एसडीके को स्क्रैपलेस के एमसीपी सर्वर के साथ संयोजित करने का कारण
एलएलएम सभी पर वेब डेटा नहीं लाते हैं। स्ट्रैंड्स एजेंट को यह क्षमता देने के लिए, आप इसे एक एमसीपी सर्वर से जोड़ते हैं जो वेब उपकरणों को प्रदर्शित करता है। scrapeless-mcp-server एक ऐसा एमसीपी सर्वर है - जो स्क्रैपलेस स्क्रैपिंग ब्राउज़र द्वारा समर्थित है, एक क्लाउड-होस्टेड ब्राउज़र जो आवासीय प्रॉक्सी के माध्यम से बाहर निकलता है।
प्रमाणित लाइव (tools/list के खिलाफ https://api.scrapeless.com/mcp, आज): 21 उपकरण, तीन समूहों में:
- स्टेटलेस स्क्रैपिंग -
scrape_html,scrape_markdown,scrape_screenshot। - खोज -
google_search,google_trends। - एक स्थायी ब्राउज़र सत्र -
browser_create,browser_goto,browser_go_back,browser_go_forward,browser_wait,browser_wait_for,browser_get_html,browser_get_text,browser_snapshot,browser_click,browser_type,browser_press_key,browser_scroll,browser_scroll_to,browser_screenshot,browser_close।
अपने स्क्रैपलेस मुफ्त योजना API कुंजी प्राप्त करें स्क्रैपलेस वेबसाइट पर। एमसीपी सर्वर का स्रोत github.com/scrapeless-ai/scrapeless-mcp-server पर है।
पायथन में AWS स्ट्रैंड्स एसडीके को स्क्रैपलेस एमसीपी सर्वर के साथ एकीकृत करने का तरीका
इस अनुभाग में, आप AWS स्ट्रैंड्स एसडीके का उपयोग करके एक एआई एजेंट बनाएंगे, जो स्क्रैपलेस एमसीपी सर्वर से लाइव डेटा स्क्रैपिंग और पुनर्प्राप्ति की क्षमताओं से लैस है।
उदाहरण के रूप में, यह मार्गदर्शिका एक प्रतिस्पर्धात्मक बुद्धिमत्ता एजेंट बनाती है, जो स्वतंत्र रूप से बाजारों और प्रतिस्पर्धियों का विश्लेषण कर सकता है। एजेंट अपने लक्ष्यों के आधार पर उपयोग किए जाने वाले उपकरणों का निर्णय लेता है, एजेंटिक लूप की शक्ति का प्रदर्शन करता है।
नीचे दिए गए चरण-दर-चरण मार्गदर्शिका का पालन करें ताकि आप AWS स्ट्रैंड्स एसडीके का उपयोग करके अपने Claude + Scrapeless MCP-संचालित एआई एजेंट का निर्माण कर सकें।
पूर्वआवश्यकताएँ
कोड उदाहरण की पुनरावृत्ति करने के लिए, सुनिश्चित करें कि आपके पास:
सॉफ़्टवेयर आवश्यकताएँ:
- पायथन 3.10 या उच्चतर।
- Node.js (लेटेस्ट LTS संस्करण की सिफारिश की जाती है)।
- एक पायथन IDE जैसे VS कोड जिसमें पायथन एक्सटेंशन या PyCharm हो।
खाता आवश्यकताएँ:
- एक स्क्रैपलेस खाता और API कुंजी - स्क्रैपलेस पर साइन अप करें।
- एक एंथ्रोपिक खाता जिसमें क्लॉड API पहुंच और क्रेडिट हो।
पृष्ठभूमि ज्ञान (सहायक लेकिन आवश्यक नहीं):
- MCP कैसे कार्य करता है, इसकी मूल समझ।
- AI एजेंटों और उनकी क्षमताओं के साथ परिचितता।
- पायथन में असिंक्रोनस प्रोग्रामिंग का मूल ज्ञान।
चरण #1: अपना पायथन प्रोजेक्ट बनाएं
अपने टर्मिनल को खोलें और अपने प्रोजेक्ट के लिए एक नया फ़ोल्डर बनाएं:
bash
mkdir strands-scrapeless-agent
cd strands-scrapeless-agent
एक पायथन वर्चुअल वातावरण स्थापित करें:
bash
python -m venv venv
वर्चुअल वातावरण सक्रिय करें:
bash
# लिनक्स/मैकोस पर:
source venv/bin/activate
# विंडोज़ पर:
venv\Scripts\activate
मुख्य पायथन फ़ाइल बनाएँ:
bash
touch agent.py
आपकी फ़ोल्डर संरचना इस प्रकार होनी चाहिए:
strands-scrapeless-agent/
├── venv/
└── agent.py
अब आपके पास एक पायथन वातावरण है जो वेब डेटा एक्सेस के साथ एक एआई एजेंट बनाने के लिए तैयार है।
चरण #2: AWS स्ट्रैंड्स एसडीके स्थापित करें
अपने सक्रिय वर्चुअल वातावरण में, आवश्यक पैकेज स्थापित करें:
bash
pip install "strands-agents>=1.0" anthropic "mcp>=1.0" python-dotenv
यह स्थापित करता है:
strands-agents: AI एजेंट बनाने के लिए AWS स्ट्रैंड्स एसडीके।anthropic:strands.models.anthropic.AnthropicModelके लिए आवश्यक पीयर डिपेंडेंसी।mcp: आधिकारिक MCP पायथन एसडीके, जोmcp.client.streamable_httpपरिवहन के लिए आवश्यक है।python-dotenv: पर्यावरण चर प्रबंधन के लिए।
इसके बाद, अपने agent.py फ़ाइल में ये इम्पोर्ट जोड़ें:
python
from strands import Agent
from strands.models.anthropic import AnthropicModel
from strands.tools.mcp import MCPClient
from mcp.client.streamable_http import streamablehttp_client
आप अब एजेंट निर्माण के लिए AWS स्ट्रैंड्स एसडीके का उपयोग कर सकते हैं।
चरण #3: पर्यावरण चर सेट अप करें
अपने प्रोजेक्ट फ़ोल्डर में सुरक्षित API कुंजी प्रबंधन के लिए एक .env फ़ाइल बनाएं:
bash
touch .env
.env फ़ाइल में अपनी API कुंजी जोड़ें:
ini
# क्लॉड मॉडल के लिए एंथ्रोपिक API
ANTHROPIC_API_KEY=your_anthropic_key_here
# एमसीपी के माध्यम से वेब स्क्रैपिंग के लिए स्क्रैपलेस क्रेडेंशियल्स
SCRAPELESS_KEY=your_scrapeless_key_here
अपने agent.py में, पर्यावरण चर लोडिंग सेट करें:
python
import os
hi
from dotenv import load_dotenv
load_dotenv()
# API कुंजी पढ़ें
ANTHROPIC_API_KEY = os.getenv("ANTHROPIC_API_KEY")
SCRAPELESS_KEY = os.getenv("SCRAPELESS_KEY")
आप अब .env फ़ाइल से API कुंजी सुरक्षित रूप से लोड करने के लिए सेटअप कर चुके हैं।
चरण #4: Scrapeless MCP अंत बिंदु की पुष्टि करें
यह गाइड https://api.scrapeless.com/mcp पर होस्टेड स्ट्रीम करने योग्य HTTP अंत बिंदु का उपयोग करती है। स्थानीय इंस्टॉलेशन की आवश्यकता नहीं है।
इसकी धूम्र-परीक्षा करने के लिए curl का उपयोग करें:
bash
curl -X POST "https://api.scrapeless.com/mcp" \
-H "x-api-token: $SCRAPELESS_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"smoke","version":"1.0"}}}'
एक सफल प्रतिक्रिया लौटाती है:
- HTTP
200 OKContent-Type: text/event-streamके साथ - एक
mcp-session-idहेडर — इसका पुन: उपयोग करें फॉलो-अपtools/listऔरtools/callअनुरोधों में - एक बॉडी इवेंट
data: {"result":{"protocolVersion":"2024-11-05","capabilities":{"tools":{"listChanged":true}},"serverInfo":{"name":"scrapeless-mcp-server","version":"0.2.0",...}},...}
प्रकाशन के समय लाइव अंत बिंदु के खिलाफ परीक्षण किया गया: 21 MCP उपकरणों और ऊपर दिखाए गए serverInfo को लौटाता है।
अपने मुफ्त योजना पर API कुंजी प्राप्त करें: app.scrapeless.com
पूर्ण SDK और CLI संदर्भ: scrapeless वेबसाइट।
चरण #5: Strands मॉडल initialize करें
अपने agent.py में Anthropic Claude मॉडल को कॉन्फ़िगर करें:
python
# Anthropic मॉडल (Strands Anthropic प्रदाता के माध्यम से Claude) initialize करें
model = AnthropicModel(
client_args={"api_key": ANTHROPIC_API_KEY},
model_id="claude-sonnet-4-6",
max_tokens=4096,
params={"temperature": 0.3}
)
यह आपके एजेंट के LLM के रूप में Claude को कॉन्फ़िगर करता है, जिससे प्रतिक्रियाएं निरंतर और केंद्रित बनाई जा सकें। client_args शब्दकोश Anthropic क्लाइंट कॉन्फ़िगरेशन को पास करने का आधिकारिक Strands तरीका है (देखें AWS Strands Anthropic प्रदाता दस्तावेज़)।
चरण #6: Scrapeless MCP सर्वर से कनेक्ट करें
होस्टेड स्ट्रीम करने योग्य HTTP अंत बिंदु से कनेक्ट करने के लिए MCP क्लाइंट कॉन्फ़िगरेशन बनाएं:
python
import asyncio
import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
def http_transport():
"""होस्टेड Scrapeless MCP अंत बिंदु के लिए स्ट्रीम करने योग्य-HTTP परिवहन।"""
return streamablehttp_client(
url="https://api.scrapeless.com/mcp",
headers={"x-api-token": SCRAPELESS_KEY},
)
async def connect_mcp_tools():
"""Scrapeless MCP सर्वर से कनेक्ट करें और उपकरण खोजें।"""
logger.info("Scrapeless MCP सर्वर (HTTP) से कनेक्ट किया जा रहा है...")
mcp_client = MCPClient(http_transport)
with mcp_client:
tools = mcp_client.list_tools_sync()
logger.info(f"पाया गया {len(tools)} MCP उपकरण")
for tool in tools:
logger.info(f" - {tool.tool_name}")
return mcp_client, tools
लाइव अंत बिंदु के खिलाफ परीक्षण किया गया: ऊपर के कॉल अनुक्रम से पाया गया 21 MCP उपकरण लॉग, उसके बाद सभी 21 उपकरणों के नाम सूचीबद्ध।
उपलब्ध Scrapeless MCP उपकरण
नीचे सूचीबद्ध उपकरणों का सारांश प्रस्तुत करती है जो Scrapeless MCP सर्वर स्ट्रीम करने योग्य HTTP परिवहन पर प्रदर्शित करता है। list_tools_sync() रनटाइम पर समान सेट लौटाता है।
| उपकरण | उद्देश्य |
|---|---|
browser_create |
एक Scrapeless क्लाउड-ब्राउज़र सत्र आवंटित करें |
browser_close |
सत्र को जारी करें |
browser_goto |
एक URL पर नेविगेट करें |
browser_go_back / browser_go_forward |
सत्र इतिहास के माध्यम से गतिशीलता करें |
browser_wait_for |
किसी CSS चयनकर्ता के प्रकट होने की प्रतीक्षा करें |
browser_wait |
मिलीसेकंड में एक निश्चित अवधि के लिए प्रतीक्षा करें |
browser_get_html |
पूर्ण रूप से प्रस्तुत DOM पढ़ें |
browser_get_text |
वर्तमान पृष्ठ के दृश्य पाठ को पढ़ें |
browser_snapshot |
पृष्ठ की पहुंचSnapshot कैप्चर करें |
browser_click |
चयनकर्ता द्वारा एक तत्व पर क्लिक करें |
browser_type |
एक इनपुट फ़ील्ड में पाठ टाइप करें |
browser_press_key |
PageDown या Enter जैसे कीस्ट्रोक भेजें |
browser_scroll |
वर्तमान पृष्ठ को स्क्रॉल करें |
browser_scroll_to |
दृश्य में एक विशिष्ट तत्व को स्क्रॉल करें |
browser_screenshot |
एक PNG स्क्रीनशॉट कैप्चर करें |
google_search |
एक Google खोज क्वेरी चलाएं और परिणाम लौटाएं |
google_trends |
कीवर्ड के लिए Google प्रवृत्तियों के डेटा को लाएँ |
scrape_html |
किसी भी URL के प्रस्तुत HTML को प्राप्त करें |
scrape_markdown |
एक URL को प्राप्त करें और पठनीय Markdown लौटाएं |
scrape_screenshot |
किसी भी URL का स्क्रीनशॉट कैप्चर करें |
चरण #7: प्रतिस्पर्धात्मक बुद्धिमत्ता एजेंट को परिभाषित करें
प्रतिस्पर्धात्मक बुद्धिमत्ता के लिए एक विशेषीकृत संकेत के साथ एक एजेंट बनाएं:
python
def create_agent(model, tools):
"""वेब डेटा एक्सेस के साथ एक प्रतिस्पर्धात्मक खुफिया एजेंट बनाएं"""
python
async def connect_mcp_tools():
"""स्क्रैपलेस MCP सर्वर से कनेक्ट करें और उपकरणों की खोज करें।"""
logger.info("स्क्रैपलेस MCP सर्वर (HTTP) से कनेक्ट हो रहा है...")
mcp_client = MCPClient(http_transport)
with mcp_client:
tools = mcp_client.list_tools_sync()
logger.info(f"खोजी गई {len(tools)} MCP उपकरण")
for tool in tools:
logger.info(f" - {tool.tool_name}")
return mcp_client, tools
def create_agent(model, tools):
"""वेब डेटा पहुंच के साथ एक प्रतिस्पर्धात्मक बुद्धिमत्ता एजेंट बनाएँ"""
system_prompt = """आप एक विशेषज्ञ प्रतिस्पर्धात्मक बुद्धिमत्ता विश्लेषक हैं जो स्क्रैपलेस MCP सर्वर के माध्यम से वेब डेटा उपकरणों का उपयोग कर सकते हैं।
## मिशन
वास्तविक समय के वेब डेटा का उपयोग करके व्यापक बाजार और प्रतिस्पर्धात्मक विश्लेषण करें।
## उपलब्ध MCP उपकरण (स्क्रैपलेस)
- google_search, google_trends
- scrape_html, scrape_markdown, scrape_screenshot
- browser_create, browser_close
- browser_goto, browser_go_back, browser_go_forward
- browser_wait_for, browser_wait
- browser_get_html, browser_get_text, browser_snapshot
- browser_click, browser_type, browser_press_key
- browser_scroll, browser_scroll_to
- browser_screenshot
## स्वायत्त विश्लेषण कार्यप्रवाह
जब विश्लेषण कार्य दिया जाता है, तो स्वायत्त रूप से:
1. लक्ष्य के आधार पर निर्णय लें कि कौन से उपकरणों का उपयोग करना है।
2. कई स्रोतों से व्यापक डेटा एकत्रित करें।
3. निष्कर्षों को उपयोगी अंतर्दृष्टियों में संश्लेषित करें।
4. विशिष्ट रणनीतिक सिफारिशें प्रदान करें।
उपकरण चयन में सक्रिय रहें। आपके पास किसी भी उपकरण का संयोजन उपयोग करने की पूरी स्वायत्तता है।"""
return Agent(
model=model,
tools=tools,
system_prompt=system_prompt
)
async def main():
"""प्रतिस्पर्धात्मक बुद्धिमत्ता एजेंट चलाएँ"""
print("AWS Strands + Scrapeless MCP प्रतिस्पर्धात्मक बुद्धिमत्ता एजेंट")
print("=" * 70)
try:
mcp_client, tools = await connect_mcp_tools()
agent = create_agent(model, tools)
print("\nएजेंट वेब डेटा पहुंच के साथ तैयार है।")
print("\nविश्लेषण प्रारंभ हो रहा है...")
print("-" * 40)
prompt = """
टेस्ला की इलेक्ट्रिक वाहन बाजार में प्रतिस्पर्धात्मक स्थिति का विश्लेषण करें।
अनुसंधान:
- वर्तमान उत्पाद लाइनअप और मूल्य निर्धारण रणनीति।
- मुख्य प्रतियोगी और उनके प्रस्ताव।
- हाल की रणनीतिक घोषणाएँ।
- बाजार हिस्सेदारी और स्थिति।
स्क्रैपलेस उपकरणों का उपयोग करके tesla.com और खोज परिणामों से वास्तविक समय का डेटा एकत्रित करें।
"""
with mcp_client:
result = await agent.invoke_async(prompt)
print("\nविश्लेषण परिणाम:")
print("=" * 50)
print(result)
print("\nविश्लेषण पूरा।")
except Exception as e:
logger.error(f"त्रुटि: {e}")
print(f"\nत्रुटि: {e}")
if __name__ == "__main__":
asyncio.run(main())
जैसा कि चरण #8 में उल्लेख किया गया है, invoke_async एक AgentResult लौटाता है जिनके गुण हैं message, stop_reason, metrics, और state। यदि आप केवल सहायक पाठ चाहते हैं तो print(result.message) का उपयोग करें।
AI एजेंट को निष्पादित करें:
bash
python agent.py
स्क्रिप्ट स्क्रैपलेस MCP सर्वर से कनेक्ट होगी, list_tools_sync() चलाएगी (जो 21 उपकरण लौटाती है — लेखन के समय होस्टेड एंडपॉइंट के खिलाफ सत्यापित), एजेंट को प्रकट करेगी, और agent.invoke_async(prompt) को कॉल करेगी। मॉडल निर्णय करता है कि कौन से उपकरणों को कॉल करना है। एजेंट वास्तव में किसी भी दिए गए रन पर क्या करता है, वह इस पर निर्भर करता है कि मॉडल क्या चुनता है — स्ट्रैन्ड्स उपकरण अनुक्रम को सीमित नहीं करता है।
निष्कर्ष
यह गाइड AWS स्ट्रैन्ड्स SDK को स्क्रैपलेस की MCP सर्वर से जोड़ती है: ~100 लाइनों का पाइथन, 21 सत्यापित MCP उपकरण मॉडल के लिए उपलब्ध हैं, और स्क्रैपलेस स्क्रैपिंग ब्राउज़र के माध्यम से सत्यापित डेटा पथ।
app.scrapeless.com पर एक API कुंजी प्राप्त करें।
क्या आप अपने AI-संचालित डेटा पाइपलाइन का निर्माण करने के लिए तैयार हैं?
हमारे समुदाय से जुड़ें ताकि एक मुफ्त योजना प्राप्त कर सकें और उन डेवलपर्स के साथ संपर्क करें जो AWS स्ट्रैन्ड्स + स्क्रैपलेस MCP एजेंटों का निर्माण कर रहे हैं: Discord · Telegram।
app.scrapeless.com पर साइन अप करें मुफ्त स्क्रैपिंग ब्राउज़र रनटाइम के लिए और ऊपर दिए गए AWS स्ट्रैन्ड्स इंटीग्रेशन को उन कार्यप्रवाहों के अनुसार अनुकूलित करें जिनकी आपकी टीम को आवश्यकता है। पूर्ण संदर्भ docs.scrapeless.com पर है। इन उपकरणों को संचालित करने वाले स्क्रैपिंग ब्राउज़र रनटाइम के बारे में अधिक जानकारी के लिए, स्क्रैपलेस स्क्रैपिंग ब्राउज़र उत्पाद पृष्ठ और स्क्रैपलेस को लैंगचेन एजेंटों के साथ एकीकृत करने पर हमारे सहयोगी गाइड को देखें।
सामान्य प्रश्न
Q1: MCP क्या है, और यह AI एजेंटों के लिए महत्वपूर्ण क्यों है?
MCP (मॉडल कंटेक्स्ट प्रोटोकॉल) AI एजेंटों को उपकरणों और डेटा स्रोतों से जोड़ने के लिए एक खुला मानक है। एक MCP सर्वर एक टाइप की गई उपकरण सूची को उजागर करता है जिसे कोई भी MCP-सचेत क्लाइंट — जिसमें AWS स्ट्रैंड्स SDK शामिल है — कॉल कर सकता है। स्क्रेपलेस MCP के साथ, एजेंट को एक वास्तविक क्लाउड ब्राउज़र, सर्च-इंजन क्वेरी और मार्कडाउन/HTML स्क्रैपर्स का टाइप एक्सेस मिलता है बिना प्रति-API गोंद कोड लिखे। एजेंट एजेंटिक लूप के भीतर कॉल करने के लिए उपकरणों का चयन करता है; MCP टाइप किए गए स्कीमा और परिणामों को ले आता है।
**प्रश्न २: होस्ट किए गए MCP एंडपॉइंट से मुझे क्या मिलता है?**
`https://api.scrapeless.com/mcp` (सं‘ x-api-token’ हेडर के साथ) पूर्ण 21-उपकरण सतह लौटाता है और इसे इस गाइड में स्ट्रैंड्स `MCPClient` के साथ एंड-टू-एंड सत्यापित किया गया है। किसी स्थानीय नोड रनटाइम या बैकग्राउंड प्रोसेस की आवश्यकता नहीं है — `streamablehttp_client(...)` एक इंपोर्ट और एक URL है।
**प्रश्न ३: एजेंटिक लूप एक उपकरण विफलता या एंटी-बॉट चुनौती को कैसे संभालता है?**
स्ट्रैंड्स उपकरण परिणाम — जिसमें त्रुटियाँ शामिल हैं — को मॉडल में वापस भेजता है, जो निर्णय लेता है कि पुनः प्रयास करना है, उपकरण बदलना है, या विफलता को उजागर करना है। विशेष रूप से स्क्रेपलेस के लिए, सामान्य सुधार `browser_close` + एक ताजा `browser_create` है, या पूर्ण ब्राउज़र सत्र से `scrape_markdown` / `scrape_html` पर वापस आना है। प्रति-कॉल प्रॉक्सी क्षेत्र एक पैरामीटर नहीं है जो MCP `browser_create` उपकरण उजागर करता है — `scrapeless-mcp-server/src/session-manager.ts` केवल `session_ttl`, `profile_id`, और `profile_persist` को फॉरवर्ड करता है। एक विशेष क्षेत्र को पिन करने के लिए, डैशबोर्ड में एक स्क्रेपलेस प्रोफाइल बनाएं जिसमें देश का समावेश हो और इसे MCP सर्वर पर `BROWSER_PROFILE_ID` एनव वेरिएबल के माध्यम से संदर्भित करें।
**प्रश्न ४: क्या इसे बिना AI एजेंट के चलाया जा सकता है?**
हाँ। हर स्क्रेपलेस MCP उपकरण को एक साधारण पायथन स्क्रिप्ट या स्ट्रीमेबल HTTP एंडपॉइंट के खिलाफ `curl` से कॉल किया जा सकता है (चरण #4 से `curl` `serverInfo.name: "scrapeless-mcp-server"` और एक `mcp-session-id` हेडर लौटाता है जिसे आप फॉलो-अप `tools/list` और `tools/call` अनुरोधों पर पुनः उपयोग करते हैं)। AWS स्ट्रैंड्स SDK इसके ऊपर एजेंटिक लूप जोड़ता है।
**प्रश्न ५: Claude Sonnet के अलावा कौन से अन्य मॉडल काम करते हैं?**
स्ट्रैंड्स `AnthropicModel` किसी भी मॉडल आईडी को स्वीकार करता है जो एंथ्रोपिक API उजागर करता है — सस्ती निकासी-और-संक्षिप्त लूप के लिए `claude-haiku-*`, भारी मल्टी-स्टेप तर्क के लिए `claude-opus-*`। स्ट्रैंड्स `OpenAIModel`, `BedrockModel`, `GeminiModel`, और Mistral, Ollama, LiteLLM, llamacpp, और SageMaker के लिए प्रदाताओं के साथ भी आता है। मॉडल लाइन को स्वैप करें; `agent.py` का बाकी हिस्सा समान रहता है।
कोई भी OpenAI-API-संगत एंडपॉइंट `OpenAIModel` के माध्यम से भी काम करता है जिसमें एक `base_url` ओवरराइड होता है। इस गाइड के लिए OpenRouter के खिलाफ एंड-टू-एंड सत्यापित किया गया:
```python
from strands.models.openai import OpenAIModel
model = OpenAIModel(
client_args={
"api_key": OPENROUTER_API_KEY,
"base_url": "https://openrouter.ai/api/v1",
},
model_id="openai/gpt-4o-mini", # या anthropic/claude-3.5-sonnet, google/gemini-flash-1.5, आदि।
params={"temperature": 0.3},
)
उस स्वैप के साथ, वही Agent(model=..., tools=tools, system_prompt=...) OpenRouter कैटलॉग के खिलाफ चलता है। इस गाइड के लिए openai/gpt-4o-mini के साथ परीक्षण किया गया: एजेंट ने स्वायत्त रूप से google_search को तीन बार और scrape_markdown को एक बार कॉल किया, stop_reason: end_turn के साथ एक साफ उत्तर लौटाया, लगभग $0.001 प्रति रन पर।
प्रश्न ६: मैं ERR_TUNNEL_CONNECTION_FAILED या 503 जैसी अस्थायी त्रुटियों को कैसे संभालूं?
दोनों स्क्रेपलेस अग्रगामी पूल से आती हैं और आमतौर पर अस्थायी होती हैं। स्ट्रैंड्स का लूप त्रुटि को फिर से मॉडल में भेजता है, जो अगले टर्न पर पुनः प्रयास करेगा। संकेत में निर्धारक सुधार के लिए, एजेंट को निर्देश दें: "यदि एक ब्राउज़र टूल एक टनल या 503 त्रुटि लौटाता है, तो पुनः प्रयास करने से पहले browser_close कॉल करें और एक ताजा browser_create शुरू करें।" वह वाक्यांश निर्णय पर निर्भर किए बिना एक साफ पुनः प्रयास उत्पन्न करता है।
प्रश्न ७: क्या कई एजेंट MCP कनेक्शन साझा कर सकते हैं?
MCPClient प्रत्येक with mcp_client: संदर्भ पर एक सत्र खोलता है। समानांतर एजेंटों के लिए, प्रत्येक को अपना खुद का MCPClient उदाहरण दें (और इसलिए इसका अपना सत्र आईडी होस्टेड एंडपॉइंट पर) एक को पुनः उपयोग करने के बजाय। होस्टेड एंडपॉइंट समांतर सत्रों के साथ स्केल करता है; प्रति-खाता समाणुपात सीमा स्क्रेपलेस मूल्य निर्धारण श्रेणी में रहती है।
प्रश्न ८: मैं अपनी गैर-स्क्रेपलेस टूल को इसके साथ कहाँ प्लग करूं?
Agent(tools=...) एक सूची स्वीकार करता है। tools + my_extra_tools पास करें जहाँ my_extra_tools कोई भी स्ट्रैंड्स-संगत उपकरण है (जिसमें @tool से सजाए गए फ़ंक्शंस या किसी अन्य MCP सर्वर से उपकरण शामिल हैं)। मॉडल स्कीमा का संघ देखता है और निर्णय लेता है कि किसका कॉल करना है।
स्क्रैपलेस में, हम केवल सार्वजनिक रूप से उपलब्ध डेटा का उपयोग करते हैं, जबकि लागू कानूनों, विनियमों और वेबसाइट गोपनीयता नीतियों का सख्ती से अनुपालन करते हैं। इस ब्लॉग में सामग्री केवल प्रदर्शन उद्देश्यों के लिए है और इसमें कोई अवैध या उल्लंघन करने वाली गतिविधियों को शामिल नहीं किया गया है। हम इस ब्लॉग या तृतीय-पक्ष लिंक से जानकारी के उपयोग के लिए सभी देयता को कोई गारंटी नहीं देते हैं और सभी देयता का खुलासा करते हैं। किसी भी स्क्रैपिंग गतिविधियों में संलग्न होने से पहले, अपने कानूनी सलाहकार से परामर्श करें और लक्ष्य वेबसाइट की सेवा की शर्तों की समीक्षा करें या आवश्यक अनुमतियाँ प्राप्त करें।



