वापस ब्लॉग पर

फैक्टरी ड्रॉयड + स्क्रैपलेस: एक रिमोट MCP सर्वर जोड़ें

Alex Johnson
Alex Johnson

Senior Web Scraping Engineer

21-Sep-2026

TL;DR:

  • droid mcp add एक कमांड में Scrapeless को जोड़ता है। --type http, एक x-api-token हेडर और --no-oauth का उपयोग करें; प्रविष्टि ~/.factory/mcp.json में पहुँच जाती है।
  • मुख्य को ${SCRAPELESS_API_KEY} के रूप में लिखें, ब्रेस के साथ। Droid उस रूप का विस्तार करता है और जब यह unset होता है तो चर का नाम रखता है, लेकिन यह एक साधा $SCRAPELESS_API_KEY को शाब्दिक पाठ के रूप में भेजता है।
  • एक परियोजना .factory/mcp.json संदर्भ को सुरक्षित रूप से ले जा सकती है। कुंजी हर डेवलपर के वातावरण में रहती है, और सर्वर connected [project] के रूप में सूचीबद्ध होता है।
  • droid mcp list चार अलग-अलग समस्याओं को अलग करता है। connected, needs authentication, failed: Failed to connect to MCP server और एक unset-variable विफलता प्रत्येक एक अलग समाधान की ओर इशारा करती है।
  • connected साबित करता है कि हेडर पहुँचा, यह नहीं कि कुंजी कार्य करती है। एक मनगढ़ंत कुंजी भी जुड़े के रूप में सूचीबद्ध होती है, इसलिए एक उपकरण कॉल से पुष्टि करें।
  • एक हेडलेस उपकरण कॉल को --auto high की आवश्यकता होती है, इसलिए इसे स्कोप करें। droid exec --auto high --only-tools 'MCP:scrapeless/scrape_markdown' उस एक उपकरण को कॉल करने देता है और कुछ और नहीं।
  • Scrapeless मुफ्त योजना पर एक कुंजी प्राप्त करें और कुछ ही मिनटों में सर्वर जोड़ें।

फैक्ट्री Droid आपके टर्मिनल से कोड की योजना बनाता और संपादित करता है, और droid exec हेडलेस में स्क्रिप्ट और CI में समान एजेंट चलाता है। कोई भी विधि अकेले एक वेब पृष्ठ को नहीं देख सकती। एक MCP सर्वर Droid को उस कार्य के दौरान कॉल करने वाले उपकरण देता है, और मेज़बान Scrapeless MCP सर्वर पृष्ठ fetching, एक क्लाउड ब्राउज़र और खोज प्रदान करता है।

सेटअप एक कमांड है। यह तय करता है कि यह किस तरह से अपनी पकड़ बनाता है कि कुंजी हेडर तक कैसे पहुँचती है, कौन सी कॉन्फ़िग फ़ाइल में प्रविष्टि रहती है, और वास्तव में droid mcp list क्या रिपोर्ट कर रहा है।

What Droid Can Call Once Scrapeless Is Added

Scrapeless सर्वर 25 उपकरणों को उजागर करता है। scrape_markdown, scrape_html और scrape_screenshot एक कॉल में एक पृष्ठ लौटाते हैं। सोलह browser_* उपकरण, browser_create से लेकर browser_close तक, एक क्लाउड ब्राउज़र सत्र को चरण-दर-चरण चलाते हैं। crawl_start, crawl_result और crawl_cancel एक क्रॉल का प्रबंधन करते हैं। google_search और google_trends खोज और ट्रेंड डेटा लौटाते हैं, और ai_scraper AI सहायकों जैसे ChatGPT और Perplexity से उत्तर कैप्चर करता है।

MCP की संरचना क्लाइंट को उपकरणों को कॉल करने और सर्वर को आपूर्ति करने से अलग करता है, यही कारण है कि Droid को कहीं और होस्ट किए गए सर्वर का उपयोग करने के लिए केवल एक URL और एक हेडर की आवश्यकता होती है।

Prerequisites

  • फैक्ट्री Droid CLI। इस गाइड ने संस्करण 0.213.0 और 0.220.0 का उपयोग किया।
  • एक साइन-इन किए गए फैक्ट्री खाते की आवश्यकता है, या FACTORY_API_KEY सेट, उस चरण के लिए जहाँ मॉडल एक प्रॉम्प्ट चलाता है।
  • Scrapeless डैशबोर्ड से एक Scrapeless API कुंजी।

Step 1: Add the Server

bash Copy
droid mcp add scrapeless https://api.scrapeless.com/mcp --type http --header "x-api-token: YOUR_SCRAPELESS_API_KEY" --no-oauth

--type http स्ट्रीम करने योग्य HTTP ट्रांसपोर्ट का चयन करता है; डिफ़ॉल्ट प्रकार stdio है, जो URL को लॉन्च करने के लिए एक कमांड के रूप में मानता है। --no-oauth OAuth प्रवाह को बंद कर देता है जो Droid अन्यथा एक हेडर-प्रमाणीकृत दूरस्थ सर्वर के लिए पेश करता है।

text Copy
Added HTTP MCP server scrapeless with URL: https://api.scrapeless.com/mcp

~/.factory/mcp.json में लिखी गई प्रविष्टि:

json Copy
{
  "mcpServers": {
    "scrapeless": {
      "url": "https://api.scrapeless.com/mcp",
      "headers": {
        "x-api-token": "YOUR_SCRAPELESS_API_KEY"
      },
      "oauth": false,
      "disabled": false,
      "type": "http"
    }
  }
}

"oauth": false वह है जो --no-oauth ने जोड़ा। "disabled": false सर्वर को सक्रिय रखता है।

Step 2: Put a Variable Reference in the Header

उपरोक्त कमांड फ़ाइल में एक शाब्दिक कुंजी छोड़ती है। इसे ${SCRAPELESS_API_KEY} के साथ बदलें ताकि फ़ाइल एक नाम रखे और आपका शेल मान रखे। ब्रेस मायने रखती हैं: Droid POSIX पैरामीटर विस्तारण के ब्रेस वाले रूप का विस्तार करता है और एक साधा $SCRAPELESS_API_KEY बिना परिवर्तन के पास करता है।

json Copy
{
  "mcpServers": {
    "scrapeless": {
      "url": "https://api.scrapeless.com/mcp",
      "headers": {
        "x-api-token": "${SCRAPELESS_API_KEY}"
      },
      "oauth": false,
      "disabled": false,
      "type": "http"
    }
  }
}
bash Copy
export SCRAPELESS_API_KEY="your-scrapeless-api-key"
droid mcp list
text Copy
Configured MCP servers:
  scrapeless  http  connected  [user]

जब उस शेल में चर सेट नहीं होता है, तो Droid इसे नामित करता है बजाय कि अस्पष्टता से विफल हो जाने के:

text Copy
  scrapeless  http  failed: MCP server credential references an unset environment variable "SCRAPELESS_API_KEY"  [user]

ब्रेस को छोड़ दें और वह चेतावनी कभी प्रकट नहीं होती। Droid शाब्दिक पाठ $SCRAPELESS_API_KEY भेजता है, सर्वर अभी भी connected के रूप में सूचीबद्ध है, और समस्या केवल पहले उपकरण कॉल पर प्रकट होती है।

Step 3: Share the Server Through a Project mcp.json

Droid परियोजना से .factory/mcp.json भी पढ़ता है, ताकि सर्वर सभी के लिए भंडार में रह सके जो इसे क्लोन करते हैं। उस फ़ाइल में एक शाब्दिक कुंजी इसके साथ कमिट की जाएगी, और हर्ड-कोडेड प्रमाण पत्र उसी कारण से एक सूचीबद्ध सॉफ़्टवेयर कमजोरी है। ब्रेस वाला संदर्भ कमिट करना सुरक्षित है क्योंकि प्रत्येक डेवलपर अपने स्वयं के वातावरण से एक कुंजी प्रदान करता है। समान JSON को भंडार की जड़ में .factory/mcp.json के रूप में सहेजें:

text Copy
  scrapeless  http  connected  [project]

कोष्ठक वाला लेबल उस स्कोप का है जिसमें Droid ने प्रविष्टि को लोड किया, जो पुष्टि करने का सबसे तेज़ तरीका है कि परियोजना फ़ाइल वही है जो प्रभाव में है। बिना चर के, परियोजना प्रविष्टि एक समान unset-variable विफलता की रिपोर्ट करती है, जो [project] के रूप में लेबल की जाती है।
अब इसे सेट कर रहे हैं? Scrapeless मुफ्त योजना कनेक्शन और आपके पहले टूल कॉल को कवर करती है।

चरण 4: जानें कि ड्रॉइड mcp सूची रिपोर्ट क्या करती है

स्थिति कारण सुधार
connected सर्वर ने x-api-token हैडर के साथ एक अनुरोध स्वीकार किया कुंजी की पुष्टि के लिए एक टूल कॉल करें
failed: … unset environment variable "SCRAPELESS_API_KEY" ${SCRAPELESS_API_KEY} संदर्भित है लेकिन निर्यातित नहीं है ड्रॉइड चलाने वाले शेल में चर का निर्यात करें
needs authentication OAuth सक्षम होने पर 401, आमतौर पर Authorization: Bearer हैडर से x-api-token का उपयोग करें और --no-oauth जोड़ें
failed: Failed to connect to MCP server OAuth अनुप्रयुक्त होने पर 401, फिर से आमतौर पर एक Bearer हैडर x-api-token का उपयोग करें

Bearer पंक्तियाँ अधिकांशतः आती हैं क्योंकि लगभग हर MCP उदाहरण इस तरीके से प्रमाणीकरण करता है। Scrapeless एक अनुरोध का जवाब बिना x-api-token के देता है और 401 Unauthorized response के साथ, और OAuth चालू होने पर, ड्रॉइड इसे एक साइन-इन अनुरोध के रूप में पढ़ता है:

text Copy
  scrapeless  http  needs authentication  [user]
Some servers need authentication. Start droid and run /mcp to authenticate.

/mcp चलाना इसे हल नहीं करता, क्योंकि Scrapeless अंत बिंदु पूरा करने के लिए कोई OAuth प्रवाह नहीं है। इसके बजाय हैडर को बदलें।

जो स्थिति धोखा दे सकती है वह connected है। Scrapeless हैंडशेक किसी भी गैर-खाली x-api-token मान को स्वीकार करता है, इसलिए एक गलत टाइप किया गया या रद्द की गई कुंजी एक अच्छी कुंजी के रूप में सूचीबद्ध होती है।

चरण 5: ड्रॉइड को केवल Scrapeless उपकरणों के साथ चलाएँ

droid exec एक प्रांप्ट हेडलेस में चलाती है, और यह केवल पढ़ने के लिए मोड में शुरू होती है। एक MCP टूल के लिए कॉल उस मोड से परे है: ड्रॉइड 0.220.0 में चलाना "जारी रखने के लिए अपर्याप्त अनुमति" के साथ रुक जाता है, और --auto medium फिर भी "फिर से --auto high के साथ चलाएँ" का उत्तर देता है। --only-tools ध्वज MCP चयनकर्ताओं को स्वीकार करता है, इसलिए उच्च स्वायत्तता स्तर को एक चयनकर्ता के साथ जोड़ें जो एक उपकरण की अनुमति देता है:

bash Copy
droid exec --auto high --only-tools 'MCP:scrapeless/scrape_markdown' "Use the scrapeless MCP server's scrape_markdown tool on https://example.com and reply with the first heading of the page, quoted exactly."

ड्रॉइड उत्तर देता है:

text Copy
The first heading of the page is:

"Example Domain"

--list-tools को उसी चयनकर्ता में जोड़ना दिखाता है कि वह चलाना क्या पहुंच सकता है। ड्रॉइड MCP उपकरणों को <server>___<tool> नामित करता है, और scrapeless___scrape_markdown एकमात्र ऐसा है जिसे अनुमति दी गई है, और अन्य 24 Scrapeless उपकरणों और ड्रॉइड के अंतर्निहित फ़ाइल और शेल उपकरणों को रोक दिया गया है। 'MCP:scrapeless' इसके बजाय सभी 25 Scrapeless उपकरणों की अनुमति देता है, और --add-tools और --remove-tools समान चयनकर्ताओं को स्वीकार करते हैं।

परिणाम में पृष्ठ सामग्री पुष्टि है। एक खराब कुंजी के साथ वही कॉल फिर भी HTTP 200 लौटाता है, और परिणाम पाठ Failed to fetch data के साथ शुरू होता है; Scrapeless इसे MCP त्रुटि के रूप में चिह्नित नहीं करता है, इसलिए स्थिति के बजाय पाठ पढ़ें।

सर्वर के बारे में अधिक जानकारी के लिए, Scrapeless MCP सर्वर की घोषणा कवर करती है जो यह प्रकट करता है और हमारा MCP एकीकरण गाइड यह तुलना करता है कि एजेंट एक ब्राउज़र तक कैसे पहुंचते हैं। ब्राउज़र MCP प्रलेखन में कॉन्फ़िगरेशन संदर्भ है, Scraping API पृष्ठ उपकरणों के पीछे के अभिनेताओं का वर्णन करता है, और मूल्य निर्धारण बताता है कि एक कॉल की लागत क्या है।

निष्कर्ष

ड्रॉइड में Scrapeless जोड़ना एक कमांड है। सेटअप को विश्वसनीय रखने के लिए यह उस पर निर्भर करता है कि droid mcp list क्या देख सकता है और क्या नहीं: संकुचित ${SCRAPELESS_API_KEY} संदर्भ ड्रॉइड को एक गायब चर का नाम रखने देता है, --no-oauth एक हैडर गलती को साइन-इन प्रांप्ट के बजाय विफलता में बदलता है, और केवल एक उपकरण कॉल, न कि connected स्थिति, साबित करता है कि कुंजी काम करती है।

संकुचित संदर्भ को एक प्रोजेक्ट .factory/mcp.json में डालें और पूरी टीम बिना किसी को की कमिट किए सर्वर प्राप्त कर लेती है।

क्या आप ड्रॉइड को वेब का लाइव दृश्य देने के लिए तैयार हैं? Scrapeless मुफ्त योजना के साथ शुरू करें और सर्वर जोड़ें।

सामान्य प्रश्न

प्रश्न: मैं फैक्टरी ड्रॉइड में API कुंजी के साथ एक दूरस्थ MCP सर्वर कैसे जोड़ूं?

droid mcp add scrapeless https://api.scrapeless.com/mcp --type http --header "x-api-token: YOUR_SCRAPELESS_API_KEY" --no-oauth चलाएँ। प्रविष्टि ~/.factory/mcp.json में जाती है, जहाँ आप पारंपरिक कुंजी को ${SCRAPELESS_API_KEY} के साथ बदल सकते हैं।

प्रश्न: क्या ड्रॉइड MCP हैडरों में पर्यावरण चर का विस्तार करता है?

हाँ, संकुचित रूप में। ${SCRAPELESS_API_KEY} चर के मान के साथ बदल दिया जाता है, और एक अस्थायी चर एक विफल स्थिति उत्पन्न करता है जो इसका नाम बताता है। एक नग्न $SCRAPELESS_API_KEY को शाब्दिक पाठ के रूप में भेजा जाता है।
Q: क्यों droid mcp सूची कहती है कि प्रमाणन की आवश्यकता है?

सर्वर ने OAuth सक्षम होने पर 401 लौटाया, इसलिए Droid एक साइन-इन प्रदान करता है। Scrapeless के लिए इसका अधिकतर मतलब Authorization: Bearer हेडर है। x-api-token का उपयोग करें और --no-oauth जोड़ें; /mcp चलाना हेडर असंगति को ठीक नहीं कर सकता।

Q: ~/.factory/mcp.json और .factory/mcp.json में क्या अंतर है?

~/.factory/mcp.json आपकी यूज़र कंफ़िग है और यह प्रत्येक प्रोजेक्ट में लागू होती है। .factory/mcp.json एक रिपॉजिटरी में उस प्रोजेक्ट पर लागू होती है, [project] के रूप में droid mcp list में दिखाई देती है, और इसे तब तक प्रतिबद्ध किया जा सकता है जब तक कि कुंजी ${SCRAPELESS_API_KEY} संदर्भ है।

Q: क्या कनेक्टेड का मतलब है कि मेरी Scrapeless कुंजी मान्य है?

नहीं। Scrapeless हैंडशेक किसी भी गैर-खाली x-api-token मान को स्वीकार करता है, इसलिए एक गलत कुंजी भी connected के रूप में सूचीबद्ध होती है। एक टूल कॉल जो पृष्ठ सामग्री लौटाता है, यह प्रमाण है; एक खराब कुंजी Failed to fetch data से शुरू होने वाला पाठ लौटाती है।

Q: मैं Scrapeless टूल तक droid exec रन को कैसे सीमित करूं?

हर Scrapeless टूल के लिए --only-tools 'MCP:scrapeless' पास करें, या एक के लिए 'MCP:scrapeless/scrape_markdown', --auto high के साथ, जिसकी एक MCP टूल कॉल को आवश्यकता होती है। --add-tools और --remove-tools समान चयनकर्ता लेते हैं।

Q: मैं Droid से Scrapeless सर्वर को कैसे हटाऊं?

droid mcp remove scrapeless चलाएं। यह कमांड उस कंफ़िग फ़ाइल से प्रविष्टि को हटा देती है जो इसे परिभाषित करती है।

स्क्रैपलेस में, हम केवल सार्वजनिक रूप से उपलब्ध डेटा का उपयोग करते हैं, जबकि लागू कानूनों, विनियमों और वेबसाइट गोपनीयता नीतियों का सख्ती से अनुपालन करते हैं। इस ब्लॉग में सामग्री केवल प्रदर्शन उद्देश्यों के लिए है और इसमें कोई अवैध या उल्लंघन करने वाली गतिविधियों को शामिल नहीं किया गया है। हम इस ब्लॉग या तृतीय-पक्ष लिंक से जानकारी के उपयोग के लिए सभी देयता को कोई गारंटी नहीं देते हैं और सभी देयता का खुलासा करते हैं। किसी भी स्क्रैपिंग गतिविधियों में संलग्न होने से पहले, अपने कानूनी सलाहकार से परामर्श करें और लक्ष्य वेबसाइट की सेवा की शर्तों की समीक्षा करें या आवश्यक अनुमतियाँ प्राप्त करें।

सबसे लोकप्रिय लेख

सूची