项目简介
MCP Playbook 是一个基于 Model Context Protocol (MCP) 实现的后端服务器。它旨在帮助 LLM 客户端(如 Claude Desktop)以标准化的方式与本地文件系统和外部服务(如 GitHub)进行交互,特别专注于项目文档的维护、对话历史的记录以及知识库的查询和同步。
主要功能点
- 项目文档管理: 允许 LLM 在用户指定的项目目录中创建和更新不同类型的文档,包括:
- 项目规范 (Specs, 如 PRD, RFC)
- 架构决策记录 (ADR)
- 用户面向的更新日志条目 (Changelog)
- 项目运行手册 (Runbook) - 可综合现有文档生成。
- 对话日志记录: 捕获 LLM 与用户的对话历史,将其保存到本地项目目录,并可选择上传到指定的 GitHub 仓库进行备份和分析。支持从特定编辑器(如 Cursor, Zed, Cline)解析历史记录。
- 知识库搜索: 提供了在外部 GitHub 仓库(如 dwarvesf/runbook, dwarvesf/prompt-db)中搜索代码或提示词的能力,帮助 LLM 获取现有知识和最佳实践。
- 知识库同步: 支持将新的或更新的运行手册条目以 Pull Request 的形式提交到 dwarvesf/runbook 仓库,以及将 LLM 提示词同步到 dwarvesf/prompt-db 仓库。
- 思考辅助: 提供一个简单的“思考”工具,用于 LLM 内部的推理、头脑风暴或计划,结果会被记录但不影响外部状态。
- 能力声明: 向连接的 MCP 客户端声明其提供的工具列表及其使用方式。
安装步骤
此服务器是一个 Node.js/TypeScript 应用。
- 从 GitHub 克隆仓库到本地。
- 进入仓库目录。
- 运行 'npm install' 安装项目依赖。
- 运行 'npm run build' 编译 TypeScript 代码到 'dist' 目录。
- (可选)为了使某些工具(如 'save_and_upload_chat_log' 和 GitHub 同步工具)能正常工作,需要配置 GitHub 个人访问令牌。创建一个 '.env' 文件在项目根目录,内容格式为 'GITHUB_PERSONAL_ACCESS_TOKEN=你的_github_token_在此'。请确保令牌具有 'repo' 范围的权限,并将 '.env' 文件添加到 '.gitignore'。
服务器配置 (MCP客户端侧)
MCP 服务器本身通过标准输入/输出 (stdio) 与 MCP 客户端通信。您需要在 MCP 客户端的配置中添加一个条目,告诉客户端如何启动并连接到此服务器。典型的配置信息如下:
{ "mcpServers": { "mcp-playbook": { // 服务器的名称 "command": "npx", // 启动服务器的命令,可以使用 npx 直接运行包,或使用 node 运行编译后的文件 "args": ["-y", "@dwarvesf/mcp-playbook@latest"], // command 的参数。如果使用 node,参数应是编译后文件的路径,例如:["/path/to/your/mcp-playbook/dist/src/index.js"] "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "你的_github_token_在此" // 传递给服务器的环境变量 } } } }
请参考您的 MCP 客户端(如 Claude Desktop)的文档,了解具体的配置文件的位置和格式。重要的配置包括服务器名称 ('mcp-playbook')、用于启动服务器进程的命令 ('command') 及参数 ('args'),以及任何必需的环境变量 ('env')。
基本使用方法
- 确保您已按照上述步骤安装并配置了 MCP 客户端。
- 在 MCP 客户端中激活此服务器。
- 建议您在 LLM 与项目相关的对话开始时,或在需要理解服务器能力时,提示 LLM 调用 'init_playbook' 工具,以获取服务器的用途说明和核心原则。
- LLM 会根据您的指令和上下文,自动判断何时调用其他工具(如 'create_spec'、'save_and_upload_chat_log'、'search_runbook' 等),并提供相应的参数(例如,操作本地文件时必须提供 'target_project_dir' 参数)。
信息
分类
AI与计算