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 等)请参考仓库对应实现中的初始化逻辑。
- 本仓库基于 TypeScript 实现,推荐按以下方式启动:
- 服务器配置(客户端连接 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 应用场景(如代码执行、应用生成、代码评审等)。
- 连接与使用: