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...”)

它返回一个包含操作结果的结构化响应,包括发送操作的交易详细信息、余额检查的余额信息以及钱包创建的钱包详细信息。

创建钱包

在 Base 网络上创建一个新钱包。它接受以下参数:

  • name :(可选)钱包的名称

它返回一个包含钱包地址、名称和其他详细信息的对象。

检查余额

检查 Base 网络上钱包的余额。它接受以下参数:

  • wallet :(可选)要检查的钱包名称或地址(默认为主钱包)

它以 ETH 形式返回钱包余额。

列表钱包

列出所有可用的钱包。

它返回一个钱包对象数组,每个对象包含钱包地址、名称和其他详细信息。

Related MCP server: Base MCP Server

用法

使用 Claude Desktop

Claude Desktop 是一款流行的 LLM 客户端,支持模型上下文协议 (MCP)。您可以将 Base MCP 服务器连接到 Claude Desktop,通过自然语言命令执行区块链操作。

您可以通过以下配置文件将 MCP 服务器添加到 Claude Desktop:

  • 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 :Base 网络提供商(Mainnet 或 Sepolia)的 URL

  • WALLET_PRIVATE_KEY :用于身份验证和交易签名的钱包私钥

  • DEFAULT_GAS_PRICE :(可选)默认 gas 价格(单位:Gwei)

以编程方式(自定义 MCP 客户端)

如果您正在构建自己的 MCP 客户端,可以使用您首选的传输方式以编程方式连接到基础 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. 优先使用测试网:先从 Base 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