bmall-mcp
v1.3.1
Published
MCP Server for bmall development rules and tools
Readme
bmall-mcp
MCP Server for bmall development rules and tools.
Features
- 📋 从 Git 同步 bmall Rules 到 IDE 目录
- 🔄 支持 Kiro、Cursor、Windsurf、JoyCode
- 📦 支持 iOS、Android、Harmony、Common 四种规则类型
- 🚀 规范化 Git 提交
- 📊 埋点文档生成(从京东流式平台提取)
- 🔧 埋点代码生成和业务集成
Installation
npx -y bmall-mcpUsage
在 Kiro 中配置
添加到 ~/.kiro/settings/mcp.json:
{
"mcpServers": {
"bmall": {
"command": "npx",
"args": ["-y", "--registry", "https://registry.npmjs.org/", "bmall-mcp"],
"env": {
"MCP_IDE": "kiro"
}
}
}
}💡
--registry https://registry.npmjs.org/确保从 npm 官方源获取最新版本 💡MCP_IDE指定当前 IDE,所有工具自动使用,无需每次指定
可用工具
| 工具 | 说明 | 示例 |
|------|------|------|
| pull_rules | 下载 Rules 到 IDE | 同步 bmall iOS 的 rules |
| push_rules | 上传本地 Rules 到 Git | 上传修改的 iOS rules |
| standard_git_commit | 规范化 Git 提交 | 提交代码,需求名称是语音转写SDK |
| mta_read | 从流式平台提取埋点需求 | 提取埋点需求 https://stream.jd.com/ddrx/#/requirement/29582 |
| mta_implementation | 生成埋点管理类代码 | 生成埋点代码 34747 |
| mta_integration | 埋点业务集成指导 | 集成埋点 34747 |
| analyze_appfreeze | 鸿蒙AppFreeze分析 | 分析AppFreeze日志 /path/to/freeze.log |
工具详情
从 Git 仓库下载 bmall Rules 到 IDE 目录。
参数:
ide: 目标 IDE(可选,默认从 MCP_IDE 环境变量读取)-kiro|cursor|windsurf|joycoderulesType: Rules 类型(可选,自动检测)-ios|android|harmony|common
将本地修改的 Rules 上传到 Git 仓库。会自动创建以项目名命名的分支。
参数:
ide: 目标 IDE(可选,默认从 MCP_IDE 环境变量读取)-kiro|cursor|windsurf|joycodemessage: 提交信息(可选)rulesType: Rules 类型(可选,自动检测)-ios|android|harmony|common
自动分析改动内容,生成符合约定式提交规范的 commit message 并推送。
参数:
scope: 需求名称(必填),如:语音转写SDK、购物车、登录模块
从京东流式平台提取埋点需求,生成结构化埋点文档。
参数:
requirementUrl: 埋点需求文档URL(必填)platform: 目标端(可选,自动检测)-iOS|Android|H5|Web|鸿蒙
根据埋点需求文档生成埋点管理类代码。
参数:
requirementId: 埋点需求ID(必填)moduleName: 模块名称(可选)
指导在业务代码中集成埋点调用。
参数:
requirementId: 埋点需求ID(必填)businessCodePath: 业务代码路径(可选)
根据AppFreeze日志文件生成详细的分析提示词,指导AI按照标准流程诊断应用冻屏问题。
参数:
logFilePath: AppFreeze日志文件路径(必填),如:/path/to/appfreeze.logoutputPath: 分析报告输出路径(可选,默认为当前目录)
支持的项目类型:
- HarmonyOS (鸿蒙)
分析内容:
- 提取基本信息(Pid、Reason、Fault time、Foreground)
- 分析freeze栈(对比3S和6S栈)
- 分析EventHandler信息
- 分析Binder信息
- 结合trace和HiLog
- 问题分类(应用/调度/系统库/IO)
- 提供针对性解决方案
参考文档:
- 项目根目录下的
harmonyos-appfreeze-guide.md包含完整的分析规则和典型案例
项目架构
src/
├── index.ts # 服务器入口
├── server/
│ ├── tools.ts # Tool 定义
│ └── handlers.ts # Tool 处理器
├── tools/
│ ├── appfreeze/
│ │ ├── index.ts # AppFreeze 分析入口(端识别)
│ │ └── harmony.ts # 鸿蒙 AppFreeze 分析
│ ├── git/
│ │ └── commit.ts # Git 提交规范
│ ├── mta/
│ │ ├── read/ # 埋点文档生成
│ │ ├── implementation/ # 埋点代码生成
│ │ └── integration/ # 埋点业务集成
│ └── rules/
│ ├── utils.ts # Rules 专用工具
│ ├── pull.ts # 下载 Rules
│ └── push.ts # 上传 Rules
└── utils/
├── index.ts # 统一导出 + 常量
├── project.ts # 项目相关(类型检测、项目名、根目录)
├── ide.ts # IDE 相关(检测、路径)
├── file.ts # 文件操作(复制 Markdown)
└── git.ts # Git 操作(初始化、分支、提交)Changelog
v1.3.1 (2026-01-26)
- ✅ 去除dist中多余的文件
v1.3.0 (2026-01-21)
- ✅ 新增
analyze_appfreeze鸿蒙AppFreeze分析工具 - ✅ 支持端识别,根据项目类型返回不同的分析提示词
- ✅ 完整的AppFreeze分析流程(freeze栈、EventHandler、Binder、trace、HiLog)
- ✅ 提供针对性的问题分类和解决方案
v1.2.8 (2026-01-15)
- ✅ 修复本地分支已存在时创建失败的问题
v1.2.7 (2026-01-15)
- ✅ 修复 Git remote 地址不一致问题,自动更新 remote URL
v1.2.6 (2026-01-15)
- ✅ 增加 git status 日志输出,排查推送问题
v1.2.5 (2026-01-15)
- ✅ 修复 iOS 项目名检测,排除 _Pods.xcodeproj 和 Pods.xcodeproj
v1.2.4 (2026-01-15)
- ✅ 启动时输出版本号
v1.2.3 (2026-01-15)
- ✅ 修复 Cursor/JoyCode 中项目目录获取问题,使用 MCP roots API
- ✅ 修复 MTA 文档输出路径问题
- ✅ 移除 Flutter 相关冗余代码
- ✅ 提取通用方法到 utils(detectProjectName、copyMarkdownFiles)
- ✅ 新增
src/utils/file.ts文件操作工具 - ✅ 新增
src/utils/git.tsGit 操作工具,提取通用 Git 方法 - ✅ 优化项目名称检测,根据项目类型选择检测方式(iOS/Android/Harmony/Web)
- ✅ Rules 操作增加详细日志输出
v1.2.2 (2026-01-15)
- ✅ 添加 roots/list 测试代码
v1.2.1 (2026-01-14)
- ✅ 修复 IDE Rules 路径计算问题,改为运行时动态获取
- ✅ 添加调试日志,输出当前工作目录
v1.2.0 (2026-01-14)
- ✅ 重构项目结构,新增
src/utils/目录
v1.1.6 (2026-01-14)
- ✅ 新增 Harmony (鸿蒙) Rules 类型支持
- ✅ 新增
MCP_IDE环境变量,配置一次自动识别 IDE - ✅
ide参数改回可选,优先用参数,否则读环境变量 - ✅ 重构项目类型检测,抽离为独立方法
- ✅ 移除 Flutter 支持
- ✅ 修复 harmony 别名 "h" 冲突问题,改为 "hm"
- ✅ 重构项目结构,新增
src/utils/目录
v1.1.5 (2026-01-14)
- ✅ 更新 Changelog 记录
v1.1.4 (2026-01-14)
- ✅
pull_rules和push_rules的ide参数改为必填 - ✅ 未指定 IDE 时返回明确提示信息
v1.1.3 (2026-01-14)
- ✅ 优化 README 工具列表展示(表格 + 折叠详情)
- ✅
push_rules说明自动创建项目分支
v1.1.2 (2026-01-14)
- ✅ README 添加官方源配置说明
v1.1.1 (2026-01-14)
- ✅ 更新 RulesManager 仓库地址
v1.1.0 (2026-01-13)
- ✅ 新增
mta_implementation埋点代码生成工具 - ✅ 新增
mta_integration埋点业务集成工具 - ✅ 新增 JoyCode IDE 支持
- ✅ 重构项目架构,拆分 server/tools/handlers
- ✅ Rules 类型精简为 iOS/Android/Common
v1.0.6 (2026-01-13)
- ✅ 修正 page_code 为页面编号(非页面名称)
v1.0.5 (2026-01-13)
- ✅ 支持用户指定目标端(platform 参数),未指定时自动检测
- ✅ 支持一个模块多个页面,按页面分组显示埋点
- ✅ 状态筛选支持"新增"和"修改"
- ✅ 精简 Prompt 输出格式
v1.0.4 (2026-01-13)
- ✅ 优化
mta_readPrompt,精简输出格式 - ✅ 过滤通用参数(bPin、buId 等),只输出业务参数
- ✅ 添加端名称映射(苹果→iOS、安卓→Android)
- ✅ 不绑定特定浏览器 MCP,支持多种浏览器工具
v1.0.3 (2026-01-13)
- ✅ 新增
mta_read埋点文档生成工具 - ✅ 新增 H5 项目类型识别(Taro 项目)
- ✅ 优化项目类型检测逻辑
v1.0.2 (2026-01-12)
- ✅ 新增
common规则类型支持 - ✅ 更新 README 文档
v1.0.0
- ✅ 初始版本
- ✅ pull_rules / push_rules / standard_git_commit 三个工具
- ✅ 支持 iOS/Android/Web/Flutter 四种规则类型
License
MIT
