关于 Frappe Dev MCP Server
Frappe Dev MCP Server 为 Frappe/ERPNext 开发者提供 AI 辅助工具,涵盖 DocType、应用、bench 命令、API 和数据库迁移,并支持 SSE 与 stdio 传输供 MCP 客户端使用。
主要功能
- 01生成 DocType 定义和控制器
- 02运行 bench 命令
- 03创建和管理 Frappe 应用
- 04生成自定义 API 端点
- 05执行数据库迁移
- 06查看应用目录结构
适用场景
- 01为 Frappe 应用创建 DocType
- 02为站点运行 bench 命令
- 03添加自定义 API 端点
- 04安装应用或迁移站点
MCP 相关
向 MCP 客户端提供 Frappe 和 ERPNext 开发工具,包括创建 DocType、运行 bench 命令、管理应用、生成端点和执行迁移,并支持 SSE 与 stdio 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
29收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| fields | array | 是 | 字段定义数组 |
| module | string | 是 | DocType 所属的模块 |
| app_name | string | 是 | Frappe 应用的名称 |
| is_child | boolean | 否 | |
| doctype_name | string | 是 | DocType 的名称 |
| is_submittable | boolean | 否 |
详细介绍
Frappe/ERPNext MCP 服务
一个为 Frappe/ERPNext 开发提供 AI 辅助的模型上下文协议(MCP)服务。此服务提供多种工具,可协助创建 DocType、运行 bench 命令、管理应用,以及处理其他 Frappe 开发任务。
功能
- DocType 创建:自动生成 DocType JSON 定义和 Python 控制器
- Bench 命令:执行开发工作流所需的 bench 命令
- 应用管理:创建、安装和管理 Frappe 应用
- API 端点:生成自定义 API 端点
- 数据库操作:运行迁移和管理数据库
- 应用结构分析:获取详细的应用目录结构
安装
-
克隆或下载此仓库
-
安装依赖项:
npm install -
构建服务:
npm run build
配置
将 FRAPPE_PATH 环境变量设为 Frappe bench 目录的路径:
export FRAPPE_PATH="/path/to/your/frappe/bench"
如果未设置,该变量的默认值为 /Users/mac/ERPNext/mkahawa。
使用方法
在 GitHub Copilot Chat 中使用(SSE 传输)
此服务现在支持通过 SSE 传输与 GitHub Copilot Chat 配合使用:
-
构建并运行 SSE 服务:
npm run build npm run sse -
GitHub Copilot Chat 会自动发现位于
http://localhost:3000/sse的服务
在 Claude Desktop 中使用(Stdio 传输)
将以下配置添加到 Claude Desktop 配置文件中(macOS 上的路径为 ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"frappe-dev": {
"command": "node",
"args": ["/Users/mac/ERPNext/mkahawa/frappe-mcp-server/dist/index.js"],
"env": {
"FRAPPE_PATH": "/Users/mac/ERPNext/mkahawa"
}
}
}
}
与其他 MCP 客户端配合使用
直接运行服务:
node dist/index.js
可用工具
frappe_create_doctype
创建新的 Frappe DocType,包含 JSON 定义和 Python 控制器。
参数:
app_name:Frappe 应用的名称doctype_name:DocType 的名称module:DocType 所属的模块fields:字段定义数组is_submittable:DocType 是否可提交(默认值:false)is_child:是否为子 DocType(默认值:false)
frappe_run_bench_command
执行 Frappe 开发所需的 bench 命令。
参数:
command:要执行的 bench 命令site:站点名称(可选)cwd:工作目录(可选)
frappe_get_app_structure
获取 Frappe 应用的目录结构。
参数:
app_name:Frappe 应用的名称
frappe_create_api_endpoint
为 Frappe 应用创建自定义 API 端点。
参数:
app_name:Frappe 应用的名称endpoint_name:API 端点的名称method:HTTP 方法(get、post、put、delete)(默认值:get)code:API 端点的 Python 代码
frappe_migrate_database
运行 Frappe 站点的数据库迁移。
参数:
site:要迁移的站点名称
frappe_install_app
在站点上安装 Frappe 应用。
参数:
app_name:要安装的应用名称site:站点名称
frappe_create_app
创建新的 Frappe 应用。
参数:
app_name:新应用的名称title:应用标题publisher:发布者名称description:应用描述(可选)
使用示例
创建 DocType
{
"app_name": "my_app",
"doctype_name": "Customer Order",
"module": "Orders",
"fields": [
{
"fieldname": "customer",
"label": "Customer",
"fieldtype": "Link",
"options": "Customer",
"reqd": true
},
{
"fieldname": "order_date",
"label": "Order Date",
"fieldtype": "Date",
"reqd": true
},
{
"fieldname": "total_amount",
"label": "Total Amount",
"fieldtype": "Currency",
"reqd": true
}
]
}
运行 Bench 命令
{
"command": "migrate",
"site": "my_site.local"
}
开发
修改此服务:
- 编辑
src/目录中的文件 - 运行
npm run build编译 TypeScript - 运行
npm run dev,在开发模式下进行测试
要求
- Node.js 18+
- Frappe/ERPNext bench 环境
- 可访问 Frappe bench 命令
许可证
MIT 许可证,详情请参阅 LICENSE 文件
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。