Blockscout

आधिकारिक

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

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

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

दस्तावेज़

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 कनेक्टर्स निर्देशिका का उपयोग करना - अनुशंसित

Claude (वेब, डेस्कटॉप और कोड) के साथ Blockscout MCP सर्वर का उपयोग करने का सबसे आसान तरीका आधिकारिक Anthropic कनेक्टर्स निर्देशिका के माध्यम से है। यह स्वचालित अपडेट के साथ एक मूल, प्रबंधित इंस्टॉलेशन अनुभव प्रदान करता है।

इंस्टॉलेशन

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

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

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

नोट: कनेक्टर्स के लिए भुगतान किए गए Claude प्लान (Pro, Team, Max, या Enterprise) की आवश्यकता होती है।

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

Claude डेस्कटॉप सेटअप

Claude डेस्कटॉप में अपनी स्वयं की PRO API कुंजी के साथ आधिकारिक Blockscout MCP सर्वर का उपयोग करने के लिए, निम्नलिखित विकल्पों में से एक चुनें:

विकल्प 1: MCP बंडल (MCPB) — अनुशंसित

सर्वोत्तम: आसान इंस्टॉलेशन और स्वचालित अपडेट के लिए।

  1. GitHub रिलीज़ से नवीनतम blockscout-mcp.mcpb डाउनलोड करें।
  2. इसे Claude डेस्कटॉप में इंस्टॉल करने के लिए .mcpb फ़ाइल पर डबल-क्लिक करें।
  3. संकेत मिलने पर अपनी Blockscout PRO API कुंजी कॉन्फ़िगर करें।
  4. एक्सटेंशन स्वचालित रूप से होस्ट किए गए Blockscout MCP सेवा से कनेक्ट होता है।

विकल्प 2: Docker प्रॉक्सी

नोट: इस सेटअप के लिए Docker आवश्यक है।

सर्वोत्तम: कमांड-लाइन टूल्स और कस्टम कॉन्फ़िगरेशन से परिचित उपयोगकर्ताओं के लिए।

  1. Claude डेस्कटॉप खोलें और सेटिंग्स पर क्लिक करें

  2. "Developer" अनुभाग पर नेविगेट करें

  3. "Edit Config" पर क्लिक करें

  4. फ़ाइल claude_desktop_config.json खोलें और सर्वर कॉन्फ़िगर करें:

    {
      "mcpServers": {
        "blockscout": {
          "command": "docker",
          "args": [
            "run",
            "--rm",
            "-i",
            "sparfenyuk/mcp-proxy:latest",
            "--transport",
            "streamablehttp",
            "--headers",
            "Blockscout-MCP-Pro-Api-Key",
            "proapi_your_key_here",
            "--headers",
            "Blockscout-MCP-Intermediary",
            "ClaudeDesktop",
            "https://mcp.blockscout.com/mcp"
          ]
        }
      }
    }
    
  5. फ़ाइल सहेजें और Claude डेस्कटॉप पुनः आरंभ करें

Claude कोड सेटअप

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

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

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

ChatGPT ऐप्स सेटअप

ChatGPT ऐप्स मार्केटप्लेस से Blockscout ऐप इंस्टॉल करें:

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

Codex ऐप सेटअप

  1. Codex खोलें और सेटिंग्स > MCP सर्वर्स > सर्वर जोड़ें पर जाएं।
  2. नाम को Blockscout पर सेट करें, Streamable HTTP टैब चुनें, और URL को https://mcp.blockscout.com/mcp पर सेट करें।
  3. हेडर्स के अंतर्गत, कुंजी 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.jsonBlockscout-MCP-Pro-Api-Key हेडर के माध्यम से अपनी PRO API कुंजी प्रदान करते हुए:

{
  "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 के माध्यम से कॉन्फ़िगर करने योग्य (क्लाइंट-आपूर्ति कुंजियों को पूरी तरह से अक्षम करने के लिए इसे खाली स्ट्रिंग पर सेट करें)। यह दोनों HTTP ट्रांसपोर्ट के लिए समान रूप से काम करता है — HTTP-ओवर-MCP टूल कॉल और 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 Streamable मोड में चलाने के लिए (स्टेटलेस, डिफ़ॉल्ट रूप से 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 फ़ाइल देखें।