VOOZH about

URL: https://glama.ai/mcp/servers/base/base-mcp-legacy?locale=zh-CN

⇱ 基础 MCP 服务器 by base | Glama


基础 MCP 服务器

👁 OpenRouter 集成

👁 npm 版本
👁 许可证:MIT

模型上下文协议 (MCP) 服务器为 Claude Desktop 和 Cursor 等 AI 应用程序提供链上工具,允许它们与 Base Network 和 Coinbase API 进行交互。

概述

该 MCP 服务器通过提供在 Base 上执行任何操作的工具来扩展任何 MCP 客户端的功能:

  • 检索钱包地址

  • 列出钱包余额

  • 在钱包之间转移资金

  • 部署智能合约

  • 与 Morpho 保险库互动,实现链上借贷

  • 调用合约函数

  • 通过Coinbase进行 Onramp 融资

  • 管理 ERC20 代币

  • 列出并转移 NFT(ERC721 和 ERC1155)

  • 使用 USDC 购买OpenRouter积分

  • 将 Farcaster 用户名解析为以太坊地址

服务器与 Base 交互,由 Base Developer Tools 和AgentKit提供支持。

Related MCP server: Adamik MCP Server

使用第三方协议、工具和数据源扩展基础 MCP

Base MCP 的设计具有可扩展性,允许您添加自己的第三方协议、工具和数据源。本节概述了如何扩展 Base MCP 服务器的新功能。

添加新工具

如果您想向 Base MCP 服务器添加新工具,请按照以下步骤操作:

  1. src/tools目录中为你的工具创建一个新目录

  2. 按照现有模式实现该工具:

    • index.ts :定义并导出你的工具。工具被定义为 AgentKit ActionProviders。

    • schemas.ts :定义工具的输入模式

    • types.ts :定义工具所需的类型

    • utils.ts :你的工具的实用工具

  3. 将您的工具添加到src/main.ts中的可用工具列表中

  4. 在 README.md 中添加工具文档

  5. 在 examples.md 中添加如何使用工具的示例

  6. 为您的工具编写测试

项目结构

Base MCP 服务器的工具结构如下:

src/
├── tools/
│ ├── [TOOL_NAME]/ <-------------------------- ADD DIR HERE
│ │ ├── index.ts (defines and exports tools)
│ │ ├── schemas.ts (defines input schema)
│ └── utils/ (shared tool utilities)

工具开发的最佳实践

为 Base MCP 开发新工具时:

  • 遵循现有的代码风格和模式

  • 确保您的工具具有明确、集中的用途

  • 提供全面的输入验证

  • 包括详细的错误处理

  • 撰写详尽的文档

  • 添加示例来演示如何使用您的工具

  • 包括工具的测试

有关对 Base MCP 做出贡献的更多详细信息,包括添加新工具和协议,请参阅CONTRIBUTING.md文件。

先决条件

  • Node.js(v16 或更高版本)

  • npm 或 yarn

  • Coinbase API 凭证(API 密钥名称和私钥)

  • 钱包种子短语

  • Coinbase 项目 ID(用于 onramp 功能)

  • Alchemy API 密钥(NFT 功能所需)

  • 可选:OpenRouter API 密钥(用于购买 OpenRouter 积分)

安装

选项 1:从 npm 安装(推荐)

# Install globally
npm install -g base-mcp

# Or install locally in your project
npm install base-mcp

安装软件包后,您可以使用以下命令配置客户端:

base-mcp --init

选项 2:从源安装

  1. 克隆此存储库:

    git clone https://github.com/base/base-mcp.git
    cd base-mcp
  2. 安装依赖项:

    npm install
  3. 构建项目:

    npm run build
  4. 或者,将其全局链接:

    npm link

配置

使用您的凭证创建一个.env文件:

# Coinbase API credentials
# You can obtain these from the Coinbase Developer Portal: https://cdp.coinbase.com/
COINBASE_API_KEY_NAME=your_api_key_name
COINBASE_API_PRIVATE_KEY=your_private_key

# Wallet seed phrase (12 or 24 words)
# This is the mnemonic phrase for your wallet
SEED_PHRASE=your seed phrase here

# Coinbase Project ID (for onramp functionality)
# You can obtain this from the Coinbase Developer Portal
COINBASE_PROJECT_ID=your_project_id

# Alchemy API Key (required for NFT functionality)
# You can obtain this from https://alchemy.com
ALCHEMY_API_KEY=your_alchemy_api_key

# OpenRouter API Key (optional for buying OpenRouter credits)
# You can obtain this from https://openrouter.ai/keys
OPENROUTER_API_KEY=your_openrouter_api_key

# Chain ID (optional for Base Sepolia testnet)
# Use 84532 for Base Sepolia testnet
# You do not have to include this if you want to use Base Mainnet
CHAIN_ID=your_chain_id

# Neynar API Key (required for Farcaster functionality)
# You can obtain this from https://neynar.com
NEYNAR_API_KEY=your_neynar_api_key

测试

测试 MCP 服务器以验证其是否正常工作:

npm test

该脚本将通过测试连接和可用工具来验证您的 MCP 服务器是否正常工作。

示例

有关如何通过 Claude 与 Base MCP 工具交互的详细示例,请参阅examples.md文件。

与 Claude Desktop 集成

要将此 MCP 服务器添加到 Claude Desktop:

  1. 创建或编辑 Claude Desktop 配置文件:

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

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

    • Linux: ~/.config/Claude/claude_desktop_config.json

您可以通过 Claude Desktop 应用程序导航至 Claude > 设置 > 开发人员 > 编辑配置轻松访问此文件。

  1. 添加以下配置:

    {
     "mcpServers": {
     "base-mcp": {
     "command": "npx",
     "args": ["-y", "base-mcp@latest"],
     "env": {
     "COINBASE_API_KEY_NAME": "your_api_key_name",
     "COINBASE_API_PRIVATE_KEY": "your_private_key",
     "SEED_PHRASE": "your seed phrase here",
     "COINBASE_PROJECT_ID": "your_project_id",
     "ALCHEMY_API_KEY": "your_alchemy_api_key",
     "PINATA_JWT": "your_pinata_jwt",
     "OPENROUTER_API_KEY": "your_openrouter_api_key",
     "CHAIN_ID": "optional_for_base_sepolia_testnet"
     },
     "disabled": false,
     "autoApprove": []
     }
     }
    }
  2. 重新启动 Claude Desktop 以使更改生效。

可用工具

获取地址

检索您的钱包的地址。

对 Claude 的查询示例:

“我的钱包地址是什么?”

清单余额

列出您的钱包的所有余额。

对 Claude 的查询示例:

“显示我的钱包余额。”

转移资金

将资金从您的钱包转移到另一个地址。

参数:

  • destination :资金转账的地址

  • assetId :要转移的资产ID

  • amount :转账金额

对 Claude 的查询示例:

“将 0.01 ETH 转移到 0x1234567890abcdef1234567890abcdef12345678。”

部署合约

将智能合约部署到区块链。

参数:

  • constructorArgs :合约构造函数的参数

  • contractName :要部署的合约名称

  • solidityInputJson :包含合约源和设置的 Solidity 编译器的 JSON 输入

  • solidityVersion :solidity 编译器的版本

对 Claude 的查询示例:

“为我部署一个简单的 ERC20 代币合约。”

检查地址信誉

检查地址的信誉。

参数:

  • address :需要检查的以太坊地址

对 Claude 的查询示例:

“0x1234567890abcdef1234567890abcdef12345678 的声誉如何?”

获取形态库

获取 Morpho 上给定资产的保险库。

参数:

  • assetSymbol :用于筛选保险库的资产符号(可选)

对 Claude 的查询示例:

“向我展示可用于 USDC 的 Morpho 金库。”

调用合约

调用区块链上的合约函数。

参数:

  • contractAddress :要调用的合约地址

  • functionName :要调用的函数的名称

  • functionArgs :传递给函数的参数

  • abi :合约的 ABI

  • value :随交易发送的 ETH 价值(可选)

对 Claude 的查询示例:

“在 0x1234567890abcdef1234567890abcdef12345678 处调用合约上的 balanceOf 函数。”

获取上线资产

获取特定国家/地区/细分市场中可用的资产。

参数:

  • country :ISO 3166-1 两位数国家代码字符串,代表购买用户居住的国家/地区

  • subdivision :ISO 3166-2 两位数国家细分代码(美国必需)

对 Claude 的查询示例:

“我可以在美国,特别是在纽约投资哪些资产?”

入口匝道

获取通过 Coinbase 注入资金的 URL。

参数:

  • amountUsd :需要入场的资金量

  • assetId :要进入的资产 ID

对 Claude 的查询示例:

“我想获得价值 100 美元的 ETH。”

erc20_balance

获取 ERC20 代币的余额。

参数:

  • contractAddress :ERC20 合约的地址

对 Claude 的查询示例:

“我的 0x1234567890abcdef1234567890abcdef12345678 代币余额是多少?”

erc20_transfer

将 ERC20 代币转移到另一个地址。

参数:

  • contractAddress :ERC20 合约的地址

  • toAddress :收件人的地址

  • amount :要转移的代币数量

对 Claude 的查询示例:

“将 10 USDC 转移到 0x1234567890abcdef1234567890abcdef12345678。”

列表_nfts

列出特定地址拥有的 NFT。

参数:

  • ownerAddress :要上架 NFT 的所有者的地址

  • limit :返回的 NFT 的最大数量(默认值:50)

对 Claude 的查询示例:

“向我显示 0x89A93a48C6Ef8085B9d07e46AaA96DFDeC717040 拥有的 NFT。”

转移_nft

将 NFT 转移到另一个地址。支持 ERC721 和 ERC1155 标准。

参数:

  • contractAddress :NFT 合约的地址

  • tokenId :要转移的 NFT 的代币 ID

  • toAddress :收件人的地址

  • amount :转账金额(仅用于 ERC1155,默认值:1)

对 Claude 的查询示例:

“将我的合约编号为 0x3F06FcF75f45F1bb61D56D68fA7b3F32763AA15c、代币 ID 为 56090175025510453004781233574040052668718235229192064098345825090519343038548 的 NFT 转移到 0x1234567890abcdef1234567890abcdef12345678。”

购买 openrouter 积分

使用 USDC 购买 OpenRouter 信用。

参数:

  • amountUsd :购买的信用额度(美元)

对 Claude 的查询示例:

“购买价值 20 美元的 OpenRouter 积分。”

安全注意事项

  • 配置文件包含敏感信息(API 密钥和种子短语)。请确保妥善保护这些信息,切勿将其共享。

  • 考虑使用环境变量或安全凭证管理器,而不是硬编码敏感信息。

  • 转移资金或部署合约时要小心谨慎,因为这些操作在区块链上是不可逆的。

  • 使用 onramp 功能时,请确保您处于安全连接中。

  • 确认之前请验证所有交易细节,尤其是在转账或购买信用时。

故障排除

如果您遇到问题:

  1. 检查您的 Coinbase API 凭证是否正确

  2. 验证你的种子短语是否有效

  3. 确保您在正确的网络上(基本主网)

  4. 检查 Claude Desktop 日志中是否有任何错误消息

执照

MIT 许可证

贡献

欢迎贡献代码!欢迎提交 Pull 请求。

有关对 Base MCP 做出贡献的详细指南,包括:

  • 报告错误

  • 建议改进

  • 开发设置

  • 编码标准

  • 添加新工具、协议和数据源(另请参阅上面的“扩展基础 MCP”部分)

  • 测试要求

  • 文档标准

请参阅我们全面的CONTRIBUTING.md指南。

基本贡献步骤:

  1. 分叉存储库

  2. 创建你的功能分支( git checkout -b feature/amazing-feature

  3. 提交您的更改( git commit -m 'Add some amazing feature'

  4. 推送到分支( git push origin feature/amazing-feature

  5. 打开拉取请求

请确保您的代码遵循现有风格并包含适当的测试。

A
license - permissive license
-
quality - not tested
F
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/base/base-mcp-legacy'

If you have feedback or need assistance with the MCP directory API, please join our Discord server