Agent 프레임워크를 위한 블록체인 RPC 및 문서 MCP

ElizaOS, viem, wagmi, Coinbase AgentKit을 위한 블록체인 RPC를 구성하고 문서 MCP를 통해 기능을 탐색하세요.

아래 안내에 따라 ElizaOS, viem, wagmi 또는 Coinbase AgentKit에서 블록체인 RPC를 설정하세요. 개발자와 AI Agent는 먼저 docs MCP를 사용하여 메서드와 문서를 탐색한 다음, 별도의 HTTP 가입 절차를 진행하여 API key를 발급받을 수 있습니다. 발급받은 키를 RPC 및 Data API 요청이나 MCP 클라이언트의 x-api-key 헤더(키가 필요한 도구용)에 사용하세요. 키가 없는 공개 RPC 접근은 각 체인의 public.methods로 제한됩니다.

ElizaOS

elizaOS에서 EVM 상호작용은 @elizaos/plugin-evm 플러그인이 처리합니다. 이 플러그인은 ETHEREUM_PROVIDER_<NETWORK> 패턴의 환경 변수 또는 대체 변수인 EVM_PROVIDER_URL에서 RPC 공급자 엔드포인트를 읽어옵니다.

지갑 프라이빗 키와 RPC 엔드포인트를 .env 파일에 설정하세요:

# 트랜잭션 서명용 EVM 지갑 프라이빗 키
export EVM_PRIVATE_KEY=0x...

# API key가 포함된 전용 엔드포인트
export ETHEREUM_PROVIDER_ETHEREUM=https://api.blockvectra.com/v1/eth_mainnet/${BLOCKVECTRA_API_KEY}
export ETHEREUM_PROVIDER_BASE=https://api.blockvectra.com/v1/base_mainnet/${BLOCKVECTRA_API_KEY}

# 키가 필요 없는 공개 RPC 엔드포인트
# export ETHEREUM_PROVIDER_ETHEREUM=https://api.blockvectra.com/v1/eth_mainnet/public

Agent 캐릭터 설정에 @elizaos/plugin-evm을 포함하세요:

{
  "name": "DeFiAgent",
  "plugins": ["@elizaos/plugin-evm"]
}

viem

viem에서는 http() 또는 webSocket()을 사용하여 클라이언트 전송 계층을 설정합니다.

API key를 사용하는 HTTP 전송

import { createPublicClient, http } from "viem";
import { mainnet } from "viem/chains";

export const client = createPublicClient({
  chain: mainnet,
  transport: http(`https://api.blockvectra.com/v1/eth_mainnet/${process.env.BLOCKVECTRA_API_KEY}`),
});

키가 필요 없는 공개 엔드포인트 HTTP 전송

API key 없이 허용된 공개 메서드에 대해 읽기 요청을 수행하는 경우:

import { createPublicClient, http } from "viem";
import { mainnet } from "viem/chains";

export const publicClient = createPublicClient({
  chain: mainnet,
  transport: http("https://api.blockvectra.com/v1/eth_mainnet/public"),
});

WebSocket 전송

WebSocket 전송(webSocket(...))은 Robinhood Chain(robinhood_mainnet)과 같이 GET /v1/chains에서 ws: true로 표시된 체인에서 지원됩니다:

import { createPublicClient, webSocket } from "viem";

export const wsClient = createPublicClient({
  transport: webSocket(`wss://api.blockvectra.com/v1/robinhood_mainnet/${process.env.BLOCKVECTRA_API_KEY}`),
});

연결 파라미터 및 구독 유형은 WebSocket 구독 가이드를 참조하세요.

wagmi

wagmi에서는 createConfig 내부의 transports 맵에 BlockVectra RPC URL을 전달합니다.

API key를 사용하는 설정

import { createConfig, http } from "wagmi";
import { mainnet } from "wagmi/chains";

export const config = createConfig({
  chains: [mainnet],
  transports: {
    [mainnet.id]: http(`https://api.blockvectra.com/v1/eth_mainnet/${process.env.BLOCKVECTRA_API_KEY}`),
  },
});

키가 필요 없는 공개 엔드포인트 설정

import { createConfig, http } from "wagmi";
import { mainnet } from "wagmi/chains";

export const config = createConfig({
  chains: [mainnet],
  transports: {
    [mainnet.id]: http("https://api.blockvectra.com/v1/eth_mainnet/public"),
  },
});

Coinbase AgentKit

Coinbase AgentKit은 온체인 작업을 실행하기 위해 지갑 공급자(wallet provider)를 사용합니다. TypeScript의 경우 @coinbase/agentkit의 ViemWalletProvider가 표준 viem WalletClient를 감싸서 트랜잭션 실행 및 RPC 쿼리를 BlockVectra 엔드포인트를 통해 라우팅할 수 있도록 지원합니다.

ViemWalletProvider를 사용하는 설정

import { AgentKit, ViemWalletProvider } from "@coinbase/agentkit";
import { createWalletClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { mainnet } from "viem/chains";

const account = privateKeyToAccount(process.env.WALLET_PRIVATE_KEY as `0x${string}`);

const client = createWalletClient({
  account,
  chain: mainnet,
  transport: http(`https://api.blockvectra.com/v1/eth_mainnet/${process.env.BLOCKVECTRA_API_KEY}`),
});

const walletProvider = new ViemWalletProvider(client);

export const agentKit = await AgentKit.from({
  walletProvider,
});

허용된 메서드에 대한 읽기 작업의 경우 http("https://api.blockvectra.com/v1/eth_mainnet/public")로 구성하세요.

원격 MCP

에이전트가 모델 컨텍스트 프로토콜(Model Context Protocol, Streamable HTTP MCP)을 통해 연결하는 경우 BlockVectra MCP 서버 엔드포인트에 연결하세요:

https://docs.blockvectra.com/mcp

Claude Code, Cursor, VS Code, Codex, Gemini CLI, OpenAI Responses API, Windsurf에 걸친 클라이언트 설정 지침은 AI 에이전트 가이드의 MCP 클라이언트에서 연결을 참조하세요.

다음 단계

최종 수정일:

이 페이지의 내용