mcpField
F
Frappe Dev MCP Server

Frappe Dev MCP Server

本地服务
github.com/SajmustafaKe开发工具434 周前更新

关于 Frappe Dev MCP Server

Frappe Dev MCP Server 为 Frappe/ERPNext 开发者提供 AI 辅助工具,涵盖 DocType、应用、bench 命令、API 和数据库迁移,并支持 SSE 与 stdio 传输供 MCP 客户端使用。

主要功能

  1. 01生成 DocType 定义和控制器
  2. 02运行 bench 命令
  3. 03创建和管理 Frappe 应用
  4. 04生成自定义 API 端点
  5. 05执行数据库迁移
  6. 06查看应用目录结构

适用场景

  1. 01为 Frappe 应用创建 DocType
  2. 02为站点运行 bench 命令
  3. 03添加自定义 API 端点
  4. 04安装应用或迁移站点

MCP 相关

向 MCP 客户端提供 Frappe 和 ERPNext 开发工具,包括创建 DocType、运行 bench 命令、管理应用、生成端点和执行迁移,并支持 SSE 与 stdio 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"sajmustafake-frappe-dev": {
"command": "npx",
"args": [
"-y",
"frappe-dev-mcp-server"
],
"env": {
"FRAPPE_PATH": "<FRAPPE_PATH>"
}
}
}
}
启动命令npx -y frappe-dev-mcp-server
需要配置的环境变量
FRAPPE_PATHPath to your Frappe/ERPNext bench directory (defaults to current directory if not specified)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmfrappe-dev-mcp-server1.0.1

工具

29

收录的工具列表 · 更新于 2 周前

参数类型必填说明
fieldsarray是字段定义数组
modulestring是DocType 所属的模块
app_namestring是Frappe 应用的名称
is_childboolean否
doctype_namestring是DocType 的名称
is_submittableboolean否

详细介绍

Frappe/ERPNext MCP 服务

一个为 Frappe/ERPNext 开发提供 AI 辅助的模型上下文协议(MCP)服务。此服务提供多种工具,可协助创建 DocType、运行 bench 命令、管理应用,以及处理其他 Frappe 开发任务。

功能

  • DocType 创建:自动生成 DocType JSON 定义和 Python 控制器
  • Bench 命令:执行开发工作流所需的 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 Chat 中使用(SSE 传输)

此服务现在支持通过 SSE 传输与 GitHub Copilot Chat 配合使用:

  1. 构建并运行 SSE 服务:

    npm run build
    npm run sse
    
  2. 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"
}

开发

修改此服务:

  1. 编辑 src/ 目录中的文件
  2. 运行 npm run build 编译 TypeScript
  3. 运行 npm run dev,在开发模式下进行测试

要求

  • Node.js 18+
  • Frappe/ERPNext bench 环境
  • 可访问 Frappe bench 命令

许可证

MIT 许可证,详情请参阅 LICENSE 文件

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。