Skip to main content
Glama
fakepixels

Base Network MCP Server

by fakepixels

ベースネットワークMCPサーバー

これはBaseネットワーク用のMCPサーバーです。LLMは、ウォレット管理、残高確認、トランザクション実行など、自然言語コマンドを通じてBaseネットワーク上でブロックチェーン操作を実行できます。

このサーバーは、Base Mainnet と Base Sepolia テストネットの両方で動作します。

ツール

利用可能なツールは次のとおりです。

プロセスコマンド

ベースネットワーク操作のための自然言語コマンドを処理します。以下の引数を受け入れます。

  • command : 処理する自然言語コマンド(例:「0.5 ETHを0x1234に送信...」)

送信操作のトランザクションの詳細、残高チェックの残高情報、ウォレット作成のウォレットの詳細など、操作の結果を含む構造化された応答を返します。

ウォレットを作成する

ベースネットワーク上に新しいウォレットを作成します。以下の引数を受け入れます。

  • name : (オプション) ウォレットの名前

ウォレットのアドレス、名前、その他の詳細を含むオブジェクトを返します。

残高確認

Baseネットワーク上のウォレットの残高を確認します。以下の引数を受け入れます。

  • wallet : (オプション) 確認するウォレット名またはアドレス (デフォルトはプライマリウォレット)

ウォレットの残高を ETH で返します。

ウォレット一覧

利用可能なすべてのウォレットを一覧表示します。

ウォレット オブジェクトの配列を返します。各オブジェクトにはウォレット アドレス、名前、その他の詳細が含まれます。

Related MCP server: Base MCP Server

使用法

クロード・デスクトップ

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

Base MCP サーバーを Claude Desktop に追加するには、構成ファイルのmcpServersオブジェクトに次の構成を追加します。

{
  "mcpServers": {
    "base": {
      "command": "npx",
      "args": [
        "-y",
        "base-network-mcp-server"
      ],
      "env": {
        "BASE_PROVIDER_URL": "https://api.developer.coinbase.com/rpc/v1/base/YOUR_API_KEY",
        "WALLET_PRIVATE_KEY": "your_private_key_here"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

構成

  • BASE_PROVIDER_URL : ベースネットワークプロバイダー(メインネットまたはセポリア)の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"
// }

コマンド例

統合されると、次のような自然言語コマンドを使用できるようになります。

  • 「貯蓄用の新しいウォレットを作成する」

  • 「ウォレットの残高を確認してください」

  • 「私の貯金箱の残高はいくらですか?」

  • 「0.1 ETHを0x1234567890123456789012345678901234567890に送信」

  • 「貯蓄ウォレットから 0.5 ETH を 0xABCD に転送します...」

セキュリティに関する考慮事項

この実装は実際のブロックチェーン ネットワークと対話し、秘密鍵を処理するため、

  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.
    109 npm
    4
    MIT
  • A
    license
    Not graded
    quality
    D
    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.
    4 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.
    4 npm
    2
    MIT