MoonBit MCP 服务器端 SDK
使用说明内容(Markdown格式)
-
项目简介 MoonBit MCP 服务器端 SDK 提供一个可运行的 MCP 服务器框架,帮助开发者将资源、工具和提示模板以标准化方式暴露给 LLM 客户端。服务器通过 JSON-RPC 协议与客户端通信,支持会话管理、能力声明以及多种传输方式(如 STDIO、HTTP/SSE),以实现可扩展的上下文服务。
-
主要功能点
- 核心协议与能力:支持 Tools(工具)、Resources(资源)、Prompts(提示模板)的注册、查询和调用。
- 传输方式:提供 STDIO 传输用于本地桌面客户端,HTTP+SSE 传输用于 Web 客户端;WebSocket 仍在实现中或待扩展。
- 通知与变更:支持 Tools 列表、Resources 列表、Prompts 列表的变更通知。
- 稳定性与开发性:具备基本错误处理、单元测试等,面向开发者工具性质的实现,API 可能处于实验阶段。
- 示例与测试:包含示例与单元测试,便于上手与验证。
-
安装步骤
- 通过 Moon 构建工具安装依赖的 MCP Server SDK: moon add colmugx/mcp
- 确保依赖项 MoonBit 相关语言/运行时环境就绪(文档中指明需要 moonbitlang/async 等依赖)。
- 在本地创建并运行服务器,参考示例中的 EchoTool、ConfigResource 等。
-
服务器配置 MCP 客户端在连接服务器前,需要一个配置,用于启动服务器进程并建立通信通道。配置为 JSON 格式,包含服务器名称、启动命令与参数等信息,便于客户端在本地启动并连接服务器。示例字段包括:
- serverName:服务器唯一名称,例如 my-mcp-server
- command:启动服务器的命令,例如 moon
- args:启动命令的参数,例如 ["run", "path/to/your_server.mbt"]
配置示例(JSON): { "serverName": "my-mcp-server", "command": "moon", "args": ["run", "path/to/your_server.mbt"] }
说明:
- serverName 用于标识不同的 MCP 服务器,便于客户端管理与切换。
- command 与 args 指定了运行服务器的实际命令及参数,客户端据此在本地启动服务器进程并建立通信通道。
- 具体服务器路径与版本号等信息以实际项目为准,文档中给出的是结构化示例,实际使用时请按项目实际路径调整。
-
基本使用方法
- 定义工具、资源和提示模板:在服务器端实现并注册 Tool、Resource、Prompt 的 trait/接口,按需暴露能力。
- 创建并运行服务器:实例化 MCPServer,注册需要的工具/资源/提示模板后,通过指定传输通道(如 STDIO)启动服务器。
- 测试与连接:使用 Claude Desktop 等客户端通过配置好的命令行/启动参数连接服务器,验证资源读取、工具调用与提示模板渲染等功能。
-
其他注意
- 该实现处于实验阶段,API 及行为可能变动,请关注官方文档和变更日志。
- 如需更多示例、测试用例,请查看 examples 目录与单元测试。