ERPNext开发助手

一个为Frappe/ERPNext开发提供AI辅助的MCP服务器,支持DocType创建、bench命令执行、应用管理等开发任务。

  • by SajmustafaKe
  • TypeScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 SajmustafaKe/frappe-dev-mcp-server

使用说明

Frappe/ERPNext MCP服务器

一种模型上下文协议(MCP)服务器,为Frappe/ERPNext开发提供人工智能辅助。此服务器提供工具来帮助创建DocTypes、运行bench命令、管理应用程序和其他Frappe开发任务。

特性

  • DocType创建:自动生成DocType JSON定义和Python控制器
  • 工作台命令:执行开发工作流的bench命令
  • 应用管理:创建、安装和管理Frappe应用程序
  • API终点:生成自定义API终结点
  • 数据库操作:运行迁移和数据库管理
  • 应用程序结构分析:获取详细的应用程序目录结构

安装

  1. 克隆或下载此存储库

  2. 安装依赖项:

    npm install
    
  3. 构建服务器:

    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传输:

  1. 构建并运行SSE服务器:

    npm run build
    npm run sse
    
  2. 服务器将由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"
}

发展

要修改服务器,请执行以下操作:

  1. 编辑文件 src/ 目录
  2. 跑 npm run build 编译TypeScript
  3. 测试用 npm run dev 发展模式

需求

  • Node.js 18+
  • Frappe/ERP下工作台环境
  • 访问Frappe工作台命令

许可证

MIT许可证-有关详细信息,请参阅许可证文件