Starknet MCP Server
使用说明(Markdown 格式)
-
项目简介
- 该仓库中的 Starknet MCP Server 实现了 Model Context Protocol(MCP)服务器端,提供对资源、工具、与提示模板的托管、注册与执行能力,以及与 Starknet 相关操作的工具化暴露,供 MCP 客户端通过 JSON-RPC 风格的请求进行调用。
-
主要功能点
- MCP 核心能力:支持 ListTools(列出可用工具)、CallTool(调用工具)等 MCP 请求,返回 JSON-RPC 风格的响应。
- Starknet 操作工具:暴露诸如获取余额、转账、部署/读取合约、以及基于 Avnu 的报价与交易执行等工具。
- 资源与工具管理:通过服务器端实现对资源、工具、以及 Prompts 的标准化管理。
- 会话与能力声明:提供会话上下文、能力声明的框架,便于与 LLM 客户端协同工作。
- 多传输支持:内置 Stdio 传输(当前实现形态)并具备扩展到 SSE/WebSocket 的设计考虑。
- 构建与测试环境:包含单元测试与 mocks,确保 MCP 请求/响应的格式与流程的正确性。
-
安装步骤
- 按仓库中的说明进行依赖安装与构建,通常使用 Node/pnpm 进行工作区管理。随后使用对应包的启动命令启动 MCP 服务器。
-
服务器配置(给 MCP 客户端的连接信息,JSON 格式,包含 server name、command、args 等)
- 服务器名称:starknet-mcp-server
- 启动命令:pnpm --filter starknet-mcp-server dev
- 启动参数:无额外参数(可在实际部署时补充环境变量/配置) 示例配置(供 MCP 客户端读取,非代码块呈现): { "serverName": "starknet-mcp-server", "command": "pnpm", "args": ["--filter", "starknet-mcp-server", "dev"] } 说明:该配置对应仓库当前的快速启动方式,MCP 客户端通过该信息知道如何启动并连接到 MCP 服务器。
-
基本使用方法
- 启动服务器后,MCP 客户端通过 JSON-RPC 规范向服务器发送请求(如请求工具列表、执行工具、读取资源等),服务器返回标准的 JSON-RPC 响应或通知。
- 典型用例包括:
- 列出服务器支持的工具集(starknet_get_balance、starknet_get_balances、starknet_transfer 等)
- 通过 starknet_swap/ starknet_get_quote 等工具实现链上交互的自动化
- 与 A2A/A2A 相关能力集成时,服务器将暴露相应的接口供客户端使用
- 部署后,建议在测试环境中使用 MCP 客户端进行对接测试,确保请求格式与响应格式符合 MCP 规范。
-
进阶使用与扩展
- 根据需要接入更多 Starknet 功能、或扩展到其他传输协议(如 SSE/WebSocket)。
- 可以结合现有的技能市场、A2A 适配器、以及 ERC-8004 身份与信誉等组件,丰富 MCP 服务端的能力边界。
-
注意事项
- MCP 客户端本地需配置连接信息(如上述 JSON 配置)以搭建初始连接。
- 服务器实现须确保安全性、凭据管理、以及对外暴露的 Starknet 操作的可控性。
- 部署时请根据实际环境配置 Starknet RPC、账户、以及相关的 paymaster/签名策略等。