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 可能处于实验阶段。
    • 示例与测试:包含示例与单元测试,便于上手与验证。
  • 安装步骤

    1. 通过 Moon 构建工具安装依赖的 MCP Server SDK: moon add colmugx/mcp
    2. 确保依赖项 MoonBit 相关语言/运行时环境就绪(文档中指明需要 moonbitlang/async 等依赖)。
    3. 在本地创建并运行服务器,参考示例中的 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 指定了运行服务器的实际命令及参数,客户端据此在本地启动服务器进程并建立通信通道。
    • 具体服务器路径与版本号等信息以实际项目为准,文档中给出的是结构化示例,实际使用时请按项目实际路径调整。
  • 基本使用方法

    1. 定义工具、资源和提示模板:在服务器端实现并注册 Tool、Resource、Prompt 的 trait/接口,按需暴露能力。
    2. 创建并运行服务器:实例化 MCPServer,注册需要的工具/资源/提示模板后,通过指定传输通道(如 STDIO)启动服务器。
    3. 测试与连接:使用 Claude Desktop 等客户端通过配置好的命令行/启动参数连接服务器,验证资源读取、工具调用与提示模板渲染等功能。
  • 其他注意

    • 该实现处于实验阶段,API 及行为可能变动,请关注官方文档和变更日志。
    • 如需更多示例、测试用例,请查看 examples 目录与单元测试。

服务器信息