# Server MCP BlockVectra: alat blockchain RPC dan dokumentasi untuk AI Agent

> Source: https://docs.blockvectra.com/id/guides/mcp-server/

Server MCP BlockVectra di `https://docs.blockvectra.com/mcp` memberi pengembang dan AI Agent 15 alat untuk panggilan blockchain RPC, status chain, harga, dan dokumentasi. Untuk terhubung tidak diperlukan API key: 10 alat tidak pernah memerlukannya; alat lainnya menggunakan `x-api-key` dari header klien Anda. Instal dalam satu baris: `claude mcp add --transport http blockvectra-docs https://docs.blockvectra.com/mcp`

Endpoint-nya adalah [Endpoint MCP](https://docs.blockvectra.com/mcp) (HTTP POST menerima JSON-RPC 2.0; GET mengembalikan 405), dilayani melalui MCP Streamable HTTP dan tanpa state. Untuk file HTTP, JSON publik, dan alur pendaftaran yang menyertainya, lihat [Hubungkan AI Agent](https://docs.blockvectra.com/id/guides/ai-agents/).

## Alat

| Alat | Fungsinya | API key | Jenis akses |
| --- | --- | --- | --- |
| `read_doc` | Membaca halaman dokumentasi sebagai Markdown. | Tidak diperlukan | Hanya-baca |
| `search_docs` | Mencari judul, path, dan ringkasan dokumentasi. | Tidak diperlukan | Hanya-baca |
| `list_chains` | Mencantumkan chain yang didukung, parameter, dan kebijakan metode (GET /v1/chains). | Tidak diperlukan | Hanya-baca |
| `get_status` | Membaca status langsung layanan dan chain (GET /v1/status). | Tidak diperlukan | Hanya-baca |
| `get_pricing` | Membaca bobot Compute Unit, parameter paket gratis, dan nilai default key (GET /v1/plans). | Tidak diperlukan | Hanya-baca |
| `estimate_usage` | Memperkirakan Compute Unit dan biaya untuk satu metode atau lebih. | Tidak diperlukan | Hanya-baca |
| `how_to_get_api_key` | Mengembalikan langkah memperoleh API key dan bentuk autentikasi permintaan. | Tidak diperlukan | Hanya-baca |
| `get_method_info` | Menampilkan ketersediaan metode per chain, bobot CU, dan harganya. | Tidak diperlukan | Hanya-baca |
| `explain_error` | Mencari arti error, penagihan, apakah dapat diulang, dan cara pemulihannya. | Tidak diperlukan | Hanya-baca |
| `list_docs` | Mencantumkan semua halaman dokumentasi beserta path dan judulnya. | Tidak diperlukan | Hanya-baca |
| `rpc_call` | Menjalankan metode JSON-RPC hanya-baca pada chain yang didukung. | Opsional: tanpa API key hanya untuk metode di public.methods milik chain | Hanya-baca |
| `data_api_get` | Mengirim permintaan GET ke Data API chain yang didukung. | Wajib (header x-api-key) | Hanya-baca |
| `get_account` | Membaca saldo akun, CU, dan batas laju (GET /v1/account). | Wajib (header x-api-key) | Hanya-baca |
| `get_deposit_address` | Membaca alamat deposit akun, jaringan yang terbuka, dan token. | Wajib (header x-api-key) | Hanya-baca |
| `send_raw_transaction` | Menyiarkan transaksi mentah yang sudah ditandatangani (eth_sendRawTransaction). | Opsional: tanpa API key hanya untuk metode di public.methods milik chain | Menyiarkan transaksi yang sudah ditandatangani |

Tabel ini dihasilkan dari registri alat server, sehingga memuat setiap alat yang dikembalikan `tools/list`. Setiap alat menerima argumen dan mengembalikan bidang sebagaimana dijelaskan dalam skema `tools/list`-nya sendiri.

### Keamanan API key

Alat yang memerlukan API key membutuhkannya untuk menjalankan permintaan Data API, operasi akun, atau metode RPC di luar metode publik suatu chain.

* **Baca hanya dari header**: API key dibaca hanya dari header permintaan HTTP klien MCP (`x-api-key: rgw_...` atau `Authorization: Bearer rgw_...`).
* **Jangan pernah memasukkan API key ke obrolan**: Jangan pernah mengirim API key atau private key dalam argumen alat atau menempelkannya ke obrolan. Argumen alat dan riwayat obrolan masuk ke log serta konteks percakapan; pengiriman API key dalam argumen akan ditolak.

Jika dipanggil tanpa header API key, alat yang memerlukan API key mengembalikan `isError: true` dan mengarahkan Agent ke `how_to_get_api_key` serta [panduan pendaftaran terprogram](https://docs.blockvectra.com/id/guides/programmatic-signup/?ref=docs-mcp-server).

## Pasang di klien Anda

Anda dapat terhubung ke server MCP dokumentasi BlockVectra di `https://docs.blockvectra.com/mcp` melalui berbagai lingkungan pengembangan dan framework umum.

Mulai tanpa API key. Hubungkan ke endpoint MCP, panggil list\_chains, lalu baca quickstart dengan read\_doc. Tambahkan API key dalam header HTTP klien ketika memerlukan alat Data API atau akun. Akses RPC tanpa API key mengikuti kebijakan metode publik setiap chain.

Header `x-api-key` bersifat opsional. Tanpa API key, klien dapat menggunakan semua alat dokumentasi hanya-baca (`read_doc`, `search_docs`, `list_docs`), penemuan chain (`list_chains`), status langsung (`get_status`), estimasi harga (`get_pricing`, `estimate_usage`), penjelasan error (`explain_error`), serta metode yang diizinkan pada endpoint publik. Saat menggunakan alat yang memerlukan API key (`rpc_call` pada metode terbatas, `send_raw_transaction`, `data_api_get`, `get_account`, dan `get_deposit_address`), konfigurasikan header `x-api-key` dengan API key Anda.

### Claude Code

Hubungkan ke server MCP menggunakan CLI:

```bash
claude mcp add --transport http blockvectra-docs https://docs.blockvectra.com/mcp
```

Untuk menyertakan API key opsional bagi alat terautentikasi, gunakan opsi `--header` (atau `-H`) dan rujuk variabel lingkungan alih-alih menempelkan API key. Gunakan tanda kutip tunggal agar shell Anda tidak memperluasnya; Claude Code memperluas `${BLOCKVECTRA_API_KEY}` saat memulai sesi:

```bash
claude mcp add --transport http blockvectra-docs https://docs.blockvectra.com/mcp \
  --header 'x-api-key: ${BLOCKVECTRA_API_KEY}'
```

Konfigurasi yang sama sebagai `.mcp.json` tingkat proyek (juga yang ditulis oleh `claude mcp add --scope project`):

```json
{
  "mcpServers": {
    "blockvectra-docs": {
      "type": "http",
      "url": "https://docs.blockvectra.com/mcp",
      "headers": { "x-api-key": "${BLOCKVECTRA_API_KEY}" }
    }
  }
}
```

Ekspor `BLOCKVECTRA_API_KEY` di lingkungan yang menjalankan `claude`. Claude Code meminta Anda menyetujui server `.mcp.json` tingkat proyek saat pertama kali Anda menjalankan `claude` di direktori tersebut; sampai saat itu, `claude mcp list` menampilkannya sebagai `Pending approval`.

Untuk skrip dan CI, berikan file tersebut dengan `--mcp-config` dan izinkan alat server. API key tetap berada di lingkungan dan klien MCP menambahkan header sendiri, sehingga Agent tidak memerlukan perintah shell yang memperluas `$BLOCKVECTRA_API_KEY` (pemeriksaan izin Claude Code menolak perintah semacam itu dalam mode non-interaktif dengan `Contains simple_expansion`):

```bash
claude -p "Use rpc_call to run eth_blockNumber on base_mainnet" \
  --mcp-config ./mcp.json --allowedTools "mcp__blockvectra-docs__*"
```

Dengan API key yang sudah diatur, hasil `rpc_call` juga memuat `cu_charged` dan `balance_units`; panggilan tanpa API key hanya mengembalikan respons JSON-RPC. Jika variabel tidak diatur, klien mengirim teks header apa adanya dan server menjawab `invalid_api_key` (kode error `-32024`) alih-alih beralih ke endpoint tanpa API key.

Dokumentasi resmi: [Dokumentasi MCP Claude Code](https://code.claude.com/docs/en/mcp).

### Cursor

Tambahkan server ke konfigurasi MCP Cursor:

```json
{
  "mcpServers": {
    "blockvectra": {
      "url": "https://docs.blockvectra.com/mcp"
    }
  }
}
```

Cursor juga mendukung instalasi sekali klik melalui deep link menggunakan konfigurasi berpengodean base64 `eyJ1cmwiOiJodHRwczovL2RvY3MuYmxvY2t2ZWN0cmEuY29tL21jcCJ9` (mewakili `{"url":"https://docs.blockvectra.com/mcp"}`):

```text
cursor://anysphere.cursor-deeplink/mcp/install?name=blockvectra&config=eyJ1cmwiOiJodHRwczovL2RvY3MuYmxvY2t2ZWN0cmEuY29tL21jcCJ9
```

Ketika memerlukan alat terautentikasi (Data API atau pengelolaan akun), tambahkan objek `headers` dengan API key Anda:

```json
{
  "mcpServers": {
    "blockvectra": {
      "url": "https://docs.blockvectra.com/mcp",
      "headers": {
        "x-api-key": "${env:BLOCKVECTRA_API_KEY}"
      }
    }
  }
}
```

Bentuk `${env:NAME}` mengikuti dokumentasi Cursor, yang menyelesaikan variabel dalam `url` dan `headers`; bentuk ini belum dijalankan terhadap Cursor di sini. Letakkan file di `.cursor/mcp.json` (proyek) atau `~/.cursor/mcp.json` (global).

Dokumentasi resmi: [Dokumentasi MCP Cursor](https://cursor.com/docs/context/mcp) dan [tautan instalasi Cursor](https://cursor.com/docs/context/mcp/install-links).

### VS Code

Di VS Code, konfigurasikan server dalam `.vscode/mcp.json` di bawah kunci tingkat atas `servers` dengan `type: "http"`:

```json
{
  "servers": {
    "blockvectra": {
      "type": "http",
      "url": "https://docs.blockvectra.com/mcp"
    }
  }
}
```

Ketika memerlukan alat terautentikasi, tambahkan objek `headers`:

```json
{
  "servers": {
    "blockvectra": {
      "type": "http",
      "url": "https://docs.blockvectra.com/mcp",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}
```

Saat menyimpan kredensial sensitif, VS Code mendukung referensi variabel input atau file lingkungan alih-alih menulis API key secara tetap. Anda juga dapat menambahkan server menggunakan tindakan Command Palette `MCP: Add Server`.

Dokumentasi resmi: [Dokumentasi server MCP VS Code](https://code.visualstudio.com/docs/copilot/customization/mcp-servers) dan [referensi konfigurasi MCP VS Code](https://code.visualstudio.com/docs/agents/reference/mcp-configuration).

### Codex

Tambahkan server menggunakan OpenAI Codex CLI:

```bash
codex mcp add blockvectra --url https://docs.blockvectra.com/mcp
```

Dalam `config.toml`, konfigurasikan URL server:

```toml
[mcp_servers.blockvectra]
url = "https://docs.blockvectra.com/mcp"
```

Ketika memerlukan alat terautentikasi, konfigurasikan header permintaan dalam `config.toml`:

```toml
[mcp_servers.blockvectra]
url = "https://docs.blockvectra.com/mcp"
http_headers = { "x-api-key" = "YOUR_API_KEY" }
```

Atau, petakan header dari variabel lingkungan:

```toml
[mcp_servers.blockvectra]
url = "https://docs.blockvectra.com/mcp"
env_http_headers = { "x-api-key" = "BLOCKVECTRA_API_KEY" }
```

Dokumentasi resmi: [Dokumentasi MCP OpenAI Codex CLI](https://learn.chatgpt.com/docs/extend/mcp?surface=cli).

### Gemini CLI

Dalam konfigurasi Gemini CLI, tambahkan server di bawah `mcpServers` menggunakan `httpUrl` untuk Streamable HTTP:

```json
{
  "mcpServers": {
    "blockvectra": {
      "httpUrl": "https://docs.blockvectra.com/mcp"
    }
  }
}
```

Ketika memerlukan alat terautentikasi, tambahkan objek `headers` dengan API key Anda:

```json
{
  "mcpServers": {
    "blockvectra": {
      "httpUrl": "https://docs.blockvectra.com/mcp",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}
```

Dokumentasi resmi: [Dokumentasi server MCP Gemini CLI](https://github.com/google-gemini/gemini-cli/blob/main/docs/tools/mcp-server.md).

### OpenAI Responses API

Saat memanggil OpenAI Responses API, sertakan server MCP dalam array `tools` dengan `type: "mcp"`:

```bash
OPENAI_API_BASE="https://api.openai.com/v1"
curl "$OPENAI_API_BASE/responses" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<model>",
    "tools": [{
      "type": "mcp",
      "server_label": "blockvectra",
      "server_url": "https://docs.blockvectra.com/mcp",
      "require_approval": "never"
    }],
    "input": "..."
  }'
```

Ketika memerlukan alat terautentikasi, sertakan bidang `headers` dalam definisi alat:

```json
{
  "type": "mcp",
  "server_label": "blockvectra",
  "server_url": "https://docs.blockvectra.com/mcp",
  "headers": { "x-api-key": "YOUR_API_KEY" },
  "require_approval": "never"
}
```

Dokumentasi resmi: [Panduan alat MCP OpenAI](https://developers.openai.com/api/docs/guides/tools-connectors-mcp) dan [referensi OpenAI Responses API](https://developers.openai.com/api/reference/resources/responses/methods/create).

### Windsurf

Di Windsurf, konfigurasikan server di bawah `mcpServers` menggunakan bidang `serverUrl`:

```json
{
  "mcpServers": {
    "blockvectra": {
      "serverUrl": "https://docs.blockvectra.com/mcp"
    }
  }
}
```

Ketika memerlukan alat terautentikasi, tambahkan objek `headers` dengan API key Anda:

```json
{
  "mcpServers": {
    "blockvectra": {
      "serverUrl": "https://docs.blockvectra.com/mcp",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}
```

Windsurf juga mendukung referensi variabel lingkungan, seperti `"x-api-key": "${env:BLOCKVECTRA_API_KEY}"`.

Dokumentasi resmi: [Dokumentasi MCP Windsurf](https://docs.devin.ai/desktop/cascade/mcp).

### Claude Desktop dan claude.ai

Konektor kustom dikonfigurasikan melalui antarmuka pengguna:

* **claude.ai**: Buka **Customize** > **Connectors**, klik **+ Add**, pilih **Add custom connector**, lalu masukkan URL:
  ```text
  https://docs.blockvectra.com/mcp
  ```
* **Claude Desktop**: Buka menu pengaturan akun dan konfigurasikan konektor kustom melalui antarmuka konektor.

Menghubungkan ke URL memungkinkan Claude mencari panduan, membaca dokumentasi Markdown, memeriksa chain yang didukung, memeriksa status jaringan, dan menghitung estimasi harga tanpa kredensial.

Dokumentasi resmi: [Panduan konektor kustom Claude](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp).

### Periksa koneksi dan atasi masalah

Di Claude Code, `claude mcp list` menampilkan status setiap server. Untuk jumlah alat yang benar-benar terdaftar, jalankan sekali dengan keluaran stream dan baca peristiwa `init`, atau baca log debug:

```bash
claude -p "say ok" --mcp-config ./mcp.json --output-format stream-json --verbose
claude -p "say ok" --mcp-config ./mcp.json --debug mcp --debug-file mcp-debug.log
```

Koneksi yang berfungsi menampilkan `"status": "connected"` dan alat `mcp__blockvectra-docs__*` (seperti `list_chains` dan `rpc_call`) dalam peristiwa `init`. Di log debug, cari baris tentang `blockvectra-docs` seperti `Successfully connected` dan `Failed to fetch tools`. Jika server berstatus `connected` tetapi tidak ada alat yang muncul, baca alasan yang dilaporkan log debug (`--debug mcp`) setelah `Failed to fetch tools`. Untuk memeriksa bahwa server itu sendiri sehat, gunakan panggilan curl di bawah.

### Panggil endpoint MCP tanpa klien

Endpoint-nya adalah JSON-RPC 2.0 melalui HTTP POST, sehingga klien HTTP apa pun dapat memanggilnya:

```bash
curl -s https://docs.blockvectra.com/mcp -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

curl -s https://docs.blockvectra.com/mcp -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"rpc_call","arguments":{"chain":"base_mainnet","method":"eth_blockNumber","params":[]}}}'
```

Panggilan pertama mengembalikan daftar alat; panggilan kedua mengembalikan respons JSON-RPC dalam `result.structuredContent`. Pengenal chain berupa slug seperti `base_mainnet`; dapatkan dari `list_chains`. Alat yang memerlukan API key membutuhkan header `x-api-key`; panggilan ini membaca akun Anda dengan API key dari variabel lingkungan:

```bash
curl -s https://docs.blockvectra.com/mcp -H 'content-type: application/json' \
  -H "x-api-key: $BLOCKVECTRA_API_KEY" \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"get_account","arguments":{}}}'
```

Panggilan ini mengembalikan `key_id`, `plan`, `balance_units`, `balance_cu`, dan batas laju API key dalam `result.structuredContent`. Jika Agent Anda menjalankan perintah melalui shell yang dibatasi izin, perluasan variabel tersebut mungkin diblokir; konfigurasikan header di klien MCP sebagai gantinya.

## FAQ

### Apakah server MCP BlockVectra memerlukan API key?

Tidak. Untuk terhubung tidak diperlukan API key, dan 10 dari 15 alat tidak pernah memerlukannya. `rpc_call` dan `send_raw_transaction` berjalan tanpa API key hanya untuk metode dalam `public.methods` chain (baca dengan `list_chains`). `data_api_get`, `get_account`, dan `get_deposit_address` memerlukan header `x-api-key`.

### Dapatkah server MCP membuat atau mencabut API key?

Tidak. Tidak ada alat yang membuat, mencantumkan, atau mencabut API key. `how_to_get_api_key` hanya mengembalikan langkah-langkahnya; Agent membuat API key melalui HTTP dengan mengikuti [pendaftaran terprogram](https://docs.blockvectra.com/id/guides/programmatic-signup/?ref=docs-mcp-server), dan manusia membuatnya di konsol. API key tidak pernah melewati argumen alat.

### Dapatkah Agent mengirim transaksi melalui server MCP?

Agent dapat menyiarkan, bukan menandatangani. `rpc_call` menolak metode tulis seperti `eth_sendRawTransaction`, `eth_sendTransaction`, `eth_sign`, dan `personal_*`. `send_raw_transaction` menyiarkan transaksi yang sudah Anda tandatangani secara lokal dengan `eth_sendRawTransaction`; server tidak pernah memegang atau melihat private key.

### Apa yang terjadi saat panggilan gagal?

Error alat mengembalikan `isError: true` dengan alasan terstruktur. Gunakan `explain_error` atau [referensi kode error](https://docs.blockvectra.com/id/errors/) untuk melihat apakah kegagalan ditagih dan apakah perlu dicoba ulang.

## Terkait

* [Hubungkan AI Agent](https://docs.blockvectra.com/id/guides/ai-agents/): file yang dapat dibaca mesin, endpoint JSON publik, dan alur pemilihan chain.
* [Pendaftaran terprogram](https://docs.blockvectra.com/id/guides/programmatic-signup/?ref=docs-mcp-server): buat API key dengan tanda tangan dompet, tanpa browser.
* [Resep framework Agent](https://docs.blockvectra.com/id/guides/agent-frameworks/): ElizaOS, viem, wagmi, dan Coinbase AgentKit.
* [Kode error](https://docs.blockvectra.com/id/errors/): setiap error beserta aturan penagihan dan percobaan ulang.
