ERPNext 管理、文件操作、只读数据库访问以及 ERPNext API 集成。
本指南旨在为在 Frappe/ERPNext 上开发模型上下文协议(MCP)服务器建立标准化方法,灵感来源于 Doppio 单页应用(SPA)开发工作流。
在你的应用的 hooks.py 中添加 MCP 开发框架:
# 在你的应用的 hooks.py 中
commands = [
"your_app.mcp_dev.commands"
]
# 初始化开发环境
bench --site your-site.com mcp-config --app your_app_name
# 配置开发端口(默认:8080)
bench --site your-site.com m
cp-config --dev-port 8080
# 配置生产端口(默认:8100)
bench --site your-site.com mcp-config --prod-port 8100
# 启动开发服务器
bench --site your-site.com mcp-dev
这将会:
在开发期间:
准备部署时:
# 构建用于生产
bench --site your-site.com mcp-build
这将会:
/mcp/ 提供你的 MCP 服务器# 部署到生产
bench --site your-site.com mcp-deploy --reload-nginx --restart-supervisor
这将会:
https://your-site.com/mcp/ 可用框架提供了一个配置系统来管理你的 MCP 开发环境:
# 查看当前配置
bench --site your-site.com mcp-config
# 更新入口点
bench --site your-site.com mcp-config --entry-point "your_app.mcp_server:server"
# 添加监视路径
bench --site your-site.com mcp-config --add-watch "apps/your_app/your_app/mcp/*.py"
# 设置环境变量
bench --site your-site.com mcp-config --set-env "DEBUG" "true"
开发-生产一致性
开发者体验
生产健壮性
团队协作
组织你的 MCP 服务器代码,确保关注点清晰分离:
your_app/
├── your_app/
│ ├── mcp_server.py # 主服务器入口点
│ ├── mcp/
│ │ ├── __init__.py # 包初始化
│ │ ├── tools/ # MCP 工具实现
│ │ ├── resources/ # MCP 资源实现
│ │ └── prompts/ # MCP 提示实现
│ └── mcp_dev.py # 开发框架
对于大型应用,你可能需要多个 MCP 服务器:
# 配置多个入口点
bench --site your-site.com mcp-config --entry-point "your_app.mcp_server_1:server"
bench --site your-site.com mcp-config --dev-port 8081
# 启动特定服务器
bench --site your-site.com mcp-dev --port 8081
通过遵循这种标准化方法,你可以开发出适用于 Frappe/ERPNext 的健壮、可维护且遵循熟悉模式的 MCP 服务器。
mit