Kastell MCP 服务端

使用说明(Markdown 格式)

  • 项目简介 Kastell 内置了对 Model Context Protocol (MCP) 的服务器实现,旨在以标准化方式向 MCP 客户端提供资源数据、工具执行能力以及可定制的提示模板渲染,所有交互通过 JSON-RPC 进行,并支持多种传输协议,适用于将后端能力暴露给大语言模型客户端使用的场景。

  • 主要功能点

    • 资源管理与数据访问:提供对资源/服务器等信息的集中托管与访问能力,便于 MCP 客户端查询与使用。
    • 工具注册与执行:注册并暴露外部功能工具,允许 MCP 客户端通过统一接口调用外部功能。
    • 提示模板定义与渲染:提供 Prompt 模板的管理与渲染,支持可定制的 LLM 交互模式。
    • JSON-RPC 通信:与 MCP 客户端通过 JSON-RPC 进行请求与响应,支持请求处理、通知推送等。
    • 会话管理与能力声明:管理会话上下文,暴露服务能力和版本信息,方便客户端动态适配。
    • 多传输协议支持:如 Stdio、SSE、WebSocket 等,满足不同部署与集成场景的传输需求。
    • 安全与扩展性:在服务器端实现安全控制、模式开关与扩展点,便于后续功能扩展。
  • 安装与运行步骤

    1. 准备环境:需要 Node.js 环境,确保依赖正确安装(npm/yarn 安装依赖包)。
    2. 获取 MCP 服务器实现代码并安装依赖。
    3. 根据实际部署场景配置启动参数与令牌(若接入云服务提供商需提供相应凭证)。
    4. 启动 MCP 服务器进程,让 MCP 客户端通过配置的启动命令和参数连接。
    5. 可选:在配置中定义 MCP 服务器实例,客户端通过指定 start 命令和参数来连接。
  • 服务器配置 MCP 客户端需要向 MCP 服务器提供启动信息以实现对 MCP 的连接。配置示例为多提供商级别的启动信息,示意如下(请以客户端读取的 JSON 配置为准):

    • serverName: kastell
    • command: npx
    • args: ["-y", "-p", "kastell-mcp"]
    • env: 包含以下提供商令牌(如需): HETZNER_TOKEN: your-token DIGITALOCEAN_TOKEN: your-token VULTR_TOKEN: your-token LINODE_TOKEN: your-token

    说明:以上字段用于 MCP 客户端在需要时启动并连接到 Kastell 的 MCP 服务器。MCP 客户端不需要读取服务器端的实现细节,只需知道启动命令与参数以建立连接即可。

  • 基本使用方法

    1. 启动 MCP 服务端后,MCP 客户端通过前述启动命令与参数连接,获取资源、工具及提示信息等能力。
    2. 客户端可在资源查询、工具调用、Prompts 渲染等场景中,通过统一接口进行请求,服务端返回 JSON-RPC 格式的响应。
    3. 服务端负责会话的生命周期、能力声明,以及对接入的传输协议(如 Stdio、SSE、WebSocket)的数据传输。
    4. 如需扩展新的工具、资源类型或提示模板,可以在服务端实现中增加对应的 MCP 模块,并对外暴露统一的接口。
  • 备注 本 MCP 服务器实现将 MCP 的核心能力聚合在 Kastell 的后端代码中,既能提供资源与工具的标准化访问,也能渲染自定义的 Prompt 模板,并通过 JSON-RPC 与 MCP 客户端进行通信,具备安全性与可扩展性。

服务器信息