Kastell MCP 服务端
使用说明(Markdown 格式)
-
项目简介 Kastell 内置了对 Model Context Protocol (MCP) 的服务器实现,旨在以标准化方式向 MCP 客户端提供资源数据、工具执行能力以及可定制的提示模板渲染,所有交互通过 JSON-RPC 进行,并支持多种传输协议,适用于将后端能力暴露给大语言模型客户端使用的场景。
-
主要功能点
- 资源管理与数据访问:提供对资源/服务器等信息的集中托管与访问能力,便于 MCP 客户端查询与使用。
- 工具注册与执行:注册并暴露外部功能工具,允许 MCP 客户端通过统一接口调用外部功能。
- 提示模板定义与渲染:提供 Prompt 模板的管理与渲染,支持可定制的 LLM 交互模式。
- JSON-RPC 通信:与 MCP 客户端通过 JSON-RPC 进行请求与响应,支持请求处理、通知推送等。
- 会话管理与能力声明:管理会话上下文,暴露服务能力和版本信息,方便客户端动态适配。
- 多传输协议支持:如 Stdio、SSE、WebSocket 等,满足不同部署与集成场景的传输需求。
- 安全与扩展性:在服务器端实现安全控制、模式开关与扩展点,便于后续功能扩展。
-
安装与运行步骤
- 准备环境:需要 Node.js 环境,确保依赖正确安装(npm/yarn 安装依赖包)。
- 获取 MCP 服务器实现代码并安装依赖。
- 根据实际部署场景配置启动参数与令牌(若接入云服务提供商需提供相应凭证)。
- 启动 MCP 服务器进程,让 MCP 客户端通过配置的启动命令和参数连接。
- 可选:在配置中定义 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 客户端不需要读取服务器端的实现细节,只需知道启动命令与参数以建立连接即可。
-
基本使用方法
- 启动 MCP 服务端后,MCP 客户端通过前述启动命令与参数连接,获取资源、工具及提示信息等能力。
- 客户端可在资源查询、工具调用、Prompts 渲染等场景中,通过统一接口进行请求,服务端返回 JSON-RPC 格式的响应。
- 服务端负责会话的生命周期、能力声明,以及对接入的传输协议(如 Stdio、SSE、WebSocket)的数据传输。
- 如需扩展新的工具、资源类型或提示模板,可以在服务端实现中增加对应的 MCP 模块,并对外暴露统一的接口。
-
备注 本 MCP 服务器实现将 MCP 的核心能力聚合在 Kastell 的后端代码中,既能提供资源与工具的标准化访问,也能渲染自定义的 Prompt 模板,并通过 JSON-RPC 与 MCP 客户端进行通信,具备安全性与可扩展性。