BoxLang-MCP 服务器

使用说明(简明易懂,包含关键点,便于开发者快速上手):

  • 项目简介 BoxLang-MCP 服务器是 BoxLang AI 生态的一部分,用于以 MCP(Model Context Protocol)标准对外暴露 BoxLang 的功能:资源(Resources)、工具(Tools)和提示模板(Prompts)。客户端通过 MCP JSON-RPC 与服务器交互,服务器负责维护会话、能力、以及对外提供的工具和数据。

  • 主要功能点

    • 资源管理:托管并提供对外可读取的数据源、文档或接口的访问能力。
    • 工具注册与执行:注册可被 LLM 调用的外部函数/工具,并在需要时执行。
    • Prompt 定义与渲染:暴露用于对话上下文生成的提示模板,支持动态参数与多模态场景。
    • JSON-RPC 通信:遵循 MCP 的请求/响应格式,处理请求、返回结果、发送通知。
    • 会话与能力声明:维护会话上下文、能力集合以及跨会话的权限控制。
    • 多传输协议支持:提供 STDIO、SSE、WebSocket 等传输方式,提升集成灵活性。
    • 与 BoxLang 模块深度集成:可与 BoxLang 的 BIF、内置模型、内存、管道等组件协同工作。
  • 安装与运行(简要步骤)

    • 构建与打包:在项目根目录执行构建命令(使用 Gradle),生成可运行的服务器组件。
    • 启动 MCP 服务器:在 BoxLang 脚本中通过 mcpServer() 创建服务器实例,注册所需的 Tools、Resources、Prompts 等,然后调用 server.start( transport: "http", port: 3000 ) 启动服务器,服务器就可以通过 HTTP/JSON-RPC 接受 MCP 客户端请求。
    • 使用 MCP 客户端连接:客户端通过 MCP("http://服务器地址:端口") 指定服务器地址,进行连接与调用,如 listTools、readResource、getPrompt、listPrompts、listResources 等。
    • 服务器配置(MCP 客户端无需配置,以下为开发端配置说明,便于理解与复用):
      • serverName(服务器名称,默认 default)
      • command(启动入口/执行命令,描述性说明 BoxLang 中的启动点即可)
      • args(启动参数,例如 transport、port、cors、认证策略等)
    • 关键信息提示:客户端通常只需要 baseURL(如 http(s)://host:port),无需关心服务器内部实现细节。
  • 基本使用方法

    • 定义并注册能力
      • 使用 BoxLang 脚本注册一个工具(Tool),注册一个或多个资源(Resource),以及一个或多个提示模版(Prompts),确保 MCP 服务器在启动后对外暴露这些能力。
    • 启动与暴露
      • 启动服务器后,客户端即可通过 MCP 的 JSON-RPC 接口查询工具、资源和 Prompts,并通过工具执行等操作实现对上下文的能力扩展。
    • 客户端接入示例(逻辑层面概览)
      • 创建 MCP 客户端,指向服务器 baseURL。
      • 调用 listTools、listResources、listPrompts 获取服务器暴露的能力列表。
      • 读取 Prompts、Resources,或通过 Tools 进行外部功能调用。
    • 注意事项
      • MCP 客户端通过 JSON-RPC 请求服务器,服务器返回标准的 MCP 响应结构或通知。
      • 如需安全性扩展,可在 MCP 服务端配置身份认证、跨域策略与访问控制。

服务器信息