Blockscout

आधिकारिक

ब्लॉक्सकाउट एपीआई से बैलेंस, टोकन और एनएफटी जैसे ब्लॉकचेन डेटा तक पहुंचें। मल्टी-चेन और प्रगति सूचनाओं का समर्थन करता है।

Blockscout MCP के साथ आप क्या कर सकते हैं?

  • पते और टोकन हल करें — ENS नाम को पते में बदलने के लिए get_address_by_ens_name से पूछें, या चेनों में प्रतीक द्वारा टोकन खोजने के लिए lookup_token_by_symbol का उपयोग करें।
  • कॉन्ट्रैक्ट और कोड का निरीक्षण करें — स्मार्ट कॉन्ट्रैक्ट का ABI या सत्यापित स्रोत फ़ाइलें प्राप्त करने के लिए get_contract_abi और inspect_contract_code का उपयोग करें।
  • वॉलेट गतिविधि का विश्लेषण करें — किसी पते का लेन-देन इतिहास, ERC-20 स्थानांतरण, या NFT होल्डिंग्स की समीक्षा करने के लिए get_transactions_by_address, get_token_transfers_by_address, और nft_tokens_by_address से क्वेरी करें।
  • ब्लॉक और लेन-देन एक्सप्लोर करें — get_block_info और get_transaction_info के माध्यम से विवरण प्राप्त करें, जिसमें डिकोड किए गए इनपुट, उपयोग की गई गैस, और टोकन स्थानांतरण शामिल हैं।
  • कॉन्ट्रैक्ट स्थिति पढ़ें — निर्दिष्ट ब्लॉक पर स्मार्ट कॉन्ट्रैक्ट पर केवल-पढ़ने वाले फ़ंक्शन निष्पादित करने के लिए read_contract को कॉल करें।
  • कच्चा चेन डेटा एक्सेस करें — Blockscout एंडपॉइंट्स के विरुद्ध उन्नत या चेन-विशिष्ट क्वेरी के लिए direct_api_call का उपयोग करें।

होस्ट किया गया MCP सर्वर

npx add-mcp 'https://mcp.blockscout.com/mcp'

Claude Code, Codex, Cursor और अन्य में इंस्टॉल होता है

दस्तावेज़

Blockscout MCP सर्वर

smithery badge

Blockscout Server MCP server

मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) एक खुला प्रोटोकॉल है जिसे AI एजेंटों, IDEs और स्वचालन टूल्स को संदर्भ-जागरूक APIs के माध्यम से संरचित डेटा का उपभोग, क्वेरी और विश्लेषण करने की अनुमति देने के लिए डिज़ाइन किया गया है।

यह सर्वर Blockscout APIs को रैप करता है और ब्लॉकचेन डेटा—बैलेंस, टोकन, NFTs, कॉन्ट्रैक्ट मेटाडेटा—को MCP के माध्यम से उजागर करता है ताकि AI एजेंट और टूल्स (जैसे Claude, Cursor, या IDEs) संदर्भित रूप से इसे एक्सेस और विश्लेषण कर सकें।

मुख्य विशेषताएं:

  • AI टूल्स के लिए संदर्भित ब्लॉकचेन डेटा एक्सेस
  • Chainscout मेटाडेटा संवर्धन के साथ Blockscout PRO API कॉन्फ़िगरेशन के माध्यम से मल्टी-चेन समर्थन
  • संस्करणित REST API: सभी MCP टूल्स के लिए एक मानक, वेब-अनुकूल इंटरफ़ेस प्रदान करता है। पूर्ण दस्तावेज़ीकरण के लिए API.md देखें।
  • MCP होस्ट के लिए सर्वर का उपयोग करने हेतु कस्टम निर्देश
  • LLM टोकन संरक्षित करते हुए डेटा पहुंच बनाए रखने के लिए बुद्धिमान संदर्भ अनुकूलन
  • संदर्भ अतिप्रवाह को रोकने के लिए कॉन्फ़िगर करने योग्य पृष्ठ आकारों के साथ स्मार्ट प्रतिक्रिया स्लाइसिंग
  • जटिल पैरामीटरों के बजाय Base64URL-एन्कोडेड स्ट्रिंग्स का उपयोग करके अपारदर्शी कर्सर पेजिनेशन
  • स्पष्ट संकेतकों और एक्सेस मार्गदर्शन के साथ बड़े डेटा फ़ील्ड का स्वचालित ट्रंकेशन
  • संरचित JSON प्रतिक्रियाओं और अनुवर्ती निर्देशों के साथ मानकीकृत ToolResponse मॉडल
  • लंबे समय तक चलने वाले संचालन के लिए MCP प्रगति सूचनाओं और आवधिक अपडेट के साथ बेहतर अवलोकनीयता

एजेंट कौशल के साथ उन्नत विश्लेषण

अधिक शक्तिशाली और कुशल ब्लॉकचेन विश्लेषण के लिए, agent-skills रिपॉजिटरी से Blockscout Analysis कौशल स्थापित करें। यह कौशल AI एजेंटों को निष्पादन रणनीतियों, प्रतिक्रिया प्रबंधन, सुरक्षा सर्वोत्तम प्रथाओं और कार्यप्रवाह ऑर्केस्ट्रेशन के लिए संरचित मार्गदर्शन प्रदान करता है।

अधिक जानें: पूर्ण क्षमताओं और स्थापना निर्देशों के लिए agent-skills README देखें।

MCP क्लाइंट्स कॉन्फ़िगर करना

Blockscout PRO API कुंजी

AI एजेंट के साथ Blockscout MCP सर्वर कॉन्फ़िगर करने के लिए Blockscout PRO API कुंजी की आवश्यकता होती है। अधिकांश डेटा टूल्स अपने अनुरोधों को प्रमाणित Blockscout PRO API गेटवे के माध्यम से रूट करते हैं, इसलिए वैध कुंजी के बिना वे टूल्स कोई अपस्ट्रीम अनुरोध करने से पहले तेजी से विफल हो जाते हैं।

कुंजी प्राप्त करने के लिए, Blockscout डेवलपर पोर्टल पर पंजीकरण करें (मुफ्त टियर के लिए क्रेडिट कार्ड की आवश्यकता नहीं है) और एक API कुंजी उत्पन्न करें; कुंजियाँ proapi_ से प्रीफिक्स होती हैं। फिर इसे अपने क्लाइंट को कॉन्फ़िगर करते समय प्रदान करें, जैसा कि नीचे दिए गए अनुभागों में दिखाया गया है।

Claude सेटअप (वेब, डेस्कटॉप, Cowork) - अनुशंसित

Claude के साथ Blockscout MCP सर्वर का उपयोग करने का सबसे आसान तरीका आधिकारिक होस्टेड सर्वर है: स्वचालित अपडेट के साथ एक मूल, प्रबंधित स्थापना अनुभव और आपको स्वयं कुछ भी चलाने की आवश्यकता नहीं है। इसे अपनी स्वयं की PRO API कुंजी के साथ एक कस्टम कनेक्टर के रूप में जोड़ें। Claude हर अनुरोध पर कुंजी को x-api-key हेडर में भेजता है, जिसे सर्वर अपने Blockscout-MCP-Pro-Api-Key हेडर के लिए एक उपनाम के रूप में स्वीकार करता है।

  1. Claude खोलें और Customize > Connectors पर जाएं। Team और Enterprise योजनाओं पर एक संगठन स्वामी इसे Organization settings > Connectors के अंतर्गत करता है।
  2. Add custom connector पर क्लिक करें। नाम Blockscout और URL https://mcp.blockscout.com/mcp सेट करें, फिर जारी रखें।
  3. Authentication को None के रूप में छोड़ दें (Claude इसे पहचान लेता है)। एक चेतावनी कि कनेक्टर के पास कोई क्रेडेंशियल नहीं है, अपेक्षित है: कुंजी अगले चरण में प्रदान की जाती है।
  4. Request headers खोलें, सूची से x-api-key चुनें, और अपनी PRO API कुंजी को मान के रूप में पेस्ट करें। बिल्कुल यही नाम चुनें; सर्वर सूची में अन्य समान दिखने वाले नामों को नहीं पढ़ता है।
  5. Add पर क्लिक करें।

नोट: Request headers अनुभाग बीटा में है और अभी तक हर संगठन के लिए उपलब्ध नहीं है। यदि आपका डायलॉग इसे नहीं दिखाता है, तो नीचे Connectors Directory का उपयोग करें।

नोट: Team और Enterprise योजनाओं पर कुंजी एक बार स्वामी द्वारा दर्ज की जाती है और पूरे संगठन द्वारा साझा की जाती है। कनेक्टर जोड़ने के बाद प्रमाणीकरण सेटिंग्स संपादित नहीं की जा सकती हैं: कुंजी बदलने के लिए, कनेक्टर को हटाएं और इसे फिर से जोड़ें।

Claude Connectors Directory का उपयोग करना

यदि कस्टम कनेक्टर डायलॉग में कोई Request headers अनुभाग नहीं है, तो आधिकारिक Anthropic Connectors Directory से Blockscout कनेक्टर स्थापित करें। यह उसी होस्टेड सर्वर से जुड़ता है लेकिन एक साझा एक्सेस कुंजी का उपयोग करता है।

स्थापना

विकल्प 1: सीधा लिंक

claude.com/connectors/blockscout पर जाएं और Blockscout कनेक्टर स्थापित करने के लिए "Used in" अनुभाग में लिंक पर क्लिक करें।

विकल्प 2: सेटिंग्स के माध्यम से
  1. Claude खोलें (वेब या डेस्कटॉप ऐप)
  2. Settings > Connectors > Browse connectors पर जाएं
  3. "Blockscout" खोजें
  4. स्थापित करने के लिए "Connect" पर क्लिक करें

सीमाएं: साझा एक्सेस कुंजी के उपयोग के कारण, कनेक्टर एक्सेस और क्षमताओं पर प्रतिबंध हो सकते हैं।

Claude Code सेटअप

सर्वर जोड़ते समय अपनी PRO API कुंजी को Blockscout-MCP-Pro-Api-Key हेडर के माध्यम से पास करें:

claude mcp add --transport http blockscout https://mcp.blockscout.com/mcp \
  --header "Blockscout-MCP-Pro-Api-Key: proapi_your_key_here"

इस कमांड को चलाने के बाद, Blockscout Claude Code में एक MCP सर्वर के रूप में उपलब्ध होगा, जिससे आप अपने कोडिंग वातावरण से सीधे ब्लॉकचेन डेटा एक्सेस और विश्लेषण कर सकते हैं।

ChatGPT ऐप्स सेटअप

ChatGPT Apps मार्केटप्लेस से Blockscout ऐप स्थापित करें:

  1. Blockscout ऐप पृष्ठ खोलें (या ChatGPT Apps निर्देशिका में "Blockscout" खोजें)।
  2. अपने ChatGPT खाते के लिए ऐप सक्षम करने के लिए "Connect" पर क्लिक करें।

Codex ऐप सेटअप

  1. Codex खोलें और Settings > MCP Servers > Add server पर जाएं।
  2. Name को Blockscout पर सेट करें, Streamable HTTP टैब चुनें, और URL को https://mcp.blockscout.com/mcp पर सेट करें।
  3. Headers के अंतर्गत, कुंजी Blockscout-MCP-Pro-Api-Key और मान proapi_your_key_here के साथ एक हेडर जोड़ें।
  4. Codex ऐप को सहेजें और पुनरारंभ करें।

Codex CLI सेटअप

Codex CLI कमांड लाइन से एक कस्टम हेडर संलग्न नहीं कर सकता है, इसलिए इसे दो चरणों में कॉन्फ़िगर करें:

  1. सर्वर प्रविष्टि को स्कैफोल्ड करें:

    codex mcp add Blockscout --url https://mcp.blockscout.com/mcp
    
  2. PRO API कुंजी हेडर जोड़ने और streamable-HTTP MCP क्लाइंट सक्षम करने के लिए ~/.codex/config.toml संपादित करें (रिमोट MCP सर्वरों को जोड़ने के लिए आवश्यक)। परिणामी कॉन्फ़िगरेशन इस तरह दिखना चाहिए:

    [features]
    experimental_use_rmcp_client = true
    
    [mcp_servers.Blockscout]
    url = "https://mcp.blockscout.com/mcp"
    http_headers = { "Blockscout-MCP-Pro-Api-Key" = "proapi_your_key_here" }
    

Cursor सेटअप

अपने Cursor MCP कॉन्फ़िगरेशन में सर्वर जोड़ें — या तो प्रोजेक्ट-स्तरीय .cursor/mcp.json या वैश्विक ~/.cursor/mcp.json — अपनी PRO API कुंजी को Blockscout-MCP-Pro-Api-Key हेडर के माध्यम से प्रदान करते हुए:

{
  "mcpServers": {
    "blockscout": {
      "url": "https://mcp.blockscout.com/mcp",
      "timeout": 180000,
      "headers": {
        "Blockscout-MCP-Pro-Api-Key": "proapi_your_key_here"
      }
    }
  }
}

स्थानीय विकास सेटअप (डेवलपर्स के लिए)

यदि आप विकास उद्देश्यों के लिए सर्वर को स्थानीय रूप से चलाना चाहते हैं:

{
  "mcpServers": {
    "blockscout": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "ghcr.io/blockscout/mcp-server:latest"
      ]
    }
  }
}

तकनीकी विवरण

तकनीकी विवरण के लिए SPEC.md देखें।

रिपॉजिटरी संरचना

रिपॉजिटरी संरचना के लिए AGENTS.md देखें।

परीक्षण

यूनिट और एकीकरण परीक्षण दोनों चलाने के लिए व्यापक निर्देशों के लिए TESTING.md देखें।

टूल विवरण

  1. __unlock_blockchain_analysis__() - एक Blockscout MCP सत्र आरंभ करता है: सर्वर संदर्भ डेटा, blockscout-analysis कौशल पॉइंटर, और URI समाधान नियम लौटाता है। किसी भी अन्य टूल से पहले प्रति सत्र एक बार कॉल करें।
  2. get_chains_list(query=None) - समर्थित चेन की सूची लौटाता है, नाम, चेन ID, मूल मुद्रा, या पारिस्थितिकी तंत्र द्वारा वैकल्पिक फ़िल्टरिंग के साथ।
  3. get_address_by_ens_name(name) - एक ENS डोमेन नाम को उसके संबंधित Ethereum पते में परिवर्तित करता है।
  4. lookup_token_by_symbol(chain_id, symbol) - प्रतीक या नाम द्वारा टोकन पतों की खोज करता है, कई संभावित मिलान लौटाता है।
  5. get_contract_abi(chain_id, address) - एक स्मार्ट कॉन्ट्रैक्ट के लिए ABI (एप्लिकेशन बाइनरी इंटरफ़ेस) प्राप्त करता है।
  6. inspect_contract_code(chain_id, address, file_name=None) - सत्यापित कॉन्ट्रैक्ट्स की स्रोत फ़ाइलें प्राप्त करने की अनुमति देता है।
  7. get_address_info(chain_id, address) - एक पते के बारे में व्यापक जानकारी प्राप्त करता है जिसमें बैलेंस, ENS संबद्धता, कॉन्ट्रैक्ट स्थिति, टोकन विवरण और सार्वजनिक टैग शामिल हैं।
  8. get_tokens_by_address(chain_id, address, cursor=None) - एक पते के लिए समृद्ध मेटाडेटा और बाजार डेटा के साथ विस्तृत ERC20 टोकन होल्डिंग्स लौटाता है।
  9. get_block_number(chain_id, [datetime]) - एक विशिष्ट दिनांक/समय या नवीनतम ब्लॉक के लिए ब्लॉक संख्या और टाइमस्टैम्प प्राप्त करता है।
  10. get_transactions_by_address(chain_id, address, age_from, age_to, methods, cursor=None) - वैकल्पिक विधि फ़िल्टरिंग के साथ एक विशिष्ट समय सीमा के भीतर एक पते के लिए लेनदेन प्राप्त करता है।
  11. get_token_transfers_by_address(chain_id, address, age_from, age_to, token, cursor=None) - एक विशिष्ट समय सीमा के भीतर एक पते के लिए ERC-20 टोकन स्थानांतरण लौटाता है।
  12. nft_tokens_by_address(chain_id, address, cursor=None) - एक पते के स्वामित्व वाले NFT टोकन प्राप्त करता है, संग्रह द्वारा समूहीकृत।
  13. get_block_info(chain_id, number_or_hash, include_transactions=False) - टाइमस्टैम्प, उपयोग की गई गैस, जले हुए शुल्क और लेनदेन गणना सहित ब्लॉक जानकारी लौटाता है। वैकल्पिक रूप से लेनदेन हैश की सूची शामिल कर सकता है।
  14. get_transaction_info(chain_id, hash, include_raw_input=False) - डिकोड किए गए इनपुट पैरामीटर और विस्तृत टोकन स्थानांतरण के साथ व्यापक लेनदेन जानकारी प्राप्त करता है।
  15. read_contract(chain_id, address, abi, function_name, args='[]', block='latest') - एक केवल-पठन स्मार्ट कॉन्ट्रैक्ट फ़ंक्शन निष्पादित करता है और उसका परिणाम लौटाता है। abi तर्क एक JSON ऑब्जेक्ट है जो विशिष्ट फ़ंक्शन के हस्ताक्षर का वर्णन करता है।
  16. direct_api_call(chain_id, endpoint_path, query_params=None, cursor=None, method='GET', json_body=None) - उन्नत या चेन-विशिष्ट डेटा के लिए एक कच्चा Blockscout API एंडपॉइंट कॉल करता है। JSON बॉडी के साथ GET (डिफ़ॉल्ट) और POST अनुरोधों का समर्थन करता है।

AI एजेंटों के लिए उदाहरण प्रॉम्प्ट

Is any approval set for OP token on Optimism chain by `zeaver.eth`?
Calculate the total gas fees paid on Ethereum by address `0xcafe...cafe` in May 2025.
Which 10 most recent logs were emitted by `0xFe89cc7aBB2C4183683ab71653C4cdc9B02D44b7`
before `Nov 08 2024 04:21:35 AM (-06:00 UTC)`?
Tell me more about the transaction `0xf8a55721f7e2dcf85690aaf81519f7bc820bc58a878fa5f81b12aef5ccda0efb`
on Redstone rollup.
Is there any blacklisting functionality of USDT token on Arbitrum One?
What is the latest block on Gnosis Chain and who is the block minter?
Were any funds moved from this minter recently?
When the most recent reward distribution of Kinto token was made to the wallet
`0x7D467D99028199D99B1c91850C4dea0c82aDDF52` in Kinto chain?
Which methods of `0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6` on the Ethereum 
mainnet could emit `SequencerBatchDelivered`?
What is the most recent executed cross-chain message sent from the Arbitrum Sepolia
rollup to the base layer?

विकास और परिनियोजन

स्थानीय स्थापना

रिपॉजिटरी क्लोन करें और निर्भरताएं स्थापित करें:

git clone https://github.com/blockscout/mcp-server.git
cd mcp-server
uv pip install -e . # or `pip install -e .`

RPC अनुरोधों के लिए उपयोग किए जाने वाले User-Agent हेडर के अग्रणी भाग को अनुकूलित करने के लिए, BLOCKSCOUT_MCP_USER_AGENT पर्यावरण चर सेट करें (डिफ़ॉल्ट "Blockscout MCP" है)। सर्वर संस्करण स्वचालित रूप से जोड़ा जाता है।

सर्वर को PRO API कुंजी प्रदान करना

जब आप सर्वर स्वयं चलाते हैं, तो BLOCKSCOUT_PRO_API_KEY पर्यावरण चर के माध्यम से Blockscout PRO API कुंजी प्रदान करें — अपने शेल में निर्यात करें या प्रोजेक्ट रूट में एक gitignored .env फ़ाइल में रखें। यह सभी डेटा एक्सेस, सार्वजनिक-टैग संवर्धन और कॉन्ट्रैक्ट रीड्स को सक्षम करता है। कुंजी को कभी भी कमिट न करें या क्लाइंट-शिप्ड बाइनरी में एम्बेड न करें; Docker के माध्यम से चलाते समय, इसे छवि में बेक करने के बजाय रनटाइम पर पास करें (जैसे -e BLOCKSCOUT_PRO_API_KEY=...)।

export BLOCKSCOUT_PRO_API_KEY=proapi_your_key_here

क्लाइंट-आपूर्ति कुंजियाँ (HTTP ट्रांसपोर्ट)। जब सर्वर HTTP मोड में चलता है, तो एक क्लाइंट अनुरोध हेडर में अपनी स्वयं की PRO API कुंजी प्रदान कर सकता है — डिफ़ॉल्ट रूप से Blockscout-MCP-Pro-Api-Key, BLOCKSCOUT_PRO_API_KEY_HEADER के माध्यम से कॉन्फ़िगर करने योग्य (क्लाइंट-आपूर्ति कुंजियों को पूरी तरह से अक्षम करने के लिए इसे खाली स्ट्रिंग पर सेट करें)। सर्वर एक x-api-key हेडर से भी कुंजी पढ़ता है, उन क्लाइंट्स के लिए जिनके हेडर नाम एक निश्चित सूची तक सीमित हैं (उदाहरण के लिए Claude कस्टम कनेक्टर)। जब दोनों मौजूद हों तो कॉन्फ़िगर किया गया हेडर जीतता है; x-api-key केवल तभी परामर्श किया जाता है जब कॉन्फ़िगर किया गया हेडर अनुपलब्ध या खाली हो, और क्लाइंट-आपूर्ति कुंजियों को अक्षम करना इसे भी अक्षम करता है। यह दोनों HTTP ट्रांसपोर्ट के लिए समान रूप से काम करता है — MCP-ओवर-HTTP टूल कॉल और REST API। एक क्लाइंट-आपूर्ति कुंजी उस अनुरोध के लिए BLOCKSCOUT_PRO_API_KEY पर पूर्वता लेती है; यदि क्लाइंट कोई कुंजी नहीं भेजता है, तो सर्वर अपनी स्वयं की कॉन्फ़िगर की गई कुंजी पर वापस आ जाता है; यदि कोई भी मौजूद नहीं है, तो अनुरोध not-configured त्रुटि के साथ विफल हो जाता है। एक क्लाइंट कुंजी जो मौजूद है लेकिन गलत है, PRO API की आवश्यकता वाले किसी भी अनुरोध को बिना फॉलबैक के विफल कर देती है (सर्वर कभी भी खराब क्लाइंट कुंजी के स्थान पर अपनी स्वयं की कुंजी का चुपचाप उपयोग नहीं करता है); जो टूल्स PRO API का उपयोग नहीं करते हैं वे अप्रभावित रहते हैं। यह एक साझा HTTP सर्वर चलाना संभव बनाता है जहां प्रत्येक क्लाइंट अपनी स्वयं की कुंजी के साथ प्रमाणित होता है।

कम-क्रेडिट चेतावनी। PRO API तक पहुंच क्रेडिट में मापी जाती है। जब API द्वारा रिपोर्ट की गई शेष राशि एक कॉन्फ़िगर करने योग्य सीमा से नीचे गिर जाती है, तो प्रत्येक डेटा टूल अपनी प्रतिक्रिया में एक सलाहकार नोट जोड़ता है, जो ऑपरेटरों को टॉप अप करने के लिए प्रेरित करता है ताकि PRO API एक्सेस निरंतर उच्च-मात्रा उपयोग के लिए तैयार रहे। सीमा BLOCKSCOUT_PRO_API_LOW_CREDITS_THRESHOLD के माध्यम से सेट की जाती है (डिफ़ॉल्ट 5000 क्रेडिट; नोट अक्षम करने के लिए 0 पर सेट करें)। नोट सीमा से नीचे किसी भी शेष राशि के लिए सक्रिय होता है, जिसमें शून्य और नकारात्मक शेष राशि शामिल है। PRO API कुंजी आवश्यकता सूचना। BLOCKSCOUT_PRO_API_KEY_REQUIRED_NOTICE एक ऑपरेटर-कॉन्फ़िगर सूचना रखता है जिसे सर्वर उन टूल प्रतिक्रियाओं के notes फ़ील्ड के अंतिम प्रविष्टि के रूप में जोड़ता है जिनके अनुरोधों में क्लाइंट की अपनी (अच्छी तरह से बनी) PRO API कुंजी नहीं थी। यह आधिकारिक सार्वजनिक सर्वर के अनिवार्य क्लाइंट-आपूर्ति कुंजियों में माइग्रेशन की घोषणा करने के लिए मौजूद है, इसलिए केवल आधिकारिक तैनाती से इसे सेट करने की अपेक्षा की जाती है। जब चर अनसेट या खाली होता है (डिफ़ॉल्ट), तो सुविधा पूरी तरह से बंद होती है। समुदाय और स्व-होस्टेड ऑपरेटरों को इसे खाली छोड़ देना चाहिए — विशेष रूप से stdio मोड में, जहां आप BLOCKSCOUT_PRO_API_KEY स्वयं कॉन्फ़िगर करते हैं और कोई अनुरोध हेडर क्लाइंट कुंजी नहीं ले जा सकता, सूचना केवल एक माइग्रेशन संदेश दोहराएगी जो आपकी तैनाती पर लागू नहीं होता।

सर्वर चलाना

सर्वर डिफ़ॉल्ट रूप से stdio मोड में चलता है:

python -m blockscout_mcp_server

HTTP मोड (केवल MCP):

सर्वर को HTTP स्ट्रीमेबल मोड (स्टेटलेस, डिफ़ॉल्ट रूप से SSE प्रतिक्रियाएं) में चलाने के लिए:

python -m blockscout_mcp_server --http

आप HTTP सर्वर के लिए होस्ट और पोर्ट भी निर्दिष्ट कर सकते हैं:

python -m blockscout_mcp_server --http --http-host 0.0.0.0 --http-port 8080

विकास मोड (सादा JSON प्रतिक्रियाएं):

सरल HTTP क्लाइंट (curl, Insomnia) के साथ विकास और परीक्षण के लिए, आप SSE स्ट्रीम के बजाय सादा JSON प्रतिक्रियाएं सक्षम कर सकते हैं:

export BLOCKSCOUT_DEV_JSON_RESPONSE=true
python -m blockscout_mcp_server --http

नोट: यह सर्वर-प्रेषित घटनाएं (SSE) और प्रगति सूचनाएं अक्षम करता है। इसका उपयोग केवल स्थानीय परीक्षण और डिबगिंग के लिए करें।

Ngrok के साथ टनलिंग (विकास मोड):

Python MCP SDK DNS रीबाइंडिंग सुरक्षा लागू करता है, जो डिफ़ॉल्ट रूप से ngrok टनल से अनुरोधों को ब्लॉक करता है। विकास और परीक्षण के लिए टनलिंग सक्षम करने के लिए:

  1. अपने स्थानीय सर्वर पर एक ngrok टनल शुरू करें:

    ngrok http 8000
    
  2. अपने ngrok URL का उपयोग करके अनुमत होस्ट और ओरिजिन कॉन्फ़िगर करें:

    export BLOCKSCOUT_MCP_ALLOWED_HOSTS="your-tunnel-id.ngrok-free.app"
    export BLOCKSCOUT_MCP_ALLOWED_ORIGINS="https://your-tunnel-id.ngrok-free.app"
    python -m blockscout_mcp_server --http
    

नोट: ये सेटिंग्स मुख्य रूप से विकास उपयोग के लिए हैं। जब ये चर सेट नहीं होते हैं, तो DNS रीबाइंडिंग सुरक्षा स्वचालित रूप से सर्वर के बाइंड होस्ट द्वारा निर्धारित की जाती है: localhost के लिए सक्षम, गैर-localhost के लिए अक्षम (जैसे, 0.0.0.0)। यदि आपका Host हेडर में एक गैर-मानक पोर्ट शामिल है, तो :* वाइल्डकार्ड प्रत्यय का उपयोग करें (जैसे, "example.com:*") या सटीक host:port मान निर्दिष्ट करें।

MCP सर्वर के साथ ngrok टनलिंग के अधिक विवरण के लिए, https://github.com/openai/openai-apps-sdk-examples/blob/main/README.md#testing-in-chatgpt देखें।

REST API के साथ HTTP मोड:

MCP एंडपॉइंट के साथ संस्करणित REST API सक्षम करने के लिए, --rest फ़्लैग का उपयोग करें (जिसके लिए --http आवश्यक है)।

python -m blockscout_mcp_server --http --rest

कस्टम होस्ट और पोर्ट के साथ:

python -m blockscout_mcp_server --http --rest --http-host 0.0.0.0 --http-port 8080

CLI विकल्प:

  • --http: HTTP स्ट्रीमेबल मोड सक्षम करता है।
  • --http-host TEXT: HTTP सर्वर को बाइंड करने के लिए होस्ट (डिफ़ॉल्ट: 127.0.0.1)।
  • --http-port INTEGER: HTTP सर्वर के लिए पोर्ट (डिफ़ॉल्ट: 8000)।
  • --rest: REST API सक्षम करता है (--http आवश्यक है)।

Docker इमेज स्थानीय रूप से बनाना

बंडल किए गए कौशल सबमॉड्यूल को प्रारंभ करें, इसकी कमिट मेटाडेटा को Docker बिल्ड संदर्भ में बेक करें, फिर इमेज बनाएं:

git submodule update --init --recursive agent-skills
python scripts/bake_skill_metadata.py
docker build -t ghcr.io/blockscout/mcp-server:latest .

GitHub कंटेनर रजिस्ट्री से खींचना

पूर्व-निर्मित इमेज खींचें:

docker pull ghcr.io/blockscout/mcp-server:latest

Docker के साथ चलाना

HTTP मोड (केवल MCP):

पोर्ट मैपिंग के साथ HTTP मोड में Docker कंटेनर चलाने के लिए:

docker run --rm -p 8000:8000 ghcr.io/blockscout/mcp-server:latest python -m blockscout_mcp_server --http --http-host 0.0.0.0

कस्टम पोर्ट के साथ:

docker run --rm -p 8080:8080 ghcr.io/blockscout/mcp-server:latest python -m blockscout_mcp_server --http --http-host 0.0.0.0 --http-port 8080

REST API के साथ HTTP मोड:

REST API सक्षम के साथ चलाने के लिए:

docker run --rm -p 8000:8000 ghcr.io/blockscout/mcp-server:latest python -m blockscout_mcp_server --http --rest --http-host 0.0.0.0

नोट: Docker के साथ HTTP मोड में चलाते समय, सभी इंटरफेस से बाइंड करने के लिए --http-host 0.0.0.0 का उपयोग करें ताकि सर्वर कंटेनर के बाहर से पहुंच योग्य हो।

Blockscout PRO API कुंजी के साथ:

कुंजी को इमेज में बेक करने के बजाय रनटाइम पर -e के साथ पास करें (देखें Providing the PRO API Key to the Server):

docker run --rm -p 8000:8000 -e BLOCKSCOUT_PRO_API_KEY=proapi_your_key_here \
  ghcr.io/blockscout/mcp-server:latest python -m blockscout_mcp_server --http --http-host 0.0.0.0

सत्र मीटरिंग सक्षम के साथ (वैकल्पिक):

सत्र मीटरिंग सीमित करती है कि क्लाइंट-आपूर्ति PRO API कुंजी के बिना एक कॉलर __unlock_blockchain_analysis__ द्वारा जारी प्रति सत्र पहचानकर्ता कितने टूल कॉल कर सकता है। यह डिफ़ॉल्ट रूप से बंद है। इसे सक्षम करने का अर्थ है एक हस्ताक्षर रहस्य सेट करना (कम से कम 32 बाइट्स — इसे उत्पन्न करें, आविष्कार न करें), और इसके लिए HTTP मोड और सर्वर-साइड PRO API कुंजी (मीटर किए गए कॉल उस पर अपस्ट्रीम परोसे जाते हैं), साथ ही सत्र डेटाबेस के लिए एक स्थायी वॉल्यूम की आवश्यकता होती है। रहस्य एक बार उत्पन्न करें और इसे स्थायी रूप से संग्रहीत करें (एक रहस्य प्रबंधक, या स्थायी पर्यावरण कॉन्फ़िगरेशन); प्रत्येक पुनरारंभ और पुनर्नियोजन को समान संग्रहीत मान पास करना चाहिए:

# Once, not per start: generate the secret and keep it.
BLOCKSCOUT_SESSION_SECRET="$(python -c 'import secrets; print(secrets.token_urlsafe(32))')"

docker run --rm -p 8000:8000 \
  -v blockscout-mcp-sessions:/data \
  -e BLOCKSCOUT_SESSION_SECRET="$BLOCKSCOUT_SESSION_SECRET" \
  -e BLOCKSCOUT_SESSION_DB_PATH=/data/sessions.db \
  -e BLOCKSCOUT_PRO_API_KEY=proapi_your_key_here \
  ghcr.io/blockscout/mcp-server:latest python -m blockscout_mcp_server --http --http-host 0.0.0.0

अधिकांश तैनातियों को इनमें से किसी की आवश्यकता नहीं होती: BLOCKSCOUT_SESSION_SECRET अनसेट छोड़ दें (डिफ़ॉल्ट) और कोई वॉल्यूम आवश्यक नहीं है। वॉल्यूम खोना या रहस्य घुमाना लाइव सत्र पहचानकर्ताओं को डिज़ाइन द्वारा अमान्य करता है; एक्सपोज़र कॉन्फ़िगर किए गए TTL द्वारा सीमित है। हर docker run पर रहस्य को इनलाइन पुनः उत्पन्न करना उस रोटेशन का आकस्मिक रूप है — यह प्रत्येक पुनरारंभ पर सभी लाइव पहचानकर्ताओं को मिटा देता है भले ही डेटाबेस वॉल्यूम बच गया हो, इसलिए स्टार्ट कमांड में जनरेशन कमांड कभी एम्बेड न करें। डेटाबेस की पुरानी प्रति को पुनर्स्थापित करना उसके द्वारा दर्ज किए गए बजट को पुनर्जीवित करता है — ऐतिहासिक पुनर्स्थापना के बाद, रहस्य घुमाएं जब तक कि यह इरादा न हो। वैकल्पिक नॉब्स: BLOCKSCOUT_SESSION_MCP_MAX_CALLS और BLOCKSCOUT_SESSION_REST_MAX_CALLS (एक साझा प्रति-पहचानकर्ता काउंटर पर प्रति-सतह कॉल सीमाएं; दोनों डिफ़ॉल्ट 5; 0 उस सतह पर मीटर किए गए एक्सेस को बंद करता है जबकि पहचानकर्ता जारी करना और get_chains_list नेविगेशन खुला छोड़ देता है), BLOCKSCOUT_SESSION_TTL_SECONDS (डिफ़ॉल्ट 900), और BLOCKSCOUT_SESSION_SWEEP_INTERVAL_SECONDS (समाप्त सत्र पंक्तियों को कितनी बार साफ किया जाता है; डिफ़ॉल्ट: प्रति TTL एक बार)।

Stdio मोड: डिफ़ॉल्ट stdio मोड MCP होस्ट/क्लाइंट (जैसे Claude Desktop, Cursor) के साथ उपयोग के लिए डिज़ाइन किया गया है और MCP क्लाइंट के संचार प्रबंधन के बिना सीधे Docker के साथ चलाने का कोई मतलब नहीं है।

Claude Desktop के साथ परीक्षण

Claude Desktop के साथ सर्वर का परीक्षण करने के लिए MCP बंडल का उपयोग करें।

  1. mcpb/README.md में दिए गए निर्देशों के अनुसार बंडल बनाएं।
  2. Claude Desktop खोलें।
  3. बंडल को स्वचालित रूप से स्थापित करने के लिए blockscout-mcp-dev.mcpb फ़ाइल खोलने के लिए डबल-क्लिक करें।
  4. संकेत दिए जाने पर Blockscout MCP सर्वर URL कॉन्फ़िगर करें (डिफ़ॉल्ट: http://127.0.0.1:8000/mcp)

गोपनीयता और अनाम टेलीमेट्री

Blockscout MCP सर्वर को बेहतर बनाने में हमारी मदद करने के लिए, सर्वर के समुदाय-चालित उदाहरण डिफ़ॉल्ट रूप से अनाम उपयोग डेटा एकत्र करते हैं। यह हमें यह समझने में मदद करता है कि कौन से टूल सबसे लोकप्रिय हैं और हमारे विकास प्रयासों का मार्गदर्शन करता है।

हम क्या एकत्र करते हैं:

  • बुलाए जा रहे टूल का नाम (जैसे, get_block_number)।
  • टूल को प्रदान किए गए पैरामीटर (session_id पैरामीटर ट्रांसमिशन से पहले एक प्लेसहोल्डर के लिए मास्क किया जाता है)।
  • उपयोग किए जा रहे Blockscout MCP सर्वर का संस्करण।
  • अनुरोध को अधिकृत करने के लिए उपलब्ध PRO API कुंजी का एक-तरफ़ा, अपरिवर्तनीय हैश (SHA-256), जब एक मौजूद हो। यह केवल एक व्युत्पन्न फिंगरप्रिंट है — कुंजी स्वयं कभी प्रसारित नहीं होती और हैश से पुनर्प्राप्त नहीं की जा सकती।

हम क्या एकत्र नहीं करते:

  • हम कोई व्यक्तिगत डेटा, IP पते (केंद्रीय सर्वर Mixpanel के माध्यम से भू-स्थान के लिए प्रेषक के IP का उपयोग करता है और फिर इसे त्याग देता है), या रहस्य और निजी कुंजी स्वयं एकत्र नहीं करते। विशेष रूप से PRO API कुंजी कभी प्रसारित नहीं होती — केवल ऊपर वर्णित इसका एक-तरफ़ा, अपरिवर्तनीय फिंगरप्रिंट, जिससे कुंजी पुनर्प्राप्त नहीं की जा सकती।

ऑप्ट-आउट कैसे करें

आप निम्न पर्यावरण चर सेट करके किसी भी समय इस सुविधा को अक्षम कर सकते हैं:

export BLOCKSCOUT_DISABLE_COMMUNITY_TELEMETRY=true

लाइसेंस

License: Blockscout Software Licence

यह परियोजना Blockscout सॉफ़्टवेयर लाइसेंस के तहत लाइसेंस प्राप्त है। पूर्ण शर्तों के लिए LICENSE फ़ाइल देखें।