项目简介
'mcp3' 是一个基于 Model Context Protocol (MCP) 的 monorepo 项目,旨在为大型语言模型 (LLM) 客户端提供标准化的区块链和 DeFi 相关上下文信息和功能。它包含多个子项目,每个子项目都实现了一个特定领域的 MCP 服务器,例如以太坊数据查询、Sui 钱包管理、Sui 上的 Navi 和 Cetus 协议交互,以及 DeFiLlama 和 DexScreener API 的集成。
通过 MCP 协议,LLM 客户端可以调用这些服务器提供的工具(Tools)来执行任务(如查询余额、调用合约函数、获取市场数据),并访问资源(Resources)来获取结构化的数据(如合约 ABI、钱包信息)。
主要功能点
- 以太坊 (ETH) 集成: 提供查询合约 ABI、下载合约源代码、调用链上视图函数等工具。
- Sui 钱包管理: 允许列出、添加、删除、设置默认 Sui 钱包,并导出助记词/私钥。
- Sui 协议集成:
- Navi Protocol: 提供查询借贷池信息、健康因子、可用奖励、投资组合,以及创建存款、取款、借款、还款、清算交易等工具。
- Cetus Protocol: 提供查询流动性池、头寸、费用、奖励,计算 APR,以及创建兑换报价、开仓、添加/移除流动性、收款、收奖励交易等工具。
- DeFi 数据: 集成 DeFiLlama API,提供查询协议 TVL、链上 TVL、代币价格、稳定币数据、DEX 和期权交易量等工具。
- 交易数据: 集成 DexScreener API,提供查询交易对、代币信息等工具。
- 通用工具: 提供通用的 HTTP Fetch 工具,用于访问外部 API。
- 事务处理: 包含一个独立的事务服务器模块,用于处理需要外部签名的交易流程。
- 资源管理: 托管和提供格式化的资源,如合约 ABI、钱包信息、项目详情等。
- 模块化设计: 基于 monorepo 结构,各功能模块独立且可通过 MCP 注册集成。
安装步骤
- 确保你已经安装 Node.js (推荐最新 LTS 版本) 和 pnpm。
- 克隆仓库:
git clone https://github.com/sentioxyz/mcp3.git cd mcp3 - 安装项目依赖:
pnpm install - 构建所有子项目:
pnpm build
服务器配置
'mcp3' monorepo 包含多个独立的 MCP 服务器实现,你可以根据需要启动其中一个或多个。MCP 客户端(如 MCP Client Launcher)需要以下 JSON 格式的配置信息来启动和连接到服务器。
通用配置结构:
{ "name": "服务器名称", "command": "执行命令", "args": ["参数1", "参数2", "..."], "workingDirectory": "服务器代码路径" // 可选,通常指向特定包的目录 }
具体服务器配置示例 (请根据你的实际安装路径和需求调整 'command' 和 'args'):
以下示例假设您在项目根目录 ('mcp3/') 运行命令,并且 'pnpm' 命令在你的系统 PATH 中可用。如果不行,你可能需要使用 'node dist/cli.js' 并指定相对路径。
-
MCP3 - Ethereum (ETH)
- 描述: 提供与以太坊合约和数据交互的功能。
- 配置:
{ "name": "MCP3 Ethereum", "command": "pnpm", "args": [ "--filter", "@mcp3/eth-mcp", "start", "--base-path", "./packages/eth", // 设置以太坊模块的工作路径 "--scope", "./contracts", // 设置合约配置文件的搜索范围 "--enable-transaction-server", // 可选:启动内置事务服务器 "--transaction-server-port", "3000" // 可选:事务服务器端口 // 其他通用或以太坊特定参数 ], "workingDirectory": "./" // 在 monorepo 根目录执行 pnpm 命令 } - 主要参数:
- '--base-path <path>': 以太坊 CLI 的基础路径,默认为 './packages/eth'。
- '--scope <scope>': 合约配置文件的子目录,默认为 './contracts'。
- '--enable-transaction-server': 启动内置的事务服务器 (布尔)。
- '--transaction-server-port <port>': 内置事务服务器监听端口 (数字)。
-
MCP3 - Sui Wallets
- 描述: 提供管理 Sui 钱包的功能。
- 配置:
{ "name": "MCP3 Sui Wallets", "command": "pnpm", "args": [ "--filter", "@mcp3/sui-wallets", "start", "--node-url", "https://fullnode.mainnet.sui.io:443", // 你的 Sui RPC 节点 URL "--wallet-config", "~/.sui-wallet/config.json", // 你的 Sui 钱包配置文件路径 "--enable-transaction-server", // 可选:启动内置事务服务器 "--transaction-server-port", "3000" // 可选:事务服务器端口 // 其他通用或 Sui 钱包特定参数 ], "workingDirectory": "./" // 在 monorepo 根目录执行 pnpm 命令 } - 主要参数:
- '--node-url <nodeUrl>': Sui RPC 节点 URL,默认为 'https://fullnode.mainnet.sui.io:443'。
- '--wallet-config <walletConfig>': Sui 钱包配置文件的路径。
- '--enable-transaction-server': 启动内置的事务服务器 (布尔)。
- '--transaction-server-port <port>': 内置事务服务器监听端口 (数字)。
-
MCP3 - Sui Navi
- 描述: 提供与 Sui 上的 Navi Protocol 交互的功能。
- 配置:
{ "name": "MCP3 Sui Navi", "command": "pnpm", "args": [ "--filter", "@mcp3/sui-navi", "start", "--node-url", "https://fullnode.mainnet.sui.io:443", // 你的 Sui RPC 节点 URL "--wallet-address", "0x...", // 可选:默认 Sui 钱包地址 "--enable-transaction-server", // 可选:启动内置事务服务器 "--transaction-server-port", "3000" // 可选:事务服务器端口 // 其他通用或 Sui 特定参数 ], "workingDirectory": "./" // 在 monorepo 根目录执行 pnpm 命令 } - 主要参数:
- '--node-url <nodeUrl>': Sui RPC 节点 URL,默认为 'https://fullnode.mainnet.sui.io:443'。
- '--wallet-address <walletAddress>': 默认 Sui 钱包地址。
- '--enable-transaction-server': 启动内置的事务服务器 (布尔)。
- '--transaction-server-port <port>': 内置事务服务器监听端口 (数字).
-
MCP3 - Sui Cetus
- 描述: 提供与 Sui 上的 Cetus Protocol 交互的功能。
- 配置:
{ "name": "MCP3 Sui Cetus", "command": "pnpm", "args": [ "--filter", "@mcp3/sui-cetus", "start", "--node-url", "https://fullnode.mainnet.sui.io:443", // 你的 Sui RPC 节点 URL "--wallet-address", "0x...", // 可选:默认 Sui 钱包地址 "--enable-transaction-server", // 可选:启动内置事务服务器 "--transaction-server-port", "3000" // 可选:事务服务器端口 // 其他通用或 Sui 特定参数 ], "workingDirectory": "./" // 在 monorepo 根目录执行 pnpm 命令 } - 主要参数:
- '--node-url <nodeUrl>': Sui RPC 节点 URL,默认为 'https://fullnode.mainnet.sui.io:443'。
- '--wallet-address <walletAddress>': 默认 Sui 钱包地址。
- '--enable-transaction-server': 启动内置的事务服务器 (布尔)。
- '--transaction-server-port <port>': 内置事务服务器监听端口 (数字)。
-
MCP3 - DeFiLlama
- 描述: 提供访问 DeFiLlama API 的功能。
- 配置:
{ "name": "MCP3 DeFiLlama", "command": "pnpm", "args": [ "--filter", "@mcp3/defilama", "start", "--defilama-endpoint", "https://api.llama.fi", // DeFiLlama API 地址 "--enable-transaction-server", // 可选:启动内置事务服务器 "--transaction-server-port", "3000" // 可选:事务服务器端口 // 其他通用参数 ], "workingDirectory": "./" // 在 monorepo 根目录执行 pnpm 命令 } - 主要参数:
- '--defilama-endpoint <endpoint>': DeFiLlama API 节点 URL,默认为 'https://api.llama.fi'。
- '--enable-transaction-server': 启动内置的事务服务器 (布尔)。
- '--transaction-server-port <port>': 内置事务服务器监听端口 (数字)。
-
MCP3 - DexScreener
- 描述: 提供访问 DexScreener API 的功能。
- 配置:
{ "name": "MCP3 DexScreener", "command": "pnpm", "args": [ "--filter", "@mcp3/dex-screener", "start", "--dexscreener-endpoint", "https://api.dexscreener.com", // DexScreener API 地址 "--enable-transaction-server", // 可选:启动内置事务服务器 "--transaction-server-port", "3000" // 可选:事务服务器端口 // 其他通用参数 ], "workingDirectory": "./" // 在 monorepo 根目录执行 pnpm 命令 } - 主要参数:
- '--dexscreener-endpoint <endpoint>': DexScreener API 节点 URL,默认为 'https://api.dexscreener.com'。
- '--enable-transaction-server': 启动内置的事务服务器 (布尔)。
- '--transaction-server-port <port>': 内置事务服务器监听端口 (数字)。
通用参数:
- '-v, --verbose': 启用详细输出。
- '-t, --enable-transaction-server': 启动内置的事务服务器 (布尔),通常用于处理需要浏览器签名的交易。
- '--transaction-server-url <url>': 指定事务服务器的 URL,默认为 'https://tx.mcp3.ai',如果 '--enable-transaction-server' 启用则使用本地启动的服务器地址。
- '--transaction-server-port <port>': 内置事务服务器监听端口,默认为 '3000'。
基本使用方法
安装并构建项目后,使用支持 MCP 协议的客户端(如 MCP Client Launcher)加载上述配置信息。客户端将启动指定的 MCP 服务器,并通过标准输入/输出 (Stdio) 与其通信。
一旦连接建立,客户端将发现服务器暴露的工具和资源。用户或 LLM 即可通过客户端调用这些工具来执行链上操作或获取数据,并通过资源URI获取结构化信息。
例如,连接到 "MCP3 Ethereum" 服务器后,客户端可能会暴露 'eth-download-abi'、'eth-invoke-view-function' 等工具供调用。连接到 "MCP3 Sui Wallets" 服务器后,则可以使用 'sui-wallets-list'、'sui-wallets-add' 等工具。
信息
分类
网页与API