Blockscout
resmiBlockscout API'lerinden bakiyeler, tokenlar ve NFT'ler gibi blok zinciri verilerine erişin. Çoklu zincir ve ilerleme bildirimlerini destekler.
Blockscout MCP ile neler yapabilirsiniz?
- Adresleri ve token’ları çözümle —
get_address_by_ens_nameile bir ENS adresini adrese dönüştürün veyalookup_token_by_symbolile zincirler arasında sembole göre token bulun. - Sözleşmeleri ve kodu incele —
get_contract_abiveinspect_contract_codekullanarak bir akıllı sözleşmenin ABI’sini veya doğrulanmış kaynak dosyalarını alın. - Cüzdan etkinliğini analiz et —
get_transactions_by_address,get_token_transfers_by_addressvenft_tokens_by_addresssorgularıyla bir adresin işlem geçmişini, ERC-20 transferlerini veya NFT varlıklarını gözden geçirin. - Blokları ve işlemleri keşfet —
get_block_infoveget_transaction_infoile kodlanmış girdiler, kullanılan gaz ve token transferleri dahil ayrıntıları alın. - Sözleşme durumunu oku —
read_contractçağrısıyla belirli bir blokta akıllı sözleşmede salt okunur işlevleri çalıştırın. - Ham zincir verilerine eriş — Blockscout uç noktalarına karşı gelişmiş veya zincire özgü sorgular için
direct_api_callkullanın.
Barındırılan MCP Sunucusu
npx add-mcp 'https://mcp.blockscout.com/mcp'Claude Code, Codex, Cursor ve daha fazlasına kurulur
Dokümantasyon
Blockscout MCP Sunucusu
Model Context Protocol (MCP), AI ajanlarının, IDE'lerin ve otomasyon araçlarının bağlam duyarlı API'ler aracılığıyla yapılandırılmış verileri tüketmesine, sorgulamasına ve analiz etmesine olanak tanımak için tasarlanmış açık bir protokoldür.
Bu sunucu, Blockscout API'lerini sarar ve blockchain verilerini—bakiyeler, token'lar, NFT'ler, kontrat meta verileri—MCP aracılığıyla sunar; böylece AI ajanları ve araçları (Claude, Cursor veya IDE'ler gibi) bu verilere bağlamsal olarak erişebilir ve analiz edebilir.
Temel Özellikler:
- AI araçları için bağlamsal blockchain veri erişimi
- Chainscout meta veri zenginleştirme ile Blockscout PRO API yapılandırması aracılığıyla çoklu zincir desteği
- Sürümlü REST API: Tüm MCP araçlarına standart, web dostu bir arayüz sağlar. Tam dokümantasyon için API.md dosyasına bakın.
- MCP ana bilgisayarının sunucuyu kullanması için özel talimatlar
- LLM token'larını korurken veri erişilebilirliğini koruyan akıllı bağlam optimizasyonu
- Bağlam taşmasını önlemek için yapılandırılabilir sayfa boyutlarıyla akıllı yanıt dilimleme
- Karmaşık parametreler yerine Base64URL kodlu dizeler kullanan opak imleç sayfalama
- Büyük veri alanlarının net göstergeler ve erişim yönergeleriyle otomatik kısaltılması
- Yapılandırılmış JSON yanıtları ve takip talimatlarıyla standartlaştırılmış ToolResponse modeli
- Uzun süren işlemler için MCP ilerleme bildirimleri ve periyodik güncellemelerle gelişmiş gözlemlenebilirlik
Ajan Becerileriyle Gelişmiş Analiz
Daha güçlü ve verimli blockchain analizi için agent-skills deposundan Blockscout Analysis becerisini yükleyin. Bu beceri, AI ajanlarına yürütme stratejileri, yanıt işleme, güvenlik en iyi uygulamaları ve iş akışı orkestrasyonu için yapılandırılmış rehberlik sağlar.
Daha fazla bilgi: Tam yetenekler ve kurulum talimatları için agent-skills README dosyasına bakın.
MCP İstemcilerini Yapılandırma
Blockscout PRO API Anahtarı
Blockscout MCP sunucusunu bir AI ajanıyla yapılandırmak bir Blockscout PRO API anahtarı gerektirir. Veri araçlarının çoğu isteklerini kimliği doğrulanmış Blockscout PRO API ağ geçidi üzerinden yönlendirir; bu nedenle geçerli bir anahtar olmadan bu araçlar herhangi bir üst düzey istek yapmadan önce hızla başarısız olur.
Anahtar almak için Blockscout Geliştirici Portalı'na kaydolun (ücretsiz katman kredi kartı gerektirmez) ve bir API anahtarı oluşturun; anahtarlar proapi_ önekiyle başlar. Ardından, aşağıdaki bölümlerde gösterildiği gibi istemcinizi yapılandırırken bunu sağlayın.
Claude Kurulumu (Web, Masaüstü, Cowork) - Önerilen
Blockscout MCP sunucusunu Claude ile kullanmanın en kolay yolu resmi barındırılan sunucudur: otomatik güncellemelerle yerel, yönetilen bir kurulum deneyimi ve kendiniz çalıştırmanız gereken hiçbir şey yoktur. Kendi PRO API anahtarınızla Özel Bağlayıcı olarak ekleyin. Claude, anahtarı her istekte x-api-key başlığında gönderir; sunucu bunu Blockscout-MCP-Pro-Api-Key başlığının takma adı olarak kabul eder.
- Claude'u açın ve Özelleştir > Bağlayıcılar bölümüne gidin. Team ve Enterprise planlarında kuruluş sahibi bunu Kuruluş ayarları > Bağlayıcılar altında yapar.
- Özel bağlayıcı ekle'ye tıklayın. Adı
Blockscoutve URL'yihttps://mcp.blockscout.com/mcpolarak ayarlayın, ardından devam edin. - Kimlik doğrulama bölümünü
Noneolarak bırakın (Claude bunu algılar). Bağlayıcının kimlik bilgisi olmadığına dair bir uyarı beklenir: anahtar bir sonraki adımda sağlanır. - İstek başlıkları'nı açın, listeden
x-api-keyöğesini seçin ve PRO API anahtarınızı değer olarak yapıştırın. Tam olarak bu adı seçin; sunucu listedeki diğer benzer görünümlü adları okumaz. - Ekle'ye tıklayın.
Not: İstek başlıkları bölümü beta aşamasındadır ve henüz her kuruluşta kullanılamaz. İletişim kutusunda görünmüyorsa, aşağıdaki Bağlayıcı Dizini bölümünü kullanın.
Not: Team ve Enterprise planlarında anahtar, Sahip tarafından bir kez girilir ve tüm kuruluş tarafından paylaşılır. Bir bağlayıcı eklendikten sonra kimlik doğrulama ayarları düzenlenemez: anahtarı değiştirmek için bağlayıcıyı kaldırın ve yeniden ekleyin.
Claude Bağlayıcı Dizini Kullanma
Özel Bağlayıcı iletişim kutusunda İstek başlıkları bölümü yoksa, resmi Anthropic Bağlayıcı Dizini'nden Blockscout bağlayıcısını yükleyin. Aynı barındırılan sunucuya bağlanır ancak paylaşılan bir erişim anahtarı kullanır.
Kurulum
Seçenek 1: Doğrudan Bağlantı
claude.com/connectors/blockscout adresini ziyaret edin ve Blockscout bağlayıcısını yüklemek için "Kullanılan" bölümündeki bağlantılara tıklayın.
Seçenek 2: Ayarlar Üzerinden
- Claude'u açın (Web veya Masaüstü uygulaması)
- Ayarlar > Bağlayıcılar > Bağlayıcılara göz at bölümüne gidin
- "Blockscout" araması yapın
- Yüklemek için "Bağlan"a tıklayın
Sınırlamalar: Paylaşılan bir erişim anahtarı kullanılması nedeniyle, bağlayıcı erişimi ve yetenekleri üzerinde kısıtlamalar olabilir.
Claude Code Kurulumu
Sunucuyu eklerken PRO API anahtarınızı Blockscout-MCP-Pro-Api-Key başlığı aracılığıyla iletin:
claude mcp add --transport http blockscout https://mcp.blockscout.com/mcp \
--header "Blockscout-MCP-Pro-Api-Key: proapi_your_key_here"
Bu komutu çalıştırdıktan sonra Blockscout, Claude Code'da bir MCP sunucusu olarak kullanılabilir olacak ve kodlama ortamınızdan doğrudan blockchain verilerine erişip analiz etmenize olanak tanıyacaktır.
ChatGPT Uygulamaları Kurulumu
ChatGPT Apps pazarından Blockscout uygulamasını yükleyin:
- Blockscout uygulama sayfasını açın (veya ChatGPT Apps dizininde "Blockscout" araması yapın).
- Uygulamayı ChatGPT hesabınız için etkinleştirmek üzere "Bağlan"a tıklayın.
Codex Uygulaması Kurulumu
- Codex'i açın ve Ayarlar > MCP Sunucuları > Sunucu ekle bölümüne gidin.
- Adı
Blockscoutolarak ayarlayın, Streamable HTTP sekmesini seçin ve URL'yihttps://mcp.blockscout.com/mcpolarak ayarlayın. - Başlıklar altında, anahtarı
Blockscout-MCP-Pro-Api-Keyve değeriproapi_your_key_hereolan bir başlık ekleyin. - Kaydedin ve Codex uygulamasını yeniden başlatın.
Codex CLI Kurulumu
Codex CLI komut satırından özel bir başlık ekleyemez, bu nedenle iki adımda yapılandırın:
-
Sunucu girişini oluşturun:
codex mcp add Blockscout --url https://mcp.blockscout.com/mcp -
PRO API anahtarı başlığını eklemek ve streamable-HTTP MCP istemcisini etkinleştirmek için
~/.codex/config.tomldosyasını düzenleyin (uzak MCP sunucularının bağlanması için gereklidir). Ortaya çıkan yapılandırma şöyle görünmelidir:[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 Kurulumu
Sunucuyu Cursor MCP yapılandırmanıza ekleyin — proje düzeyindeki .cursor/mcp.json veya genel ~/.cursor/mcp.json — PRO API anahtarınızı Blockscout-MCP-Pro-Api-Key başlığı aracılığıyla sağlayarak:
{
"mcpServers": {
"blockscout": {
"url": "https://mcp.blockscout.com/mcp",
"timeout": 180000,
"headers": {
"Blockscout-MCP-Pro-Api-Key": "proapi_your_key_here"
}
}
}
}
Yerel Geliştirme Kurulumu (Geliştiriciler İçin)
Sunucuyu geliştirme amacıyla yerel olarak çalıştırmak istiyorsanız:
{
"mcpServers": {
"blockscout": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"ghcr.io/blockscout/mcp-server:latest"
]
}
}
}
Teknik Detaylar
Teknik detaylar için SPEC.md dosyasına bakın.
Depo Yapısı
Depo yapısı için AGENTS.md dosyasına bakın.
Test
Hem birim hem de entegrasyon testlerini çalıştırmak için kapsamlı talimatlar için TESTING.md dosyasına bakın.
Araç Açıklamaları
__unlock_blockchain_analysis__()- Bir Blockscout MCP oturumunu başlatır: sunucu referans verilerini,blockscout-analysisbeceri işaretçisini ve URI çözümleme kuralını döndürür. Diğer araçlardan önce oturum başına bir kez çağırın.get_chains_list(query=None)- Ad, zincir kimliği, yerel para birimi veya ekosisteme göre isteğe bağlı filtrelemeyle desteklenen zincirlerin listesini döndürür.get_address_by_ens_name(name)- Bir ENS alan adını karşılık gelen Ethereum adresine dönüştürür.lookup_token_by_symbol(chain_id, symbol)- Sembol veya ada göre token adreslerini arar ve birden fazla olası eşleşme döndürür.get_contract_abi(chain_id, address)- Bir akıllı kontrat için ABI'yi (Uygulama İkili Arayüzü) alır.inspect_contract_code(chain_id, address, file_name=None)- Doğrulanmış kontratların kaynak dosyalarını almayı sağlar.get_address_info(chain_id, address)- Bakiye, ENS ilişkisi, kontrat durumu, token detayları ve genel etiketler dahil olmak üzere bir adres hakkında kapsamlı bilgi alır.get_tokens_by_address(chain_id, address, cursor=None)- Bir adres için zenginleştirilmiş meta veri ve piyasa verileriyle ayrıntılı ERC20 token varlıklarını döndürür.get_block_number(chain_id, [datetime])- Belirli bir tarih/saat veya en son blok için blok numarasını ve zaman damgasını alır.get_transactions_by_address(chain_id, address, age_from, age_to, methods, cursor=None)- İsteğe bağlı yöntem filtrelemeyle belirli bir zaman aralığında bir adres için işlemleri alır.get_token_transfers_by_address(chain_id, address, age_from, age_to, token, cursor=None)- Belirli bir zaman aralığında bir adres için ERC-20 token transferlerini döndürür.nft_tokens_by_address(chain_id, address, cursor=None)- Bir adresin sahip olduğu, koleksiyona göre gruplandırılmış NFT token'larını alır.get_block_info(chain_id, number_or_hash, include_transactions=False)- Zaman damgası, kullanılan gaz, yakılan ücretler ve işlem sayısı dahil blok bilgilerini döndürür. İsteğe bağlı olarak işlem karmalarının bir listesini içerebilir.get_transaction_info(chain_id, hash, include_raw_input=False)- Kodu çözülmüş giriş parametreleri ve ayrıntılı token transferleriyle kapsamlı işlem bilgisi alır.read_contract(chain_id, address, abi, function_name, args='[]', block='latest')- Salt okunur bir akıllı kontrat işlevini yürütür ve sonucunu döndürür.abibağımsız değişkeni, belirli işlevin imzasını tanımlayan bir JSON nesnesidir.direct_api_call(chain_id, endpoint_path, query_params=None, cursor=None, method='GET', json_body=None)- Gelişmiş veya zincire özgü veriler için ham bir Blockscout API uç noktasını çağırır. JSON gövdesiyle GET (varsayılan) ve POST isteklerini destekler.
AI Ajanları için Örnek Komutlar
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?
Geliştirme ve Dağıtım
Yerel Kurulum
Depoyu klonlayın ve bağımlılıkları yükleyin:
git clone https://github.com/blockscout/mcp-server.git
cd mcp-server
uv pip install -e . # or `pip install -e .`
RPC istekleri için kullanılan User-Agent başlığının başlangıç kısmını özelleştirmek için
BLOCKSCOUT_MCP_USER_AGENT ortam değişkenini ayarlayın (varsayılan
"Blockscout MCP"). Sunucu sürümü otomatik olarak eklenir.
Sunucuya PRO API Anahtarı Sağlama
Sunucuyu kendiniz çalıştırdığınızda, Blockscout PRO API anahtarını BLOCKSCOUT_PRO_API_KEY ortam değişkeni aracılığıyla sağlayın — kabuğunuzda dışa aktarın veya proje kökünde gitignore edilmiş bir .env dosyasına yerleştirin. Bu, tüm veri erişimini, genel etiket zenginleştirmesini ve kontrat okumalarını etkinleştirir. Anahtarı asla taahhüt etmeyin veya istemciyle gönderilen bir ikili dosyaya gömmeyin; Docker ile çalıştırırken, görüntüye gömmek yerine çalışma zamanında iletin (örn. -e BLOCKSCOUT_PRO_API_KEY=...).
export BLOCKSCOUT_PRO_API_KEY=proapi_your_key_here
İstemci tarafından sağlanan anahtarlar (HTTP taşımaları). Sunucu HTTP modunda çalıştığında, bir istemci istek başlığında kendi PRO API anahtarını sağlayabilir — varsayılan olarak Blockscout-MCP-Pro-Api-Key, BLOCKSCOUT_PRO_API_KEY_HEADER aracılığıyla yapılandırılabilir (istemci tarafından sağlanan anahtarları tamamen devre dışı bırakmak için boş bir dizeye ayarlayın). Sunucu ayrıca, başlık adları sabit bir listeyle sınırlı olan istemciler için (örneğin Claude Özel Bağlayıcıları) anahtarı bir x-api-key başlığından okur. Her ikisi de mevcut olduğunda yapılandırılan başlık kazanır; x-api-key yalnızca yapılandırılan başlık eksik veya boş olduğunda dikkate alınır ve istemci tarafından sağlanan anahtarları devre dışı bırakmak onu da devre dışı bırakır. Bu, her iki HTTP taşıması için de aynı şekilde çalışır — HTTP üzerinden MCP araç çağrıları ve REST API. İstemci tarafından sağlanan bir anahtar, bu istek için BLOCKSCOUT_PRO_API_KEY üzerinde öncelik kazanır; istemci anahtar göndermezse, sunucu kendi yapılandırılmış anahtarına geri döner; hiçbiri yoksa, istek yapılandırılmamış hatasıyla başarısız olur. Mevcut ancak hatalı biçimlendirilmiş bir istemci anahtarı, PRO API gerektiren herhangi bir isteği geri dönüş olmadan başarısız eder (sunucu, hatalı bir istemci anahtarının yerine asla sessizce kendi anahtarını kullanmaz); PRO API kullanmayan araçlar etkilenmez. Bu, her istemcinin kendi anahtarıyla kimlik doğruladığı paylaşılan bir HTTP sunucusu çalıştırmayı mümkün kılar.
Düşük kredi uyarısı. PRO API'ye erişim kredilerle ölçülür. API tarafından bildirilen kalan bakiye yapılandırılabilir bir eşiğin altına düştüğünde, her veri aracı yanıtına, operatörleri PRO API erişiminin sürekli yüksek hacimli kullanım için hazır kalması için bakiye yüklemeye teşvik eden bir bilgilendirme notu ekler. Eşik, BLOCKSCOUT_PRO_API_LOW_CREDITS_THRESHOLD aracılığıyla ayarlanır (varsayılan 5000 kredi; notu devre dışı bırakmak için 0 olarak ayarlayın). Not, sıfır ve negatif bakiyeler dahil olmak üzere eşiğin altındaki herhangi bir bakiye için tetiklenir.
PRO API anahtarı gereksinimi bildirimi. BLOCKSCOUT_PRO_API_KEY_REQUIRED_NOTICE, operatör tarafından yapılandırılan ve sunucunun, isteklerinde istemcinin kendi (düzgün biçimlendirilmiş) PRO API anahtarını taşımayan araç yanıtlarının notes alanının son girdisi olarak eklediği bir bildirimi tutar. Bu, resmi genel sunucunun zorunlu istemci tarafından sağlanan anahtarlara geçişini duyurmak için vardır, bu nedenle yalnızca resmi dağıtımın bunu ayarlaması beklenir. Değişken ayarlanmadığında veya boş olduğunda (varsayılan), özellik tamamen kapalıdır. Topluluk ve kendi kendine barındırılan operatörler bunu boş bırakmalıdır — özellikle BLOCKSCOUT_PRO_API_KEY değişkenini kendinizin yapılandırdığı ve hiçbir istek başlığının istemci anahtarı taşıyamadığı stdio modunda, bildirim yalnızca dağıtımınız için geçerli olmayan bir geçiş mesajını tekrarlar.
Sunucuyu Çalıştırma
Sunucu varsayılan olarak stdio modunda çalışır:
python -m blockscout_mcp_server
HTTP Modu (yalnızca MCP):
Sunucuyu HTTP Streamable modunda (durumsuz, varsayılan olarak SSE yanıtları) çalıştırmak için:
python -m blockscout_mcp_server --http
HTTP sunucusu için ana bilgisayar ve bağlantı noktasını da belirtebilirsiniz:
python -m blockscout_mcp_server --http --http-host 0.0.0.0 --http-port 8080
Geliştirme Modu (Düz JSON Yanıtları):
Basit HTTP istemcileriyle (curl, Insomnia) geliştirme ve test için, SSE akışları yerine düz JSON yanıtlarını etkinleştirebilirsiniz:
export BLOCKSCOUT_DEV_JSON_RESPONSE=true
python -m blockscout_mcp_server --http
Not: Bu, Sunucu Tarafından Gönderilen Olayları (SSE) ve ilerleme bildirimlerini devre dışı bırakır. Bunu yalnızca yerel test ve hata ayıklama için kullanın.
Ngrok ile Tünel Oluşturma (Geliştirme Modu):
Python MCP SDK'sı, ngrok tünellerinden gelen istekleri varsayılan olarak engelleyen DNS yeniden bağlama korumasını uygular. Geliştirme ve test için tünel oluşturmayı etkinleştirmek için:
-
Yerel sunucunuza bir ngrok tüneli başlatın:
ngrok http 8000 -
ngrok URL'nizi kullanarak izin verilen ana bilgisayarı ve kaynağı yapılandırın:
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
Not: Bu ayarlar öncelikle geliştirme amaçlıdır. Bu değişkenler ayarlanmadığında, DNS yeniden bağlama koruması sunucunun bağlama ana bilgisayarı tarafından otomatik olarak belirlenir: localhost için etkin, localhost olmayanlar için devre dışı (ör. 0.0.0.0). Ana bilgisayar başlığınız standart olmayan bir bağlantı noktası içeriyorsa, :* joker karakter sonekini kullanın (ör. "example.com:*") veya tam ana bilgisayar:bağlantı noktası değerini belirtin.
MCP sunucularıyla ngrok tünel oluşturma hakkında daha fazla ayrıntı için https://github.com/openai/openai-apps-sdk-examples/blob/main/README.md#testing-in-chatgpt bakın.
REST API ile HTTP Modu:
Sürümlü REST API'yi MCP uç noktasının yanında etkinleştirmek için --rest bayrağını kullanın (bu, --http gerektirir).
python -m blockscout_mcp_server --http --rest
Özel ana bilgisayar ve bağlantı noktasıyla:
python -m blockscout_mcp_server --http --rest --http-host 0.0.0.0 --http-port 8080
CLI Seçenekleri:
--http: HTTP Streamable modunu etkinleştirir.--http-host TEXT: HTTP sunucusunun bağlanacağı ana bilgisayar (varsayılan:127.0.0.1).--http-port INTEGER: HTTP sunucusu için bağlantı noktası (varsayılan:8000).--rest: REST API'yi etkinleştirir (--httpgerektirir).
Docker Görüntüsünü Yerel Olarak Oluşturma
Paketlenmiş beceri alt modülünü başlatın, commit meta verilerini Docker derleme bağlamına işleyin, ardından görüntüyü oluşturun:
git submodule update --init --recursive agent-skills
python scripts/bake_skill_metadata.py
docker build -t ghcr.io/blockscout/mcp-server:latest .
GitHub Container Registry'den Çekme
Önceden oluşturulmuş görüntüyü çekin:
docker pull ghcr.io/blockscout/mcp-server:latest
Docker ile Çalıştırma
HTTP Modu (yalnızca MCP):
Docker kapsayıcısını bağlantı noktası eşlemesiyle HTTP modunda çalıştırmak için:
docker run --rm -p 8000:8000 ghcr.io/blockscout/mcp-server:latest python -m blockscout_mcp_server --http --http-host 0.0.0.0
Özel bağlantı noktasıyla:
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 ile HTTP Modu:
REST API etkinleştirilmiş olarak çalıştırmak için:
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
Not: Docker ile HTTP modunda çalışırken, sunucunun kapsayıcının dışından erişilebilir olması için tüm arayüzlere bağlanmak üzere --http-host 0.0.0.0 kullanın.
Blockscout PRO API Anahtarıyla:
Anahtarı görüntüye gömmek yerine çalışma zamanında -e ile iletin (bkz. PRO API Anahtarını Sunucuya Sağlama):
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
Oturum ölçümü etkinleştirilmişse (isteğe bağlı):
Oturum ölçümü, istemci tarafından sağlanan PRO API anahtarı olmayan bir arayanın, __unlock_blockchain_analysis__ tarafından verilen oturum tanımlayıcısı başına yapabileceği araç çağrısı sayısını sınırlar. Varsayılan olarak kapalıdır. Etkinleştirmek, bir imzalama sırrı ayarlamak anlamına gelir (en az 32 bayt — icat etmeyin, üretin) ve HTTP modu ile sunucu tarafı PRO API anahtarı (ölçülen çağrılar üzerinde üst akışa sunulur) ve oturum veritabanı için kalıcı bir birim gerektirir. Sırrı bir kez üretin ve kalıcı olarak saklayın (bir sır yöneticisi veya kalıcı ortam yapılandırması); her yeniden başlatma ve yeniden dağıtım aynı saklanan değeri iletmelidir:
# 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
Çoğu dağıtım bunların hiçbirine ihtiyaç duymaz: BLOCKSCOUT_SESSION_SECRET değişkenini ayarlanmamış bırakın (varsayılan) ve birim gerekmez. Birimin kaybı veya sırrın döndürülmesi, canlı oturum tanımlayıcılarını tasarım gereği geçersiz kılar; maruziyet, yapılandırılan TTL ile sınırlıdır. Sırrı her docker run işleminde satır içinde yeniden üretmek, bu döndürmenin kazara oluşan biçimidir — veritabanı birimi hayatta kalsa bile her yeniden başlatmada tüm canlı tanımlayıcıları siler, bu nedenle üretim komutunu başlatma komutuna asla gömmeyin. Veritabanının daha eski bir kopyasını geri yüklemek, kaydettiği bütçeleri canlandırır — tarihsel bir geri yüklemeden sonra, amaçlanmadıysa sırrı döndürün. İsteğe bağlı düğmeler: BLOCKSCOUT_SESSION_MCP_MAX_CALLS ve BLOCKSCOUT_SESSION_REST_MAX_CALLS (paylaşılan bir tanımlayıcı başına sayaç üzerinde yüzey başına çağrı tavanları; her ikisi de varsayılan 5; 0, tanımlayıcı verilmesini ve get_chains_list gezinmesini açık bırakırken o yüzeyde ölçülen erişimi kapatır), BLOCKSCOUT_SESSION_TTL_SECONDS (varsayılan 900) ve BLOCKSCOUT_SESSION_SWEEP_INTERVAL_SECONDS (süresi dolan oturum satırlarının ne sıklıkla temizlendiği; varsayılan: TTL başına bir kez).
Stdio Modu: Varsayılan stdio modu, MCP ana bilgisayarları/istemcileriyle (Claude Desktop, Cursor gibi) kullanım için tasarlanmıştır ve iletişimi yöneten bir MCP istemcisi olmadan doğrudan Docker ile çalıştırmak mantıklı değildir.
Claude Desktop ile Test Etme
Sunucuyu Claude Desktop ile test etmek için MCP paketini kullanın.
- Paketi mcpb/README.md içindeki talimatlara göre oluşturun.
- Claude Desktop'ı açın.
- Paketi otomatik olarak yüklemek için
blockscout-mcp-dev.mcpbdosyasına çift tıklayın. - İstendiğinde Blockscout MCP Sunucu URL'sini yapılandırın (varsayılan:
http://127.0.0.1:8000/mcp)
Gizlilik ve Anonim Telemetri
Blockscout MCP Sunucusu'nu iyileştirmemize yardımcı olmak için, topluluk tarafından çalıştırılan sunucu örnekleri varsayılan olarak anonim kullanım verileri toplar. Bu, hangi araçların en popüler olduğunu anlamamıza ve geliştirme çabalarımıza rehberlik etmemize yardımcı olur.
Topladıklarımız:
- Çağrılan aracın adı (ör.
get_block_number). - Araca sağlanan parametreler (
session_idparametresi, iletimden önce bir yer tutucuya maskelenir). - Kullanılan Blockscout MCP Sunucusu sürümü.
- İsteği yetkilendirmek için kullanılabilen PRO API anahtarının tek yönlü, geri döndürülemez karması (SHA-256), mevcut olduğunda. Bu yalnızca türetilmiş bir parmak izidir — anahtarın kendisi asla iletilmez ve karmadan kurtarılamaz.
Toplamadıklarımız:
- Kişisel veri, IP adresleri (merkezi sunucu, gönderenin IP'sini Mixpanel aracılığıyla coğrafi konum için kullanır ve ardından atar) veya sırlar ve özel anahtarlar toplamıyoruz. Özellikle PRO API anahtarı asla iletilmez — yalnızca yukarıda açıklanan, anahtarın kurtarılamayacağı tek yönlü, geri döndürülemez parmak izi iletilir.
Nasıl Devre Dışı Bırakılır
Bu özelliği istediğiniz zaman aşağıdaki ortam değişkenini ayarlayarak devre dışı bırakabilirsiniz:
export BLOCKSCOUT_DISABLE_COMMUNITY_TELEMETRY=true
Lisans
Bu proje Blockscout Yazılım Lisansı altında lisanslanmıştır. Tam koşullar için LİSANS dosyasına bakın.