使用说明
BMAD MCP——本地BMAD管理器
一行描述:一个轻量级的本地管理器,通过模型上下文协议(MCP)公开BMAD工具(get_BMAD_agent,list_BMAD_tasks)。
目录
- 项目概述
- 存储库结构
- 安装和快速启动
- BMAD代理说明和示例用法
- 发展和推广指导
- 故障排除和下一步
- 许可证
项目概述
此存储库包含一个基于Node.js的小型本地管理器,该管理器使用模型上下文协议(MCP)公开了几个与BMAD相关的工具。管理器的主要目的是提供对BMAD代理指令和当前任务清单的方便编程访问。它通过启动MCP服务器并注册两个工具来实现这一点: get_bmad_agent (从用户的BMAD安装中获取代理markdown)和 list_bmad_tasks (读取BMAD任务清单)。
该项目的目的是充当开发人员工具或LLM驱动的工作流与磁盘上BMAD安装之间的本地桥梁(默认情况下,代码指向 /Users/delamonicavictor/_bmad).开发人员在本地运行此服务,并将其集成到其他工具中,或直接调用其辅助逻辑以读取代理定义和任务列表。
BMAD代理是简单的Markdown文件,其中嵌入了激活指令和角色元数据。此回购 index.js 演示了如何在典型的BMAD文件夹布局中发现代理(例如: core/agents, gds/agents, bmm/agents, bmb/agents)并将原始markdown返回给调用者。典型的开发人员工作流程:安装依赖项,确保您的BMAD_ROOT(默认 /Users/delamonicavictor/_bmad)填充了代理文件 _config/task-manifest.csv,然后运行 node index.js 并将MCP服务器与您最喜欢的客户端或工具集成。
存储库结构
index.js--主入口。启动MCP服务器并注册get_bmad_agent和list_bmad_tasks工具。package.json--最小清单(ES模块,依赖于@modelcontextprotocol/sdk和zod).README.md--(此文件)开发人员指南和快速入门。
外部(预期)BMAD根目录(不在仓库下)
- 该代码要求在以下位置安装BMAD
/Users/delamonicavictor/_bmad(由BMAD_ROOT内部恒定index.js).该目录通常包含子文件夹,例如core/agents,bmm/agents,gds/agents,以及_config/task-manifest.csv.
安装和快速启动
- 从存储库根目录:
cd /Users/delamonicavictor/bmad-mcp
npm install
- 验证节点版本(建议使用节点18+):
node -v
- 运行本地MCP管理器:
node index.js
笔记:
package.json此存储库中当前未定义任何scripts条目。跑node index.js直接。index.js是ES模块("type": "module"在package.json).- 如果您的BMAD安装在其他地方,请编辑
BMAD_ROOT常数inindex.js或创建符号链接/Users/delamonicavictor/_bmad.
BMAD代理说明和示例用法
代理文件是什么样子的
- BMAD代理定义通常是Markdown文件(例如。,
analyst.md或analyst.agent.md)包含角色元数据和激活指令。包括index.js在BMAD安装下的这些相对文件夹中搜索代理文件:core/agentsgds/agentsbmm/agentsbmb/agents
此项目中存储代理的位置
- 此存储库不包括
.github/agents或本地代理文件。相反,它会从您的本地BMAD安装中读取代理,网址为BMAD_ROOT(见上文)。如果要将代理保留在仓库中,请创建一个文件夹(例如.github/agents)并更新index.js相应地搜索路径。
示例:使用Node快速获取代理markdown文件(读取本地文件)
创建一个小脚本来直接读取代理文件(这反映了 get_bmad_agent 确实如此):
// example/fetch-agent.js
import fs from 'fs';
import path from 'path';
const BMAD_ROOT = '/Users/delamonicavictor/_bmad';
const agentName = 'analyst';
const possiblePaths = [
path.join(BMAD_ROOT, 'core/agents', `${agentName}.md`),
path.join(BMAD_ROOT, 'core/agents', `${agentName}.agent.md`),
// add other folders if needed
];
for (const p of possiblePaths) {
if (fs.existsSync(p)) {
console.log(fs.readFileSync(p, 'utf8'));
process.exit(0);
}
}
console.error(`Agent ${agentName} not found.`);
process.exit(2);
运行它:
node example/fetch-agent.js
调用MCP工具
index.js注册了两个MCP工具:get_bmad_agent和list_bmad_tasks.- 此服务器使用
StdioServerTransport其期望连接到通过stdin/stdout讲MCP协议的客户端(例如LLM集成或另一个MCP感知进程)。 - 对于简单的测试和自动化,最好直接读取如上所示的代理文件,或者与您已经使用的MCP感知客户端进行交互。
发展和推广指导
- 添加代理:在BMAD安装中的一个预期文件夹下创建Markdown文件(例如。,
core/agents/analyst.md).遵循BMAD使用的代理格式(元数据+激活步骤)。 - 将代理保存在仓库中:如果您希望将代理保存在此仓库中的源代码控制下(例如
.github/agents),添加该文件夹并更新searchFolders列入index.js包括它。 - 添加脚本:您可以在中添加方便的npm脚本
package.json例如:
"scripts": {
"start": "node index.js"
}
- 测试:该仓库目前没有测试。如果您计划扩展MCP行为,请添加单元/集成测试。
故障排除和下一步
-
常见故障:
ENOENT阅读_config/task-manifest.csv:确保/Users/delamonicavictor/_bmad/_config/task-manifest.csv存在并且可读。- 找不到代理:请确保代理标记存在于预期的文件夹或更新中
BMAD_ROOT/searchFolders在index.js. - 模块解析错误:运行
npm install确保@modelcontextprotocol/sdk和zod已安装。建议使用节点18+支持ES模块。
-
下一步:
- 添加一个
start脚本到package.json. - (可选)制作
BMAD_ROOT可通过环境变量配置BMAD_ROOT而不是硬编码的路径。 - 添加一个小型MCP客户端示例,显示如果要与外部进程集成,如何以编程方式调用已注册的工具。
- 添加一个
许可证
这个存储库的设计很小,也很宽松。建议许可证:MIT。
文件路径: /Users/delamonicavictor/bmad-mcp/README.md