Sei-MCP 服务器
使用说明(Markdown 格式)
- 项目简介
- 该仓库实现了一个可运行的 MCP 服务器端,核心职责是以标准化的方式向 LLM 客户端提供上下文信息、资源数据、可注册执行的工具,以及可渲染的 Prompt 模板。服务器通过 JSON-RPC 与客户端通信,并具备会话管理、能力声明与资源/工具/模板的托管能力。实现还包含钱包集成、测试用例、以及对多种传输协议的支持。
- 主要功能点
- 核心 MCP 服务端
- 处理 MCP 风格的请求与响应(JSON-RPC),实现服务器端会话管理与能力声明。
- 支持资源(Resource)的托管、注册与访问,用于提供数据和数据读写能力。
- 支持工具(Tools)的注册与执行,LLM/代理可调用外部功能。
- 定义与渲染 Prompt 模板(Prompts),支持不同交互模式。
- 具备多传输协议的接入能力和扩展性(如 STDIO、SSE、WebSocket 等实现入口)。
- 资源、工具、提示的组合能力
- 资源库包含区块信息、余额、ERC20/NFT 等多类数据资源的获取与格式化展示。
- 工具集合覆盖网络信息、区块查询、余额、代币与合约交互等功能,且支持钱包相关操作。
- Prompts 提供只读与钱包相关的提示,便于对话系统进行上下文分析与引导。
- 钱包与安全
- 通过配置启用私钥钱包或禁用模式,提供私钥签名、钱包客户端创建、以及基于钱包的交易能力(在受支持的场景下)。
- 测试与扩展性
- 存在广泛的单元/集成测试覆盖资源、工具、钱包提供者、链信息、交易等核心功能,便于扩展与维护。
- 安装步骤
- 依赖与工作区管理
- 项目采用 Yarn 4.x(与 Corepack 配合使用)。可通过安装并启用 Corepack 后,直接在仓库根目录执行依赖安装。
- 构建与运行
- 安装依赖后,构建全部包并启动 MCP 服务器作为后端服务。
- 常用本地开发流程:安装依赖 → 构建全部包 → 启动 MCP 服务器。
- 运行时说明
- MCP 服务器在启动时会创建服务端实例、注册资源/工具/提示,并通过配置的传输通道对外提供服务,客户端通过 JSON-RPC 进行调用。
- 服务器配置(示例配置项说明) 以下为用于 MCP 客户端连接的服务器启动配置示例(以 JSON 表示,含 serverName、command、args 等字段)。实际使用时请按需修改路径与参数: { "serverName": "sei-mcp-server", "command": "node", "args": ["packages/mcp-server/bin/mcp-server.js"] } 说明:
- serverName: 服务器标识名称,便于管理与日志识别。
- command: 启动命令,这里使用 node 执行 MCP 服务器入口脚本。
- args: 启动参数,指定入口脚本的相对路径。
- 注:MCP 客户端与服务器之间通过 JSON-RPC 进行通信,客户端并不需要以下实现细节,但服务器端应在启动时注册资源、工具与 prompts,提供标准化的上下文与功能。
- 基本使用方法
- 启动服务器
- 启动命令对应的可执行脚本将加载 MCP 服务器、初始化资源/工具/提示,并开放 JSON-RPC 通道供客户端调用。
- 客户端交互
- 客户端通过 MCP 的 JSON-RPC 请求向服务器读取资源、执行工具、获取并渲染 Prompts、以及进行会话管理等。
- 服务器负责维护会话状态、能力声明以及对传输协议的支持(如 STDIO、SSE、WebSocket”等扩展入口)。
- 配置与扩展
- 通过代码仓库中的配置与测试用例,可以扩展新的资源、工具或 Prompts,以丰富 LLM 的上下文服务能力。
- 如需钱包相关功能,请在配置中启用钱包模式(私钥或禁用)并确保私钥配置正确。
- 运行与验证
- 运行后可通过相应的 MCP 客户端尝试对资源进行读取、调用工具、获取提示模板等操作,并验证 JSON-RPC 响应是否符合预期格式。
- 仓库提供了大量测试用例,可用于验证服务器端实现的正确性与鲁棒性。
- 补充说明
- 本实现包含大量与 Sei 生态相关的资源、工具与服务实现,适合在 Sei 区块链相关的 LLM 应用中作为上下文服务后端使用。
- 如需进一步自定义,请结合仓库中各模块(core、services、wallet、docs、mintlify 集成等)的实现细节进行扩展。