关于 base-network-mcp-server
面向 LLM 客户端的 Base 网络 MCP 服务,可通过自然语言管理钱包、查询余额和执行交易,支持 Base Mainnet 与 Base Sepolia。
主要功能
- 01自然语言执行 Base 操作
- 02创建和列出钱包
- 03查询钱包余额
- 04发送 ETH 交易
- 05支持 Base Mainnet 和 Sepolia
适用场景
- 01创建储蓄用途的钱包
- 02查询账户的 ETH 余额
- 03向地址转账 ETH
MCP 相关
向 MCP 客户端提供 Base 钱包及区块链操作工具,包括命令处理、钱包管理和余额查询。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
base-network-mcp-server
这是一个适用于 Base 网络的 MCP 服务。它允许大模型通过自然语言命令在 Base 网络上执行区块链操作,包括钱包管理、余额查询和交易执行。
此服务同时支持 Base Mainnet 和 Base Sepolia 测试网。
工具
以下工具可用:
process_command
处理用于 Base 网络操作的自然语言命令。它接受以下参数:
command:要处理的自然语言命令(例如,“向 0x1234... 发送 0.5 ETH”)
它会返回包含操作结果的结构化响应,包括发送操作的交易详情、余额查询的余额信息,以及钱包创建的钱包详情。
create_wallet
在 Base 网络上创建新钱包。它接受以下参数:
name:(可选)钱包名称
它会返回一个对象,其中包含钱包地址、名称及其他详情。
check_balance
查询 Base 网络上钱包的余额。它接受以下参数:
wallet:(可选)要查询的钱包名称或地址(默认为主钱包)
它会返回以 ETH 为单位的钱包余额。
list_wallets
列出所有可用的钱包。
它会返回一个钱包对象数组,每个对象都包含钱包地址、名称及其他详情。
用法
使用 Claude Desktop
Claude Desktop 是一款广受欢迎且支持 Model Context Protocol 的大模型客户端。你可以将 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 网络提供商的 URL(Mainnet 或 Sepolia)WALLET_PRIVATE_KEY:用于身份验证和交易签名的钱包私钥DEFAULT_GAS_PRICE:(可选)默认 Gas 价格,单位为 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”
安全注意事项
由于此实现会与真实区块链网络交互并处理私钥:
- 私钥安全:安全存储私钥,切勿将其提交到版本控制系统
- 先使用测试网:先使用 Base Sepolia 测试网,再切换到主网
- 交易验证:发送前始终验证交易参数
- 错误处理:针对网络问题实现稳健的错误处理
- 速率限制:频繁请求时注意 API 速率限制
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。