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 与服务器交互进行资源访问与工具调用。
  • 服务器配置(示例配置,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 的传输支持,或通过配置文件扩展服务器的能力描述与提示模板。

服务器信息