Frappe/ERPNext MCP服务器
一种模型上下文协议(MCP)服务器,为Frappe/ERPNext开发提供人工智能辅助。此服务器提供工具来帮助创建DocTypes、运行bench命令、管理应用程序和其他Frappe开发任务。
特性
- DocType创建:自动生成DocType JSON定义和Python控制器
- 工作台命令:执行开发工作流的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聊天(SSE传输)
服务器现在支持与GitHub Copilot Chat一起使用的SSE传输:
- 构建并运行SSE服务器:
npm run build
npm run sse- 服务器将由GitHub Copilot Chat自动发现,网址为
http://localhost:3000/sse
配备克劳德桌面(标准传输)
将以下配置添加到Claude Desktop配置文件中(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
{
"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
使用JSON定义和Python控制器创建新的Frappe DocType。
参数:
app_name:Frappe应用程序的名称doctype_name:DocType的名称module:DocType所属的模块fields:字段定义数组is_submittable:DocType是否可提交(默认值:false)is_child:这是否是子DocType(默认值:false)
frappe_run_bench_命令
执行Frappe开发的工作台命令。
参数:
command:要执行的Bench命令site:站点名称(可选)cwd:工作目录(可选)
框架_应用程序_结构
获取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
}
]
}运行工作台命令
{
"command": "migrate",
"site": "my_site.local"
}发展
要修改服务器,请执行以下操作:
- 编辑文件
src/目录 - 跑
npm run build编译TypeScript - 测试用
npm run dev发展模式
需求
- Node.js 18+
- Frappe/ERP下工作台环境
- 访问Frappe工作台命令
许可证
MIT许可证-有关详细信息,请参阅许可证文件
