starknet-mcp-server

Starknet MCP Server:AI与Starknet区块链的桥梁,赋能AI Agent。

starknet-mcp-server
starknet-mcp-server能力展示

starknet-mcp-server 解决方案概述

starknet-mcp-server 是一款专为Starknet区块链设计的模型上下文协议(MCP)服务器,旨在赋能AI Agent与Starknet网络进行无缝交互。它通过MCP协议,为AI模型提供了一系列工具和资源,使其能够查询链上数据、管理钱包、并与智能合约互动。

该服务器支持多种关键功能,包括读取区块链状态、调用Cairo智能合约、转移ETH、STRK等代币,以及解析StarknetID域名。所有功能均通过一致的MCP接口暴露,简化了AI Agent对Starknet区块链功能的发现和使用。starknet-mcp-server 支持标准输入/输出和HTTP两种传输方式,方便集成到不同的应用场景中。通过它,开发者可以轻松构建具备链上交互能力的AI应用,极大地拓展了AI的应用边界。该方案使用Starknet.js实现与Starknet的集成,同时支持Mainnet和Sepolia测试网络。

starknet-mcp-server 核心能力

Starknet 区块链交互

starknet-mcp-server 提供了与 Starknet 区块链进行交互的全面功能,允许 AI 代理查询链上数据、管理钱包以及与智能合约交互。它支持读取区块链状态(例如余额、交易和区块),与 Cairo 智能合约交互,转移代币(包括 ETH、STRK 和其他 ERC20 代币),处理 NFT 和代币元数据,以及解析 StarknetID 域名。所有这些功能都通过一致的 MCP 工具和资源接口公开,使得 AI 代理能够轻松发现和使用 Starknet 区块链的功能。例如,AI 助手可以使用此功能来验证用户的链上资产,或者在用户授权后执行代币转移。该功能通过 Starknet.js 库实现与 Starknet 网络的连接。

StarknetID 解析与集成

该服务器集成了 StarknetID,允许 AI 代理将 Starknet 地址解析为 Starknet ID,反之亦然。这使得 AI 代理可以使用人类可读的身份来执行操作,而无需处理复杂的地址。例如,AI 助手可以使用 "vitalik.stark" 代替其对应的十六进制地址来查询余额或发送交易。此外,服务器还可以获取完整的 Starknet ID 配置文件,包括验证数据,从而增强了 AI 代理的身份验证能力。技术上,该功能依赖于与 StarknetID 服务的交互,并提供缓存机制以提高解析效率。

多种代币操作支持

starknet-mcp-server 支持多种代币操作,包括获取 ERC20 代币余额和信息、转移 ERC20 代币、查看代币供应量和元数据以及检查代币所有权。此外,它还原生支持 ETH 和 STRK 代币,允许 AI 代理获取这些代币的余额并进行转移。例如,AI 助手可以使用此功能来帮助用户管理其在 Starknet 上的代币资产,或者自动执行代币交换操作。该功能通过调用相应的智能合约方法来实现,并提供错误处理机制以确保交易的可靠性。

双重传输模式

starknet-mcp-server 支持标准输入/输出 (stdio) 和 HTTP 两种传输模式,以适应不同的集成需求。stdio 模式适用于 CLI 工具和 AI 助手,而 HTTP 模式适用于 Web 应用程序。HTTP 模式还支持 Server-Sent Events (SSE),用于实时通信。这种灵活性使得开发者可以根据其特定用例选择最合适的传输模式。例如,开发者可以使用 stdio 模式将服务器集成到其本地开发环境中,或者使用 HTTP 模式将其部署到云端。HTTP 模式默认运行在 3000 端口,可以通过修改配置文件进行更改。

智能合约交互能力

该服务器提供与 Starknet 智能合约交互的能力,包括调用只读合约函数、执行合约写入操作(需要交易确认)以及获取合约存储信息。AI 代理可以使用此功能来查询合约状态、执行合约方法以及与去中心化应用程序 (DApp) 交互。例如,AI 助手可以使用此功能来查询 DeFi 协议的 TVL(总锁定价值),或者代表用户参与 DAO(去中心化自治组织)的投票。该功能通过 Starknet.js 库实现与智能合约的交互,并提供交易模拟功能以降低交易失败的风险。