k13d MCP 服务器
使用说明(Markdown 格式)
-
项目简介
- 该项目实现基于 MCP 的服务器端,用于向大型语言模型(LLM)提供统一的上下文资源、可注册与执行的 Tools,以及生成和渲染 Prompt。服务器通过 JSON-RPC 与客户端通信,支持多种传输方式(stdio、SSE、WebSocket 等),并包含对会话管理、能力声明与工具注册等核心能力的实现。
-
主要功能点
- MCP 服务端核心功能:实现模型上下文相关的资源管理、工具注册与执行、提示模板的定义与渲染,以及通过 JSON-RPC 与客户端通信。
- 支持多传输协议:stdio(MCP Server 标准传输)、SSE、WebSocket 等,方便在不同环境中部署与接入。
- 工具注册与执行:在服务器端注册可对外提供的工具,LLM 客户端可调用这些工具完成外部功能(如 kubectl、云服务操作等)。
- 会话与能力声明:管理会话、能力范围,以及对客户端可用能力的声明。
- 与 k13d 的集成示例:仓库中包含了直接使用 MCP 服务端的示例代码路径,演示如何通过 stdio 连接、注册工具并启动服务。
-
安装步骤
- 获取源码并编译/k13d 二进制:
- 未提供单独的安装脚本时:直接构建源码,生成 k13d 二进制。
- 启动 MCP 服务端(stdio 传输):
- 启动命令:k13d -mcp
- 该模式使得 k13d 同时充当 MCP 服务端,向外暴露其工具集合以供 MCP 客户端接入。
- 客户端接入示例(非必需安装,属于示例用法):
- 参考仓库中的 MCP 客户端示例,使用命令行或程序化方式连接到标准输入/输出流,并通过 JSON-RPC 与服务器交互进行资源访问与工具调用。
- 获取源码并编译/k13d 二进制:
-
服务器配置(示例配置,JSON 形式,配置信息仅供 MCP 客户端读取) { "servers": [ { "name": "k13d", "command": "k13d", "args": ["-mcp"] } // 如需扩展,可以再添加其他 MCP 服务端条目 ] } 注释:
- name: MCP 服务端的标识名称,仓库实现中以 "k13d" 作为服务名称。
- command: 启动 MCP 服务端的可执行文件名,在本仓库中对应 k13d 二进制。
- args: 启动参数,-mcp 表示以 MCP 服务器模式启动,使用 stdio 传输。
- 该配置仅用于 MCP 客户端的发现与管理,实际连接由客户端根据该配置启动并与服务器建立交互。
-
基本使用方法
- 启动 MCP 服务端:在包含已构建的 k13d 二进制的环境中执行 ./k13d -mcp
- 通过 MCP 客户端连接:按照 MCP 配置读取服务器信息后,使用命令或代码启动相应的客户端连接,向服务器发送资源读取、工具调用等请求,服务器返回 JSON-RPC 响应。
- 工具注册与调用:服务器在启动时会暴露默认工具集,客户端通过 MCP API 调用注册的工具并获取结果。
- 发展与扩展:根据需要可增加更多工具、增加对 SSE/WebSocket 的传输支持,或通过配置文件扩展服务器的能力描述与提示模板。