Blockscout

resmi

Akses data blockchain seperti saldo, token, dan NFT dari API Blockscout. Mendukung multi-chain dan notifikasi progres.

Apa yang bisa Anda lakukan dengan Blockscout MCP?

  • Menyelesaikan alamat dan token — Minta get_address_by_ens_name untuk mengonversi nama ENS menjadi alamat, atau lookup_token_by_symbol untuk menemukan token berdasarkan simbol di berbagai rantai.
  • Memeriksa kontrak dan kode — Gunakan get_contract_abi dan inspect_contract_code untuk mengambil ABI kontrak pintar atau file sumber yang terverifikasi.
  • Menganalisis aktivitas dompet — Kueri get_transactions_by_address, get_token_transfers_by_address, dan nft_tokens_by_address untuk meninjau riwayat transaksi alamat, transfer ERC-20, atau kepemilikan NFT.
  • Menjelajahi blok dan transaksi — Dapatkan detail melalui get_block_info dan get_transaction_info, termasuk input yang didekode, gas yang digunakan, dan transfer token.
  • Membaca status kontrak — Panggil read_contract untuk menjalankan fungsi hanya-baca pada kontrak pintar di blok tertentu.
  • Mengakses data rantai mentah — Gunakan direct_api_call untuk kueri lanjutan atau khusus rantai terhadap endpoint Blockscout.

Server MCP Terhosting

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

Terpasang ke Claude Code, Codex, Cursor, dan lainnya

Dokumentasi

Server MCP Blockscout

smithery badge

Blockscout Server MCP server

Model Context Protocol (MCP) adalah protokol terbuka yang dirancang untuk memungkinkan agen AI, IDE, dan alat otomasi mengonsumsi, menanyakan, dan menganalisis data terstruktur melalui API yang sadar konteks.

Server ini membungkus API Blockscout dan mengekspos data blockchain—saldo, token, NFT, metadata kontrak—melalui MCP sehingga agen dan alat AI (seperti Claude, Cursor, atau IDE) dapat mengakses dan menganalisisnya secara kontekstual.

Fitur Utama:

  • Akses data blockchain kontekstual untuk alat AI
  • Dukungan multi-rantai melalui konfigurasi API PRO Blockscout dengan pengayaan metadata Chainscout
  • API REST Berbasis Versi: Menyediakan antarmuka standar yang ramah web untuk semua alat MCP. Lihat API.md untuk dokumentasi lengkap.
  • Instruksi khusus untuk host MCP agar dapat menggunakan server
  • Optimasi konteks cerdas untuk menghemat token LLM sambil menjaga aksesibilitas data
  • Pemotongan respons cerdas dengan ukuran halaman yang dapat dikonfigurasi untuk mencegah luapan konteks
  • Paginasi kursor buram menggunakan string berenkode Base64URL, bukan parameter yang rumit
  • Pemotongan otomatis bidang data besar dengan indikator yang jelas dan panduan akses
  • Model ToolResponse terstandarisasi dengan respons JSON terstruktur dan instruksi lanjutan
  • Observabilitas yang ditingkatkan dengan notifikasi progres MCP dan pembaruan berkala untuk operasi yang berjalan lama

Analisis yang Ditingkatkan dengan Keterampilan Agen

Untuk analisis blockchain yang lebih kuat dan efisien, instal keterampilan Analisis Blockscout dari repositori agent-skills. Keterampilan ini memberikan panduan terstruktur kepada agen AI untuk strategi eksekusi, penanganan respons, praktik terbaik keamanan, dan orkestrasi alur kerja.

Pelajari lebih lanjut: Lihat README agent-skills untuk kemampuan lengkap dan instruksi pemasangan.

Mengonfigurasi Klien MCP

Kunci API PRO Blockscout

Mengonfigurasi server MCP Blockscout dengan agen AI memerlukan kunci API PRO Blockscout. Sebagian besar alat data mengarahkan permintaannya melalui gateway API PRO Blockscout yang terautentikasi, jadi tanpa kunci yang valid, alat-alat tersebut akan gagal dengan cepat sebelum membuat permintaan hulu apa pun.

Untuk mendapatkan kunci, daftar di Portal Pengembang Blockscout (tingkat gratis tidak memerlukan kartu kredit) dan buat kunci API; kunci diberi awalan proapi_. Kemudian berikan kunci tersebut saat mengonfigurasi klien Anda, seperti yang ditunjukkan pada bagian di bawah ini.

Pengaturan Claude (Web, Desktop, Cowork) - Disarankan

Cara termudah untuk menggunakan server MCP Blockscout dengan Claude adalah server resmi yang dihosting: pengalaman instalasi terkelola asli dengan pembaruan otomatis dan tanpa perlu menjalankan apa pun sendiri. Tambahkan sebagai Konektor Kustom dengan kunci API PRO Anda sendiri. Claude mengirimkan kunci pada setiap permintaan dalam header x-api-key, yang diterima server sebagai alias untuk header Blockscout-MCP-Pro-Api-Key miliknya.

  1. Buka Claude dan masuk ke Kustomisasi > Konektor. Pada paket Tim dan Perusahaan, pemilik organisasi melakukan ini di bawah Pengaturan organisasi > Konektor.
  2. Klik Tambahkan konektor kustom. Atur nama menjadi Blockscout dan URL menjadi https://mcp.blockscout.com/mcp, lalu lanjutkan.
  3. Biarkan Autentikasi sebagai None (Claude mendeteksinya). Peringatan bahwa konektor tidak memiliki kredensial adalah hal yang wajar: kunci diberikan pada langkah berikutnya.
  4. Buka Header permintaan, pilih x-api-key dari daftar, dan tempel kunci API PRO Anda sebagai nilainya. Pilih persis nama ini; server tidak membaca nama lain yang terlihat serupa dalam daftar.
  5. Klik Tambahkan.

Catatan: Bagian Header permintaan masih dalam versi beta dan belum tersedia untuk semua organisasi. Jika dialog Anda tidak menampilkannya, gunakan Direktori Konektor di bawah.

Catatan: Pada paket Tim dan Perusahaan, kunci dimasukkan sekali oleh Pemilik dan dibagikan ke seluruh organisasi. Pengaturan autentikasi tidak dapat diedit setelah konektor ditambahkan: untuk mengubah kunci, hapus konektor dan tambahkan lagi.

Menggunakan Direktori Konektor Claude

Jika dialog Konektor Kustom tidak memiliki bagian Header permintaan, instal konektor Blockscout dari Direktori Konektor Anthropic resmi. Konektor ini terhubung ke server yang dihosting sama tetapi menggunakan kunci akses bersama.

Pemasangan

Opsi 1: Tautan Langsung

Kunjungi claude.com/connectors/blockscout dan klik tautan di bagian "Digunakan di" untuk menginstal konektor Blockscout.

Opsi 2: Melalui Pengaturan
  1. Buka Claude (aplikasi Web atau Desktop)
  2. Masuk ke Pengaturan > Konektor > Jelajahi konektor
  3. Cari "Blockscout"
  4. Klik "Hubungkan" untuk menginstal

Keterbatasan: Karena penggunaan kunci akses bersama, mungkin ada pembatasan pada akses dan kemampuan konektor.

Pengaturan Claude Code

Berikan kunci API PRO Anda melalui header Blockscout-MCP-Pro-Api-Key saat menambahkan server:

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

Setelah menjalankan perintah ini, Blockscout akan tersedia sebagai server MCP di Claude Code, memungkinkan Anda mengakses dan menganalisis data blockchain langsung dari lingkungan pengkodean Anda.

Pengaturan Aplikasi ChatGPT

Instal aplikasi Blockscout dari marketplace Aplikasi ChatGPT:

  1. Buka halaman aplikasi Blockscout (atau cari "Blockscout" di direktori Aplikasi ChatGPT).
  2. Klik "Hubungkan" untuk mengaktifkan aplikasi untuk akun ChatGPT Anda.

Pengaturan Aplikasi Codex

  1. Buka Codex dan masuk ke Pengaturan > Server MCP > Tambahkan server.
  2. Atur Nama menjadi Blockscout, pilih tab Streamable HTTP, dan atur URL menjadi https://mcp.blockscout.com/mcp.
  3. Di bawah Header, tambahkan header dengan kunci Blockscout-MCP-Pro-Api-Key dan nilai proapi_your_key_here.
  4. Simpan dan mulai ulang aplikasi Codex.

Pengaturan CLI Codex

CLI Codex tidak dapat melampirkan header kustom dari baris perintah, jadi konfigurasikan dalam dua langkah:

  1. Buat kerangka entri server:

    codex mcp add Blockscout --url https://mcp.blockscout.com/mcp
    
  2. Edit ~/.codex/config.toml untuk menambahkan header kunci API PRO dan aktifkan klien MCP streamable-HTTP (diperlukan agar server MCP jarak jauh dapat terhubung). Konfigurasi yang dihasilkan akan terlihat seperti ini:

    [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" }
    

Pengaturan Cursor

Tambahkan server ke konfigurasi MCP Cursor Anda — baik .cursor/mcp.json tingkat proyek atau ~/.cursor/mcp.json global — dengan memberikan kunci API PRO Anda melalui header 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"
      }
    }
  }
}

Pengaturan Pengembangan Lokal (Untuk Pengembang)

Jika Anda ingin menjalankan server secara lokal untuk tujuan pengembangan:

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

Detail Teknis

Lihat SPEC.md untuk detail teknis.

Struktur Repositori

Lihat AGENTS.md untuk struktur repositori.

Pengujian

Lihat TESTING.md untuk instruksi lengkap tentang menjalankan pengujian unit dan integrasi.

Deskripsi Alat

  1. __unlock_blockchain_analysis__() - Menginisialisasi sesi MCP Blockscout: mengembalikan data referensi server, penunjuk keterampilan blockscout-analysis, dan aturan resolusi URI. Panggil sekali per sesi, sebelum alat lainnya.
  2. get_chains_list(query=None) - Mengembalikan daftar rantai yang didukung, dengan pemfilteran opsional berdasarkan nama, ID rantai, mata uang asli, atau ekosistem.
  3. get_address_by_ens_name(name) - Mengonversi nama domain ENS menjadi alamat Ethereum yang sesuai.
  4. lookup_token_by_symbol(chain_id, symbol) - Mencari alamat token berdasarkan simbol atau nama, mengembalikan beberapa kemungkinan kecocokan.
  5. get_contract_abi(chain_id, address) - Mengambil ABI (Antarmuka Biner Aplikasi) untuk kontrak pintar.
  6. inspect_contract_code(chain_id, address, file_name=None) - Memungkinkan mendapatkan file sumber kontrak yang terverifikasi.
  7. get_address_info(chain_id, address) - Mendapatkan informasi lengkap tentang alamat termasuk saldo, asosiasi ENS, status kontrak, detail token, dan tag publik.
  8. get_tokens_by_address(chain_id, address, cursor=None) - Mengembalikan kepemilikan token ERC20 yang terperinci untuk alamat dengan metadata yang diperkaya dan data pasar.
  9. get_block_number(chain_id, [datetime]) - Mengambil nomor blok dan stempel waktu untuk tanggal/waktu tertentu atau blok terbaru.
  10. get_transactions_by_address(chain_id, address, age_from, age_to, methods, cursor=None) - Mendapatkan transaksi untuk alamat dalam rentang waktu tertentu dengan pemfilteran metode opsional.
  11. get_token_transfers_by_address(chain_id, address, age_from, age_to, token, cursor=None) - Mengembalikan transfer token ERC-20 untuk alamat dalam rentang waktu tertentu.
  12. nft_tokens_by_address(chain_id, address, cursor=None) - Mengambil token NFT yang dimiliki oleh alamat, dikelompokkan berdasarkan koleksi.
  13. get_block_info(chain_id, number_or_hash, include_transactions=False) - Mengembalikan informasi blok termasuk stempel waktu, gas yang digunakan, biaya yang dibakar, dan jumlah transaksi. Dapat secara opsional menyertakan daftar hash transaksi.
  14. get_transaction_info(chain_id, hash, include_raw_input=False) - Mendapatkan informasi transaksi lengkap dengan parameter input yang didekodekan dan transfer token yang terperinci.
  15. read_contract(chain_id, address, abi, function_name, args='[]', block='latest') - Mengeksekusi fungsi kontrak pintar hanya-baca dan mengembalikan hasilnya. Argumen abi adalah objek JSON yang menjelaskan tanda tangan fungsi tertentu.
  16. direct_api_call(chain_id, endpoint_path, query_params=None, cursor=None, method='GET', json_body=None) - Memanggil titik akhir API Blockscout mentah untuk data tingkat lanjut atau khusus rantai. Mendukung permintaan GET (default) dan POST dengan badan JSON.

Contoh Prompt untuk Agen 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?

Pengembangan & Penerapan

Instalasi Lokal

Kloning repositori dan instal dependensi:

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

Untuk menyesuaikan bagian awal header User-Agent yang digunakan untuk permintaan RPC, atur variabel lingkungan BLOCKSCOUT_MCP_USER_AGENT (defaultnya adalah "Blockscout MCP"). Versi server ditambahkan secara otomatis.

Menyediakan Kunci API PRO ke Server

Saat Anda menjalankan server sendiri, berikan kunci API PRO Blockscout melalui variabel lingkungan BLOCKSCOUT_PRO_API_KEY — diekspor di shell Anda atau ditempatkan di file .env yang diabaikan git di root proyek. Ini memungkinkan semua akses data, pengayaan tag publik, dan pembacaan kontrak. Jangan pernah mengirimkan kunci atau menyematkannya dalam biner yang dikirim ke klien; saat menjalankan melalui Docker, berikan saat runtime (misalnya -e BLOCKSCOUT_PRO_API_KEY=...) daripada memanggangnya ke dalam image.

export BLOCKSCOUT_PRO_API_KEY=proapi_your_key_here

Kunci yang disediakan klien (transport HTTP). Saat server berjalan dalam mode HTTP, klien dapat menyediakan kunci API PRO-nya sendiri di header permintaan — secara default Blockscout-MCP-Pro-Api-Key, dapat dikonfigurasi melalui BLOCKSCOUT_PRO_API_KEY_HEADER (atur ke string kosong untuk menonaktifkan kunci yang disediakan klien sepenuhnya). Server juga membaca kunci dari header x-api-key, untuk klien yang nama headernya dibatasi ke daftar tetap (misalnya Konektor Kustom Claude). Header yang dikonfigurasi menang saat keduanya ada; x-api-key hanya dikonsultasikan saat header yang dikonfigurasi hilang atau kosong, dan menonaktifkan kunci yang disediakan klien juga menonaktifkannya. Ini berfungsi sama untuk kedua transport HTTP — panggilan alat MCP-over-HTTP dan API REST. Kunci yang disediakan klien memiliki prioritas di atas BLOCKSCOUT_PRO_API_KEY untuk permintaan tersebut; jika klien tidak mengirim kunci, server kembali ke kunci yang dikonfigurasinya sendiri; jika keduanya tidak ada, permintaan gagal dengan kesalahan tidak dikonfigurasi. Kunci klien yang ada tetapi salah format akan menggagalkan permintaan apa pun yang memerlukan PRO API tanpa fallback (server tidak pernah diam-diam menggunakan kuncinya sendiri sebagai pengganti kunci klien yang buruk); alat yang tidak menggunakan PRO API tidak terpengaruh. Ini memungkinkan menjalankan server HTTP bersama di mana setiap klien mengautentikasi dengan kuncinya sendiri.

Peringatan kredit rendah. Akses ke PRO API diukur dalam kredit. Ketika saldo tersisa yang dilaporkan oleh API turun di bawah ambang batas yang dapat dikonfigurasi, setiap alat data menambahkan catatan penasihat ke responsnya, mendorong operator untuk mengisi ulang agar akses PRO API tetap siap untuk penggunaan volume tinggi yang berkelanjutan. Ambang batas diatur melalui BLOCKSCOUT_PRO_API_LOW_CREDITS_THRESHOLD (default 5000 kredit; atur ke 0 untuk menonaktifkan catatan). Catatan dipicu untuk saldo apa pun di bawah ambang batas, termasuk saldo nol dan negatif. Catatan persyaratan kunci PRO API. BLOCKSCOUT_PRO_API_KEY_REQUIRED_NOTICE menyimpan pemberitahuan yang dikonfigurasi operator yang ditambahkan server sebagai entri terakhir dari bidang notes dari respons alat yang permintaannya tidak membawa kunci PRO API milik klien (yang terbentuk dengan baik). Ini ada untuk mengumumkan migrasi server publik resmi ke kunci yang disuplai klien yang wajib, sehingga hanya penerapan resmi yang diharapkan untuk mengaturnya. Ketika variabel tidak disetel atau kosong (default), fitur ini sepenuhnya nonaktif. Operator komunitas dan yang dihosting sendiri harus membiarkannya kosong — khususnya dalam mode stdio, di mana Anda mengonfigurasi BLOCKSCOUT_PRO_API_KEY sendiri dan tidak ada header permintaan yang dapat membawa kunci klien, pemberitahuan hanya akan mengulangi pesan migrasi yang tidak berlaku untuk penerapan Anda.

Menjalankan Server

Server berjalan dalam mode stdio secara default:

python -m blockscout_mcp_server

Mode HTTP (MCP saja):

Untuk menjalankan server dalam mode HTTP Streamable (tanpa status, respons SSE secara default):

python -m blockscout_mcp_server --http

Anda juga dapat menentukan host dan port untuk server HTTP:

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

Mode Pengembangan (Respons JSON Biasa):

Untuk pengembangan dan pengujian dengan klien HTTP sederhana (curl, Insomnia), Anda dapat mengaktifkan respons JSON biasa alih-alih aliran SSE:

export BLOCKSCOUT_DEV_JSON_RESPONSE=true
python -m blockscout_mcp_server --http

Catatan: Ini menonaktifkan Server-Sent Events (SSE) dan notifikasi kemajuan. Hanya gunakan ini untuk pengujian dan debugging lokal.

Tunneling dengan Ngrok (Mode Pengembangan):

Python MCP SDK memberlakukan perlindungan pembatalan pengikatan DNS, yang memblokir permintaan dari tunnel ngrok secara default. Untuk mengaktifkan tunneling untuk pengembangan dan pengujian:

  1. Mulai tunnel ngrok ke server lokal Anda:

    ngrok http 8000
    
  2. Konfigurasikan host dan asal yang diizinkan menggunakan URL ngrok Anda:

    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
    

Catatan: Pengaturan ini terutama untuk penggunaan pengembangan. Ketika variabel-variabel ini tidak disetel, perlindungan pembatalan pengikatan DNS secara otomatis ditentukan oleh host bind server: diaktifkan untuk localhost, dinonaktifkan untuk non-localhost (misalnya, 0.0.0.0). Jika header Host Anda menyertakan port non-standar, gunakan akhiran wildcard :* (misalnya, "example.com:*") atau tentukan nilai host:port yang tepat.

Untuk detail lebih lanjut tentang tunneling ngrok dengan server MCP, lihat https://github.com/openai/openai-apps-sdk-examples/blob/main/README.md#testing-in-chatgpt.

Mode HTTP dengan REST API:

Untuk mengaktifkan REST API versi di samping titik akhir MCP, gunakan flag --rest (yang memerlukan --http).

python -m blockscout_mcp_server --http --rest

Dengan host dan port kustom:

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

Opsi CLI:

  • --http: Mengaktifkan mode HTTP Streamable.
  • --http-host TEXT: Host untuk mengikat server HTTP (default: 127.0.0.1).
  • --http-port INTEGER: Port untuk server HTTP (default: 8000).
  • --rest: Mengaktifkan REST API (memerlukan --http).

Membangun Gambar Docker Secara Lokal

Inisialisasi submodul skill yang dibundel, bakar metadata komitnya ke dalam konteks build Docker, lalu bangun gambar:

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

Menarik dari GitHub Container Registry

Tarik gambar yang sudah dibangun sebelumnya:

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

Menjalankan dengan Docker

Mode HTTP (MCP saja):

Untuk menjalankan kontainer Docker dalam mode HTTP dengan pemetaan port:

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

Dengan port kustom:

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

Mode HTTP dengan REST API:

Untuk menjalankan dengan REST API diaktifkan:

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

Catatan: Saat menjalankan dalam mode HTTP dengan Docker, gunakan --http-host 0.0.0.0 untuk mengikat ke semua antarmuka sehingga server dapat diakses dari luar kontainer.

Dengan Kunci PRO API Blockscout:

Berikan kunci saat runtime dengan -e daripada memanggangnya ke dalam gambar (lihat Menyediakan Kunci PRO API ke 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

Dengan pengukuran sesi diaktifkan (opsional):

Pengukuran sesi membatasi berapa banyak panggilan alat yang dapat dilakukan pemanggil tanpa kunci PRO API yang disuplai klien per pengenal sesi yang dikeluarkan oleh __unlock_blockchain_analysis__. Ini nonaktif secara default. Mengaktifkannya berarti menetapkan rahasia penandatanganan (setidaknya 32 byte — buatlah, jangan mengarangnya), dan itu memerlukan mode HTTP dan kunci PRO API sisi server (panggilan terukur dilayani di hulu dengannya), plus volume persisten untuk basis data sesi. Hasilkan rahasia sekali dan simpan secara tahan lama (manajer rahasia, atau konfigurasi lingkungan persisten); setiap mulai ulang dan penerapan ulang harus meneruskan nilai tersimpan yang sama:

# 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

Sebagian besar penerapan tidak memerlukan semua ini: biarkan BLOCKSCOUT_SESSION_SECRET tidak disetel (default) dan tidak ada volume yang diperlukan. Kehilangan volume atau memutar rahasia membatalkan pengenal sesi langsung secara desain; paparan dibatasi oleh TTL yang dikonfigurasi. Menghasilkan ulang rahasia secara inline pada setiap docker run adalah bentuk tidak disengaja dari rotasi itu — itu menghapus semua pengenal langsung pada setiap mulai ulang bahkan jika volume basis data selamat, jadi jangan pernah menyematkan perintah pembuatan dalam perintah mulai. Memulihkan salinan basis data yang lebih lama menghidupkan kembali anggaran yang dicatatnya — setelah pemulihan historis, putar rahasia kecuali itu dimaksudkan. Kenop opsional: BLOCKSCOUT_SESSION_MCP_MAX_CALLS dan BLOCKSCOUT_SESSION_REST_MAX_CALLS (batas panggilan per-permukaan di atas satu penghitung per-pengenal bersama; keduanya default 5; 0 menutup akses terukur pada permukaan itu sambil membiarkan penerbitan pengenal dan navigasi get_chains_list terbuka), BLOCKSCOUT_SESSION_TTL_SECONDS (default 900), dan BLOCKSCOUT_SESSION_SWEEP_INTERVAL_SECONDS (seberapa sering baris sesi kedaluwarsa dibersihkan; default: sekali per TTL).

Mode Stdio: Mode stdio default dirancang untuk digunakan dengan host/klien MCP (seperti Claude Desktop, Cursor) dan tidak masuk akal untuk dijalankan langsung dengan Docker tanpa klien MCP yang mengelola komunikasi.

Pengujian dengan Claude Desktop

Gunakan bundel MCP untuk menguji server dengan Claude Desktop.

  1. Bangun bundel sesuai instruksi di mcpb/README.md.
  2. Buka Claude Desktop.
  3. Klik dua kali untuk membuka file blockscout-mcp-dev.mcpb untuk menginstal bundel secara otomatis.
  4. Konfigurasikan URL Server MCP Blockscout saat diminta (default: http://127.0.0.1:8000/mcp)

Privasi dan Telemetri Anonim

Untuk membantu kami meningkatkan Server MCP Blockscout, instance server yang dijalankan komunitas mengumpulkan data penggunaan anonim secara default. Ini membantu kami memahami alat mana yang paling populer dan memandu upaya pengembangan kami.

Apa yang kami kumpulkan:

  • Nama alat yang dipanggil (misalnya, get_block_number).
  • Parameter yang diberikan ke alat (parameter session_id ditutupi dengan placeholder sebelum transmisi).
  • Versi Server MCP Blockscout yang digunakan.
  • Hash satu arah yang tidak dapat dibalik (SHA-256) dari kunci PRO API yang tersedia untuk mengotorisasi permintaan, jika ada. Ini hanya sidik jari turunan — kunci itu sendiri tidak pernah dikirim dan tidak dapat dipulihkan dari hash.

Apa yang TIDAK kami kumpulkan:

  • Kami tidak mengumpulkan data pribadi apa pun, alamat IP (server pusat menggunakan IP pengirim untuk geolokasi melalui Mixpanel dan kemudian membuangnya), atau rahasia dan kunci pribadi itu sendiri. Kunci PRO API khususnya tidak pernah dikirim — hanya sidik jari satu arah yang tidak dapat dibalik yang dijelaskan di atas, dari mana kunci tidak dapat dipulihkan.

Cara Menyisih

Anda dapat menonaktifkan fitur ini kapan saja dengan mengatur variabel lingkungan berikut:

export BLOCKSCOUT_DISABLE_COMMUNITY_TELEMETRY=true

Lisensi

License: Blockscout Software Licence

Proyek ini dilisensikan di bawah Lisensi Perangkat Lunak Blockscout. Lihat file LICENSE untuk ketentuan lengkap.