सक्रपलेस को ग्रोक से कनेक्ट कैसे करें: MCP कनेक्टर सेटअप
Senior Cybersecurity Analyst
TL;DR:
- Grok का CLI MCP बोलता है, इसलिए Scrapeless को जोड़ना एक TOML तालिका है: एक
urlऔर एकx-api-tokenहैडर। grok mcp doctorयह बताता है कि यह काम किया या नहीं —✓ server started (1.0s),✓ handshake OK (protocol 2025-06-18),✓ 25 tools discovered।- स्कोप तय करता है कि सर्वर बिल्कुल चलता है या नहीं। एक अविश्वसनीय फ़ोल्डर में एक रेपो-स्थानीय
.grok/config.toml✗ folder untrustedरिपोर्ट करता है और 0 सर्वर के रूप में गिना जाता है; उपयोगकर्ता स्कोप पर वही तालिका शुरू होती है। - हैडर
x-api-tokenहै,Authorization: Bearerनहीं। एक Bearer हैडर हैंडशेक को विफल करता है:grok mcp doctor✗ handshake failedके साथHTTP 401रिपोर्ट करता है। grok mcp add --header "..."सही कॉन्फ़िगरेशन लिखता है और आपकी कुंजी को शेल इतिहास में डालता है; तालिका को स्वयं लिखना ऐसा नहीं करता।25 tools discoveredपुष्टि करता है कि हैडर आया, न कि कुंजी मान्य है — Scrapeless किसी भी कुंजी मान के लिए सभी 25 उपकरणों की सूची बनाता है। एक असलीtools/callजो पृष्ठ सामग्री लौटाता है, यह एकमात्र प्रमाण है कि प्रामाणिकता काम करती है।- पहले एक कुंजी प्राप्त करें Scrapeless निःशुल्क योजना पर।
एक टर्मिनल में एक एजेंट फ़ाइलें पढ़ने और आदेश चलाने में अच्छा होता है, और खुली वेब पर कुछ भी देख नहीं पाता। MCP उस अंतर को बंद करने का तरीका है: क्लाइंट एक सर्वर से उपकरण परिभाषाएँ बनाता है, मॉडल एक मोड़ के बीच में एक का चयन करता है, और "यह पृष्ठ अभी क्या कहता है" एक कॉल बन जाता है न कि एक कॉपी-पेस्ट।
Grok का CLI एक प्रथम श्रेणी का MCP कार्यान्वयन करता है, जिसमें एक diagnistic उपकमांड शामिल है जो बताता है कि किस चरण में एक कनेक्शन विफल हुआ न कि एकल लाल या हरा। कनेक्टर को सेट करना दो TOML तालिकाएँ है; उस डायग्नोस्टिक को पढ़ना वह भाग है जो बाद में समय बचाता है।
What You Get
पच्चीस उपकरण, एक जीवंत tools/list से वर्णित किए गए न कि दस्तावेज़ से कॉपी किया गया:
| Group | Tools |
|---|---|
| Page content | scrape_markdown, scrape_html, scrape_screenshot |
| Cloud browser | browser_create, browser_goto, browser_click, browser_type, browser_get_text, browser_get_html, browser_snapshot, browser_screenshot, browser_scroll, browser_scroll_to, browser_wait, browser_wait_for, browser_press_key, browser_go_back, browser_go_forward, browser_close |
| Crawling | crawl_start, crawl_result, crawl_cancel |
| Search | google_search, google_trends |
| AI assistant answers | ai_scraper |
scrape_markdown एक एजेंट द्वारा पूछे गए अधिकांश चीजों को कवर करता है — एक कॉल, एक दस्तावेज़। browser_* समूह एक सत्र है जिसे मॉडल कई मोड़ों में संचालित करता है, जो कि किसी भी क्लिक या लॉगिन के पीछे की आवश्यकता है।
Prerequisites
- Grok CLI। यहाँ उपयोग किया गया संस्करण
grok 0.2.118 (1e1687c1cf)है। - एक Scrapeless API कुंजी।
- सर्वर के लिए कुछ स्थापित करने की आवश्यकता नहीं है। यह होस्टेड है, इसलिए कोई पैकेज और कोई स्थानीय प्रक्रिया नहीं है — क्लाइंट स्ट्रीम करने योग्य HTTP पर एक URL से कनेक्ट करता है, जो दो परिवहन में से एक है मॉडल संदर्भ प्रोटोकॉल विनिर्देश परिभाषित करता है।
Step 1: Add the Server
CLI के लिए एक उपकमांड है:
bash
grok mcp add -t http -s user scrapeless https://api.scrapeless.com/mcp \
--header "x-api-token: YOUR_SCRAPELESS_API_KEY"
text
Added HTTP MCP server 'scrapeless' with URL: https://api.scrapeless.com/mcp to user config
File modified: ~/.grok/config.toml
-t http परिवहन का चयन करता है (वैकल्पिक stdio और पुराना sse है), और -s user ~/.grok/config.toml को लिखता है न कि भंडार में।
जो वह लिखता है वह एक जोड़ी TOML तालिकाएँ हैं:
toml
[mcp_servers.scrapeless]
url = "https://api.scrapeless.com/mcp"
enabled = true
[mcp_servers.scrapeless.headers]
x-api-token = "YOUR_SCRAPELESS_API_KEY"
जानते हुए कि आकार मायने रखता है, क्योंकि --header फ़्लैग आपकी कुंजी को शेल इतिहास में और प्रक्रिया सूची में डालता है जबकि आदेश चल रहा है। उन छह लाइनों को स्वयं लिखना दोनों से बचाता है, और यह आपको समय सीमाएँ जोड़ने की अनुमति देता है जो CLI सेट नहीं करता:
toml
[mcp_servers.scrapeless]
url = "https://api.scrapeless.com/mcp"
startup_timeout_sec = 30
tool_timeout_sec = 120
[mcp_servers.scrapeless.headers]
x-api-token = "YOUR_SCRAPELESS_API_KEY"
हेडर नाम सही प्राप्त करना महत्वपूर्ण है। Scrapeless x-api-token पढ़ता है; अधिकांश MCP उदाहरण Authorization: Bearer दिखाते हैं क्योंकि यही HTTP प्रमाणन ढांचा बीयरर क्रेडेंशियल्स के लिए निर्दिष्ट करता है। यहाँ एक Bearer हैडर हैंडशेक पूर्ण होने से पहले विफल होता है — initialize अनुरोध HTTP 401 Unauthorized: Missing x-api-token header लौटाता है, और डॉक्टर सर्वर को विफल करने के रूप में गिनता है।
Step 2: Read the Diagnostic
यह वह हिस्सा है जिसे सीखना महत्वपूर्ण है। grok mcp doctor हर चरण को अलग से रिपोर्ट करता है:
text
MCP Doctor
Config sources
~/.grok/config.toml 1 server
~/.claude.json not found
.mcp.json not found
grok.com skipped (not logged in)
scrapeless (http: https://api.scrapeless.com/mcp)
✓ server started (1.0s)
✓ handshake OK (protocol 2025-06-18)
✓ 25 tools discovered
उस आउटपुट में चार स्वतंत्र तथ्य। कौन से कॉन्फ़िगरेशन फ़ाइलें पढ़ी गईं और प्रत्येक ने कितने सर्वर प्रदान किए। क्या कनेक्शन खोला गया, और इसमें कितना समय लगा। क्या MCP हैंडशेक पूरा हुआ, और किस प्रोटोकॉल संस्करण पर। और खोज से कितने उपकरण वापस आए।
आखिरी दो सामान्य JSON-RPC 2.0 विनिमय हैं — एक initialize अनुरोध उसके बाद tools/list — यही कारण है कि वे एक-दूसरे से स्वतंत्र रूप से सफल या विफल हो सकते हैं।
कोई भी एक बिंदु पर विफलता एक अलग कारण की ओर ले जाती है, यही कारण है कि स्टेज्ड आउटपुट एकल लाल या हरे से बेहतर है। जब आप एक स्क्रिप्ट में इस पर ज़ोर देना चाहते हैं, तो एक --json मोड भी है।
grok mcp list एक बार जब यह काम कर रहा हो तो त्वरित जांच है:
text
scrapeless: https://api.scrapeless.com/mcp
चरण 3: स्कोप को समझें, या यह शुरू नहीं होगा
Grok उपयोगकर्ता स्कोप से MCP कॉन्फ़िग पढ़ता है और एक रेपो-स्थानीय .grok/config.toml से। दूसरे में एक शर्त जुड़ी होती है जो एक उलझन भरे पहले रन का उत्पादन करती है।
एक परियोजना फ़ोल्डर में रखा गया समान सर्वर तालिका:
text
Config sources
~/.grok/config.toml not found
/root/verify-grok-proj/.grok/config.toml 0 servers
scrapeless (http: https://api.scrapeless.com/mcp)
✗ folder untrusted (repo-local (project-scoped) server not started for an untrusted folder)
दो चीजें ध्यान देने योग्य हैं। सर्वर शुरू नहीं हुआ — एक परियोजना-स्कोप वाला MCP सर्वर तब तक नहीं खोला जाता जब तक फ़ोल्डर पर भरोसा न किया जाए, क्योंकि एक चेकआउट की गई रिपॉजिटरी में कॉन्फ़िग फ़ाइल अन्यथा आपके एजेंट को किसी भी समाप्ति बिंदु की ओर इंगित कर सकती है जिसे लेखक ने चुना। और कॉन्फ़िग-स्रोत लाइन 0 सर्वर पढ़ती है हालाँकि फ़ाइल एक को परिभाषित करती है, इसलिए स्रोतों की गणना आपको यह बताने के लिए पर्याप्त नहीं है कि कॉन्फ़िग स्वीकृत थी।
एक कुंजी के लिए उपयोगकर्ता स्कोप का उपयोग करें जो आपकी है। एक टीम के साथ एक सर्वर साझा करने के लिए परियोजना स्कोप का उपयोग करें, और मशीन प्रति फ़ोल्डर-भरोसे की चरण की अपेक्षा करें।
चरण 4: क्षमता की पुष्टि करें, बैज नहीं
25 tools discovered एक tools/list का परिणाम है, और वह कॉल स्वयं MCP सर्वर द्वारा उत्तरित होती है - यह कभी भी अपस्ट्रीम एपीआई तक नहीं पहुँचती। इसलिए यह पता लगाना सफल होता है चाहे इसके पीछे क्रेडेंशियल कितनी भी अच्छी हो।
यह एक सैद्धांतिक अंतर नहीं है। एक राउटिंग गेटवे जो इस ही समाप्ति बिंदु के सामने एक पुरानी संग्रहीत टोकन के साथ है, उसने अपना पूरा उपकरण सेट खोज लिया और फिर पहले वास्तविक कॉल पर एक अमान्य-टोकन त्रुटि लौटाई, जबकि एक कार्यशील कुंजी के साथ वही समाप्ति बिंदु HTTP 200 लौटाता है।
जो जांच इसे तय करती है वह एक उपकरण कॉल है:
text
initialize HTTP 200 server=scrapeless-mcp-server v0.2.0
tools/list HTTP 200 25 tools
tools/call scrape_markdown HTTP 200 8940 chars of page content
उस परिणाम में पृष्ठ सामग्री सबूत है। इसके पहले सब कुछ सेटअप की रिपोर्टिंग है: एक गलत कुंजी के साथ कॉल फिर भी HTTP 200 लौटाता है, बिना एक isError ध्वज के, और इसका पाठ Failed to fetch data से शुरू होता है।
नोट: एक Grok टर्न के अंदर से उस कॉल को चलाना xAI प्रमाणीकरण की आवश्यकता होती है, जो इस वॉकथ्रू के वातावरण में नहीं था —
grok -p "..."Not signed inलौटाता है। कनेक्टर, हैंडशेक, खोज और उपरोक्त उपकरण कॉल सभी प्रमाणित हैं; अंतिम मॉडल-लेखित टर्न यहां विश्वास पर लिया गया एक कदम है।grok loginके साथ साइन इन करें याXAI_API_KEYसेट करें और वही उपकरण मॉडल के लिए उपलब्ध हैं।
चरण 5: इसे प्रेरित करें
एक बार उपकरणों की खोज हो जाने के बाद, मॉडल उनके बीच चुनता है। उपकरण का नाम देना एक अनुमान का एक चक्र हटा देता है:
text
Use the scrapeless scrape_markdown tool on
https://books.toscrape.com/catalogue/category/books/mystery_3/index.html
and give me the first five titles with their prices as a table.
दो आदतें मदद करती हैं। जब नौकरी एक फ़ेच है तो उपकरण का नाम बताएं, और जब वह नहीं है तो अनुक्रम का वर्णन करें - browser_* उपकरण एक सत्र साझा करते हैं, इसलिए "एक सत्र बनाएं, URL पर जाएं, फ़िल्टर पर क्लिक करें, फिर पाठ पढ़ें" चार असंबंधित निर्देशों से भिन्न है।
और आप जिस आउटपुट रूप को चाहते हैं, उसके लिए पूछें। scrape_markdown एक दस्तावेज लौटाता है; चाहे आपको एक तालिका प्राप्त हो या एक पैराग्राफ यह प्रॉम्प्ट द्वारा निर्धारित होता है, न कि उपकरण द्वारा।
क्या आप इसे अब सेट करने जा रहे हैं? Scrapeless मुफ्त योजना हैंडशेक और पहले कुछ उपकरण कॉल के माध्यम से जाने के लिए पर्याप्त कॉल कवर करती है।
क्या वापस आता है
scrape_markdown सामग्री ब्लॉक में Markdown के रूप में पृष्ठ लौटाता है:
text
Response: "- [Home](https://books.toscrape.com/index.html)
- [Books](https://books.toscrape.com/catalogue/category/books_1/index.html)
...
एक मॉडल के लिए HTML के बजाय Markdown सही डिफ़ॉल्ट है। वही पृष्ठ scrape_markdown से 8,940 वर्ण है जबकि scrape_html से 53,800, इसलिए scrape_html लगभग छह गुना उन मार्कअप पर संदर्भ खर्च करता है जिसे कोई नहीं पढ़ता। अपने स्वयं के कोड का उपयोग करें scrape_html जब आपका अपना कोड परिणाम को पार्स करेगा, और scrape_markdown जब मॉडल उपभोक्ता है।
एक राउटर उपकरण संख्या बदलता है
यदि क्लाइंट एक गेटवे पर इशारा करता है जो एक URL के पीछे कई MCP सर्वरों के सामने है, तो खोजी गई सूची राउटर के अपने डिस्पैच उपकरण होती है, न कि प्रदाता की। वही क्लाइंट, वही आदेश: 3 उपकरण एक स्मार्ट-राउटिंग गेटवे के माध्यम से, 25 सीधे https://api.scrapeless.com/mcp के खिलाफ।
दोनों व्यवस्थाएँ वैध हैं। एक राउटर एक क्रेडेंशियल और कई प्रदाताओं के बीच एक ऑडिट ट्रेल रखता है; एक सीधा कनेक्शन मॉडल को सही उपकरण सतह देता है। grok mcp doctor का उपकरण संख्या आपको यह बताती है कि आप कौन सा चला रहे हैं, जो किसी भी कॉन्फ़िग परिवर्तनों के बाद इसे पढ़ने के लिए पर्याप्त कारण है।
जिस उत्पाद को कोड द्वारा संचालित किया गया है न कि एक एजेंट द्वारा, हमारा ग्रोक वेब स्क्रैपिंग गाइड मॉडल-प्लस-फेच पैटर्न को कवर करता है, और एमसीपी सर्वर लॉन्च पोस्ट बताता है कि सर्वर क्या प्रदान करता है। स्क्रैपिंग एपीआई पृष्ठ इन उपकरणों के पीछे अभिनेता परिवार को वर्णित करता है, डॉक्स प्रति-अभिनेता संदर्भ ले जाते हैं, और मूल्य निर्धारण बताता है कि एक कॉल की लागत क्या है।
निष्कर्ष
दो टीओएमएल तालिकाएँ और एक शीर्षक नाम ही पूरा कनेक्टर है। grok mcp doctor फिर आपको बताता है कि चार चरणों में से कौन सा काम कर रहा है, और इसकी 25 tools discovered लाइन किसी भी परिवर्तन के बाद जांचने के लिए है — क्योंकि 3 का मतलब है कि आप एक राउटर से बात कर रहे हैं और 0 सर्वर एक फ़ाइल से जो एक है, का मतलब है कि फ़ोल्डर अविश्वसनीय है।
दो गलतियाँ जो टालने लायक हैं, दोनों सस्ती हैं। x-api-token का उपयोग करें न कि एक बीयरर हेडर, क्योंकि बीयरर संस्करण को हैंडशेक के दौरान 401 के साथ खारिज कर दिया जाता है और grok mcp doctor तुरंत इसे ध्वजांकित करता है। और खोज को इसके स्वयं की सेटअप रिपोर्टिंग के रूप में मानें: एक tools/call जो वास्तविक पृष्ठ सामग्री वापस करता है, वास्तव में यह साबित करता है कि क्रेडेंशियल काम करता है।
क्या आप ग्रोक को एक फेच देने के लिए तैयार हैं, जिसे वह कॉल कर सकता है? स्क्रैपलेस मुफ्त योजना से शुरू करें और सर्वर जोड़ें।
सामान्य प्रश्न
Q: क्या ग्रोक एमसीपी सर्वरों का समर्थन करता है?
हाँ। CLI में एक समर्पित grok mcp उपकमांड है जिसमें add, list, remove, enable, disable और doctor है, और यह stdio, http और sse परिवहन का समर्थन करता है। इस प्रकार के होस्ट किए गए सर्वर के लिए रिमोट HTTP का उपयोग करना चाहिए, क्योंकि इसे किसी स्थानीय प्रक्रिया की आवश्यकता नहीं है।
Q: मैं ग्रोक में स्क्रैपलेस एमसीपी सर्वर को कैसे जोड़ूं?
grok mcp add -t http -s user scrapeless https://api.scrapeless.com/mcp --header "x-api-token: ...", या समकक्ष [mcp_servers.scrapeless] और [mcp_servers.scrapeless.headers] तालिकाएँ ~/.grok/config.toml में स्वयं लिखें। हस्त-लिखित मार्ग कुंजी को शेल इतिहास से बाहर रखता है और आपको startup_timeout_sec और tool_timeout_sec सेट करने की अनुमति देता है।
Q: मेरा परियोजना-स्कोपड एमसीपी सर्वर शुरू क्यों नहीं हो रहा है?
क्योंकि फ़ोल्डर अविश्वसनीय है। एक रेपो-स्थानीय .grok/config.toml तब तक शुरू नहीं होगा जब तक आप फ़ोल्डर पर भरोसा नहीं करते, और डायग्नोस्टिक स्पष्ट रूप से यह कहता है: ✗ folder untrusted (repo-local (project-scoped) server not started for an untrusted folder)। कॉन्फ़िग-सोर्स लाइन इसे 0 सर्वर के रूप में भी गिनती है, जिससे फ़ाइल खाली लगती है जब यह नहीं होती। उपयोगकर्ता स्कोप में एंट्री को स्थानांतरित करना कुंजी आपके होने पर गेट से बचाता है।
Q: क्या हेडर x-api-token या Authorization: Bearer होना चाहिए?
x-api-token। इसके बिना अनुरोध 401 Unauthorized: Missing x-api-token header लौटाता है। हैंडशेक पर एक बीयरर हेडर को इसी तरह से खारिज किया जाता है, इसलिए grok mcp doctor ✗ handshake failed और Found 0 healthy, 1 failing दिखाता है — डॉक्टर किसी भी उपकरण कॉल से पहले एक-शब्द की गलती पकड़ लेता है।
Q: मैं कैसे जांचूं कि ग्रोक कौन से उपकरण देख सकता है?
grok mcp doctor सर्वर प्रति खोजे गए काउंट को प्रिंट करता है, और --json मशीन-पढ़ने योग्य रूप में वही देता है। इस एंडपॉइंट के खिलाफ यह 25 रिपोर्ट करता है। यदि आप 3 देखते हैं, तो क्लाइंट एक रूटिंग गेटवे की ओर इशारा कर रहा है न कि सर्वर की, और वे तीन राउटर के वितरण उपकरण हैं।
Q: क्या 25 tools discovered यह जानने के लिए पर्याप्त है कि यह काम करता है?
नहीं। खोज एक tools/list है, जिसे एमसीपी सर्वर स्थानीय रूप से उत्तर देता है बिना ऊपरी एपीआई से संपर्क किए, इसलिए यह एक अस्वीकृत क्रेडेंशियल के खिलाफ भी सफल होता है। एक उपकरण कॉल करें और वास्तविक पृष्ठ सामग्री की तलाश करें; एक खराब कुंजी सामान्यतः Failed to fetch data से शुरू होने वाला पाठ वापस करती है, और स्क्रैपलेस इसे isError पर सेट नहीं करता है।
Q: क्या मुझे कनेक्टर काम करने के लिए xAI में साइन इन होना चाहिए?
कनेक्टर को इसकी आवश्यकता नहीं है: हैंडशेक और उपकरण खोज कोई xAI क्रेडेंशियल के बिना चलती हैं। वास्तव में एक उपकरण को कॉल करने के लिए इसकी आवश्यकता होती है, क्योंकि वह एक ग्रोक अनुमान मोड़ है — इसके बिना, grok -p "..." Not signed in लौटाता है। grok login चलाएँ या XAI_API_KEY सेट करें।
Q: क्या मैं सीमित कर सकता हूँ कि मॉडल कौन से उपकरण कॉल कर सकता है?
हाँ, क्लाइंट साइड पर। CLI अनुमति देने और अस्वीकार करने के नियमों के साथ ही --tools और --disallowed-tools के लिए अंतर्निर्मित उपकरणों को उजागर करता है, इसलिए एक सेटअप जो केवल पृष्ठ सामग्री की आवश्यकता होती है, scrape_markdown की अनुमति दे सकता है और ब्राउज़र-सेशन उपकरणों को अनुपलब्ध छोड़ सकता है। इसे काम तक सीमित करें।
स्क्रैपलेस में, हम केवल सार्वजनिक रूप से उपलब्ध डेटा का उपयोग करते हैं, जबकि लागू कानूनों, विनियमों और वेबसाइट गोपनीयता नीतियों का सख्ती से अनुपालन करते हैं। इस ब्लॉग में सामग्री केवल प्रदर्शन उद्देश्यों के लिए है और इसमें कोई अवैध या उल्लंघन करने वाली गतिविधियों को शामिल नहीं किया गया है। हम इस ब्लॉग या तृतीय-पक्ष लिंक से जानकारी के उपयोग के लिए सभी देयता को कोई गारंटी नहीं देते हैं और सभी देयता का खुलासा करते हैं। किसी भी स्क्रैपिंग गतिविधियों में संलग्न होने से पहले, अपने कानूनी सलाहकार से परामर्श करें और लक्ष्य वेबसाइट की सेवा की शर्तों की समीक्षा करें या आवश्यक अनुमतियाँ प्राप्त करें।



