Keyboard MCP Server

使用说明(简要概要,便于快速上手):

  • 项目简介
    • Keyboard MCP Server 是一个完整的 MCP 服务端实现,能够托管资源、注册并执行工具、定义并渲染 Prompt 模板,统一对外提供 JSON-RPC 接口以及多种传输协议的会话能力,供 LLM 客户端调用。
  • 主要功能点
    • 资源管理:对资源进行托管、查询和渲染,用于向 LLM 客户端提供上下文数据。
    • 工具注册与执行:注册 Tool,提供 JSON-RPC 调用以执行外部功能(如代码执行、环境创建、代码分析等)。
    • Prompts 与 UI:定义和渲染 Prompt 模板,支持自定义交互模式。
    • 会话与能力声明:处理会话、权限和能力声明,支持本地(Stdio)与远端(HTTP+SSE)模式。
    • 多传输协议:本地的 Stdio、SSE、以及 WebSocket 等传输,满足不同客户端的集成需求。
    • 开放 API:内置 OpenAPI 生成器,帮助客户端发现 MCP 服务提供的工具接口。
  • 安装与运行
    • 本仓库基于 TypeScript 实现,推荐按以下方式启动:
      • 先安装依赖并构建
        • 安装依赖
        • 构建产物(生成 dist 目录)
      • 启动本地模式(stdio/命令行交互)
        • 运行生成的可执行入口,或使用 dist/main.js 作为入口继续启动。
      • 启动远端模式(HTTP/SSE)
        • 通过配置开启远端模式,监听指定端口,并对外暴露 JSON-RPC /mcp 及 SSE 接口。
    • 运行时需要的环境变量示例(如 MCP_MODE、GITHUB_PAT_TOKEN、SOCKET_KEY 等)请参考仓库对应实现中的初始化逻辑。
  • 服务器配置(客户端连接 MCP 服务器的启动配置) 该部分用于 MCP 客户端在启动时连接服务器的配置。配置信息为 JSON 格式,包含服务器名称、启动命令与参数等。示例配置如下(仅说明字段,无代码实现): { "serverName": "keyboard-mcp", "command": "node", "args": ["dist/main.js"], "description": "Keyboard MCP Server 启动脚本", "startMode": "local" // 运行模式,local 表示本地_stdio模式,remote 表示远端模式(如通过 API 启动与管理) } 说明:
    • serverName:服务器标识名称,便于客户端区分多服务器实例。
    • command:启动 MCP 服务器的命令,推荐使用 Node 的执行入口(dist/main.js)在构建产物中运行。
    • args:启动命令的参数,示例中为 dist/main.js;若使用未构建的源码,请按实际执行入口调整。
    • startMode:默认可选项,提示客户端在本地模式还是远端模式下连接。 注:MCP 客户端需要仅仅了解服务器的名称与启动指令(无需实现细节),实际通信通过 MCP 协议进行。
  • 基本使用方法
    • 连接与使用:
      • 客户端通过 JSON-RPC 调用 MCP 服务器提供的 Tool、Resource、Prompts 等接口,按协议规定进行请求与响应。
      • 服务器内部管理会话、能力声明与资源/工具的注册,提供稳定的后端上下文服务给 LLM 客户端使用。
    • 安全性与扩展性:
      • 服务器实现了基本的鉴权、跨域与速率限制等安全特性,支持 WebSocket/SSE 等传输,便于高并发场景。
      • 可扩展工具与资源,适用于复杂的 LLM 应用场景(如代码执行、应用生成、代码评审等)。

服务器信息