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/签名策略等。

服务器信息