关于 MCP3 Monorepo
MCP3 Monorepo 汇集面向不同区块链网络的 MCP 实现,包含 Ethereum、Sui、钱包、协议、数据服务和交易处理相关软件包。其 Sui 软件包提供常见操作的 CLI 和 API。
主要功能
- 01支持 Ethereum 和 Sui 的 MCP 实现
- 02用于列出和运行工具的统一 CLI
- 03Sui 钱包与协议软件包
- 04DexScreener 和 DeFiLlama 数据集成
- 05交易服务端与签名界面软件包
适用场景
- 01通过 MCP 客户端使用 Sui 区块链工具
- 02通过 CLI 执行钱包和协议操作
- 03使用区块链数据集成
- 04处理交易签名与提交
MCP 相关
这些软件包实现了用于区块链数据访问和交互的 MCP 工具。`@mcp3/sui` 可配置为 Claude Desktop 的 MCP 服务,其工具也可通过 CLI 使用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP3 Monorepo
此 Monorepo 包含适用于不同区块链网络的模型上下文协议实现,提供用于访问和交互区块链数据的工具和服务。
如何将 MCP3 用于 SUI
MCP3 提供了一套全面的工具,用于与 Sui 区块链交互。主包 @mcp3/sui 提供了常见操作的 CLI 和 API,而专用包则为特定协议和用例提供额外功能。
Claude Desktop 快速入门
将以下内容添加到你的 Claude Desktop 配置中
{
...
"mcpServers": {
...
"mcp3-sui": {
"command": "npx",
"args": [
"-y",
"@mcp3/sui",
"start",
"-t"
]
}
...
}
}
使用 CLI
要查看可用命令和选项列表,请运行:
npx @mcp3/sui --help
使用 Tool 命令
MCP3 提供了统一的 tool 命令,将所有子项目中的工具组织为子命令。要查看所有可用工具,请运行:
npx @mcp3/sui tool
这将显示按前缀分组的所有可用工具列表(例如,sui-cetus、sui-wallets 等)。
要运行特定工具,请使用:
npx @mcp3/sui tool <tool-name> [options]
例如:
npx @mcp3/sui tool sui-wallets-list
npx @mcp3/sui tool sui-cetus-pool-list
软件包
核心软件包
@mcp3/common:所有实现共用的实用工具、类型和工具@mcp3/eth:以太坊的模型上下文协议实现@mcp3/sui:Sui Network 的模型上下文协议实现
Sui 生态系统软件包
@mcp3/sui-base:Sui Network 的基础实用工具和工具@mcp3/sui-wallets:Sui Network 的钱包管理工具@mcp3/sui-cetus:Sui Network 的 Cetus Protocol 集成@mcp3/sui-navi:Sui Network 的 Navi Protocol 集成
数据集成软件包
@mcp3/dex-screener:MCP3 的 DexScreener API 集成@mcp3/defilama:MCP3 的 DeFiLlama API 集成
交易管理
@mcp3/transaction-server:用于处理交易和提供交易 UI 的服务@mcp3/transaction-ui:用于交易签名和提交的 React 组件库
开发
本项目使用 pnpm 作为包管理器,并使用工作区管理 Monorepo。
CLI 结构
MCP3 使用统一的 CLI 结构:
- 子项目中的所有工具都注册为主
tool命令的子命令 - 未指定具体工具时,CLI 会自动列出所有可用工具
- 工具按前缀分组,以便更好地组织
- 工具只能通过
tool命令访问
实现新工具时:
- 在你的包中使用
registration.addTool()注册工具 - 创建一个回调函数,用于注册包中的所有工具
- 将此回调作为第二个参数传递给
startCli函数
示例:
// Create a callback function to register tools
const registerTools = async (reg: Registration) => {
// Register your tools
registerYourTools(reg);
};
// Register tools immediately for the main CLI
registerTools(registration);
// Pass the callback to startCli
startCli(registration, registerTools);
前置条件
- Node.js(v18 或更高版本)
- pnpm(v8 或更高版本)
设置
# Install dependencies
pnpm install
# Build all packages
pnpm build
# Clean all packages
pnpm clean
# Run tests
pnpm test
使用各个软件包
# Build a specific package
pnpm --filter @mcp3/eth build
# Run a specific package
pnpm --filter @mcp3/sui start
# Run tests for a specific package
pnpm --filter @mcp3/sui-navi test
软件包依赖关系
此 Monorepo 中的软件包具有以下依赖关系:
- 大多数软件包都依赖
@mcp3/common以使用共享实用工具 - Sui 相关软件包依赖
@mcp3/sui-base以使用核心 Sui 功能 @mcp3/sui对多个 Sui 生态系统软件包具有对等依赖@mcp3/transaction-server依赖@mcp3/transaction-ui来提供 UI
版本管理
此 Monorepo 中的软件包采用独立版本管理。进行更改时:
- 对某个软件包的更改会触发该软件包及其依赖项的版本升级
- 升级版本时,记得包含
sui-navi软件包 - 创建捆绑包时,请从捆绑包中排除 transaction-server 和 transaction-ui 项目,但将它们添加为依赖项
测试
每个软件包都有自己的测试套件。对于 sui-navi 项目,测试遵循与 sui-wallets 相同的模式,使用 node:tests 框架,并将 tsx 用作开发依赖项。
# Run all tests
pnpm test
# Run tests for a specific package
pnpm --filter @mcp3/sui-navi test
贡献
欢迎为 MCP3 做出贡献!以下是一些指南:
- Fork 此仓库并创建功能分支
- 按照项目的代码风格进行修改
- 根据需要添加或更新测试
- 更新文档以反映你的修改
- 提交 pull request,并清楚描述所做的修改
许可证
ISC
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。