Skip to main content
Glama
fakepixels

Base Network MCP Server

by fakepixels

베이스-네트워크-mcp-서버

이는 Base 네트워크용 MCP 서버입니다. LLM은 이를 통해 자연어 명령을 통해 Base 네트워크에서 지갑 관리, 잔액 확인, 거래 실행 등의 블록체인 작업을 수행할 수 있습니다.

이 서버는 Base Mainnet과 Base Sepolia testnet 모두에서 작동합니다.

도구

다음과 같은 도구를 사용할 수 있습니다.

프로세스_명령

Base 네트워크 작업을 위한 자연어 명령을 처리합니다. 다음 인수를 허용합니다.

  • command : 처리할 자연어 명령(예: "0x1234로 0.5 ETH 보내기...")

전송 작업을 위한 거래 세부 정보, 잔액 확인을 위한 잔액 정보, 지갑 생성을 위한 지갑 세부 정보 등 작업 결과가 포함된 구조화된 응답을 반환합니다.

지갑 생성

Base 네트워크에 새 지갑을 생성합니다. 다음 인수를 받습니다.

  • name : (선택 사항) 지갑의 이름

지갑 주소, 이름 및 기타 세부 정보가 포함된 객체를 반환합니다.

체크_잔액

Base 네트워크의 지갑 잔액을 확인합니다. 다음 인수를 받습니다.

  • wallet : (선택 사항) 확인할 지갑 이름 또는 주소(기본값은 기본 지갑)

지갑 잔액을 ETH로 반환합니다.

지갑 목록

사용 가능한 모든 지갑을 나열합니다.

지갑 주소, 이름 및 기타 세부 정보가 포함된 지갑 객체의 배열을 반환합니다.

Related MCP server: Base MCP Server

용법

Claude Desktop과 함께

Claude Desktop은 모델 컨텍스트 프로토콜(MCP)을 지원하는 인기 LLM 클라이언트입니다. Base MCP 서버를 Claude Desktop에 연결하여 자연어 명령을 통해 블록체인 작업을 수행할 수 있습니다.

다음 위치의 구성 파일을 통해 Claude Desktop에 MCP 서버를 추가할 수 있습니다.

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Claude Desktop에 Base MCP 서버를 추가하려면 config 파일의 mcpServers 개체에 다음 구성을 추가하세요.

지엑스피1

구성

  • BASE_PROVIDER_URL : 기본 네트워크 공급자(Mainnet 또는 Sepolia)의 URL

  • WALLET_PRIVATE_KEY : 인증 및 거래 서명을 위한 지갑 개인 키

  • DEFAULT_GAS_PRICE : (선택 사항) Gwei 단위의 기본 가스 가격

프로그래밍 방식으로(맞춤형 MCP 클라이언트)

자체 MCP 클라이언트를 개발하는 경우, 원하는 전송 방식을 사용하여 Base MCP 서버에 프로그래밍 방식으로 연결할 수 있습니다. MCP SDK는 stdio 및 SSE 전송 방식을 기본 제공합니다.

설치

npm i base-network-mcp-server
# or
yarn add base-network-mcp-server
# or
pnpm add base-network-mcp-server

예

다음 예제에서는 StreamTransport를 사용하여 MCP 클라이언트와 서버 간에 직접 연결합니다.

import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StreamTransport } from '@modelcontextprotocol/sdk/client/stream.js';
import { BaseMcpServer } from 'base-network-mcp-server';

// Create a stream transport for both client and server
const clientTransport = new StreamTransport();
const serverTransport = new StreamTransport();

// Connect the streams together
clientTransport.readable.pipeTo(serverTransport.writable);
serverTransport.readable.pipeTo(clientTransport.writable);

const client = new Client(
  {
    name: 'MyClient',
    version: '0.1.0',
  },
  {
    capabilities: {},
  }
);

// Create and configure the Base MCP server
const server = new BaseMcpServer({
  providerUrl: 'https://api.developer.coinbase.com/rpc/v1/base/YOUR_API_KEY',
  privateKey: 'your_private_key_here',
});

// Connect the client and server to their respective transports
await server.connect(serverTransport);
await client.connect(clientTransport);

// Call tools
const output = await client.callTool({
  name: 'process_command',
  arguments: {
    command: 'Check my wallet balance',
  },
});

console.log(output);
// Example output:
// {
//   "success": true,
//   "message": "Balance of wallet \"default\": 1.5 ETH",
//   "balance": "1.5",
//   "wallet": "default"
// }

예제 명령

통합이 완료되면 다음과 같은 자연어 명령을 사용할 수 있습니다.

  • "저축을 위한 새로운 지갑을 만드세요"

  • "내 지갑 잔액을 확인하세요"

  • "저축 지갑의 잔액은 얼마입니까?"

  • "0x1234567890123456789012345678901234567890으로 0.1 ETH를 보내세요"

  • "저축 지갑에서 0xABCD로 0.5 ETH를 이체합니다..."

보안 고려 사항

이 구현은 실제 블록체인 네트워크와 상호 작용하고 개인 키를 처리합니다.

  1. 개인 키 보안 : 개인 키를 안전하게 저장하고 버전 제어에 커밋하지 마십시오.

  2. 먼저 테스트넷을 사용하세요 : 메인넷으로 이동하기 전에 기본 Sepolia 테스트넷으로 시작하세요

  3. 거래 검증 : 보내기 전에 항상 거래 매개변수를 검증합니다.

  4. 오류 처리 : 네트워크 문제에 대한 강력한 오류 처리 구현

  5. 속도 제한 : 빈번한 요청을 할 때 API 속도 제한을 인지하세요.

Available Tools

4 tools
check_balanceC

Check wallet balance

ParametersJSON Schema
NameRequiredDescriptionDefault
walletNoWallet name or address (defaults to primary wallet)

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Check wallet balance' implies a read-only operation, but it doesn't specify whether this requires authentication, what happens if the wallet doesn't exist, or if there are rate limits. For a tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at just three words ('Check wallet balance'), with zero wasted language. It's front-loaded and efficiently communicates the core purpose without unnecessary details. This is an example of optimal brevity for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one optional parameter, no output schema, no annotations), the description is incomplete. It doesn't address what the tool returns (e.g., balance amount, currency), error conditions, or behavioral aspects like authentication needs. For even a simple tool, more context would be helpful for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the 'wallet' parameter documented as 'Wallet name or address (defaults to primary wallet)'. The description adds no additional meaning beyond this, as it doesn't mention parameters at all. With high schema coverage, the baseline score of 3 is appropriate, as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Check wallet balance' clearly states the verb ('Check') and resource ('wallet balance'), but it's somewhat vague about what specifically is being checked. It doesn't distinguish this tool from potential alternatives like 'get_balance' or 'view_balance', though no direct siblings exist with similar names. The purpose is understandable but lacks specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. While there are sibling tools like 'create_wallet' and 'list_wallets', the description doesn't mention them or explain scenarios where checking balance is appropriate versus creating or listing wallets. It's a basic statement with no contextual usage information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_walletC

Create a new wallet

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional name for the wallet

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'Create a new wallet' but does not disclose whether this requires authentication, what happens on failure, if there are rate limits, or what the expected output is. This leaves significant gaps for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It is appropriately sized and front-loaded, clearly stating the tool's action without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a mutation tool with no annotations, no output schema, and minimal behavioral disclosure, the description is incomplete. It does not address key aspects like what a wallet is, the creation process, or potential errors, making it inadequate for safe and effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the single parameter 'name' documented as 'Optional name for the wallet'. The description adds no additional meaning beyond this, so it meets the baseline of 3 where the schema does the heavy lifting without compensation needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Create a new wallet' restates the tool name 'create_wallet' without adding specificity about what a wallet is or what resources it creates. It distinguishes from siblings like 'check_balance' and 'list_wallets' by implying creation vs. querying, but lacks detail about the wallet's purpose or context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites, such as whether a user can have multiple wallets, or when to choose this over 'process_command' for wallet-related tasks. The description only states the action without context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_walletsB

List all available wallets

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. 'List all available wallets' implies a read-only operation that returns wallet identifiers or metadata, but it doesn't specify critical behaviors: whether it requires authentication, returns paginated results, includes deleted/inactive wallets, or has rate limits. For a tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves in practice.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence ('List all available wallets') that front-loads the core action and resource. It wastes no words on redundancy or fluff, making it easy to parse quickly. Every word earns its place by directly contributing to understanding the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimally adequate. It states what the tool does but lacks context about the return format (e.g., list of wallet names, IDs, or full objects), error conditions, or integration with sibling tools. For a basic list operation, this might suffice, but it doesn't provide enough detail for confident use in complex scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here. A baseline of 4 is given because the schema fully documents the lack of parameters, and the description doesn't need to compensate—it correctly focuses on the tool's purpose rather than unnecessary parameter explanations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List all available wallets' clearly states the verb ('List') and resource ('wallets'), making the purpose immediately understandable. It distinguishes from siblings like 'create_wallet' (creation vs listing) and 'check_balance' (listing vs querying specific data), though it doesn't explicitly differentiate from 'process_command' which is more ambiguous. The description is specific enough to understand the tool's function without being tautological.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., whether wallets must exist), compare it to siblings like 'check_balance' (which might list balances rather than wallets), or specify scenarios where listing is appropriate (e.g., before selecting a wallet for another operation). The agent must infer usage from the tool name and context alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

process_commandC

Process a natural language command for Base network operations

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesNatural language command (e.g., "Send 0.1 ETH to 0x123...")

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'process a natural language command' but doesn't specify whether this executes commands (potentially destructive), interprets them for further action, or has other behavioral traits like rate limits, authentication needs, or error handling. The description is too vague about what 'process' actually entails.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized for a tool with one parameter, though it could be more front-loaded with specific details about what 'process' means in this context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of processing natural language commands for blockchain operations, the description is insufficient. With no annotations, no output schema, and a vague description, it doesn't provide enough context about what the tool actually does, what operations it supports, or what to expect in return. The agent would struggle to understand when and how to use this tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the single parameter 'command' clearly documented as 'Natural language command (e.g., "Send 0.1 ETH to 0x123...")'. The description doesn't add any meaningful information beyond what the schema already provides about parameter semantics, so it meets the baseline score of 3 for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool 'Process a natural language command for Base network operations' which provides a general purpose (processing commands) and domain (Base network). However, it's vague about what specific operations it supports and doesn't differentiate from sibling tools like check_balance, create_wallet, or list_wallets. It doesn't specify whether this is for executing commands or interpreting them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus the sibling tools. There's no mention of alternatives, prerequisites, or specific contexts where this tool is appropriate versus check_balance, create_wallet, or list_wallets. The agent must infer usage from the general description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv1.0.0
    • First observedcheck_balance
    • First observedcreate_wallet
    • First observedlist_wallets
    • First observedprocess_command

TDQS

B3/5.0

Scored across 4 tools

Disambiguation4/5

Three tools have clearly distinct purposes (check_balance, create_wallet, list_wallets) with no overlap, but process_command is ambiguous as it could potentially duplicate or overlap with the functionality of the other tools through natural language interpretation, creating some confusion in tool selection.

Naming Consistency4/5

Three tools follow a consistent verb_noun pattern (check_balance, create_wallet, list_wallets), but process_command deviates slightly by using a more abstract verb and including 'command' instead of a specific noun, breaking the pattern and reducing overall consistency.

Tool Count4/5

With 4 tools, the count is reasonable and well-scoped for a wallet management server, though it feels slightly thin as it lacks tools for operations like updating or deleting wallets, which are common in such domains.

Completeness3/5

The toolset covers basic wallet operations (create, list, check balance) and includes a general command processor, but there are notable gaps such as missing update_wallet, delete_wallet, or transaction-related tools, which are typical for network operations and could lead to agent workarounds or failures.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that connects Claude for Desktop with blockchain functionality, allowing users to check balances and send tokens on EVM and Solana chains through natural language interactions.
    -
  • A
    license
    Not graded
    quality
    F
    maintenance
    An MCP server that provides onchain tools for Claude AI to interact with the Base blockchain and Coinbase API, enabling wallet operations, testnet ETH, balance checks, fund transfers, and smart contract deployment.
    61 npm
    4
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that bridges AI models with Ethereum blockchains via all JSON-RPC calls, enabling natural language queries for block numbers, balances, transactions, and smart contract data.
    8 npm
    21
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables AI-driven on-chain interactions with the Zora Protocol on Base, supporting token queries, swaps, and transfers via natural language.
    15 npm
    2
    MIT