使用说明
ERPNext MCP服务器
该项目提供了一个充当中间件的服务器,将ERPNext/Frappe API功能作为模型上下文协议(MCP)客户端的工具进行公开。它通过将常见的API调用封装到易于使用的Python函数中,简化了与ERPNext的交互。
概述
该项目的核心是 FrappeClient 班级位于 src/utils/frappeclient.py此客户端处理与Frappe/ERPNext实例的身份验证和通信。新功能可以很容易地作为方法添加到这个类中,然后在MCP服务器中注册为工具。
特性
这 FrappeClient 提供了各种ERPNext操作的方法,包括:
- 文件管理:
get_list(doctype, ...):获取文档列表。get_doc(doctype, name, ...):获取单个文档。insert(doc):创建新文档。update(doc):更新现有文档。delete(doctype, name):删除文档。
- 特定业务查询(MCP工具):
get_customer_code(customer_name):按客户名称查找客户代码。get_item_code(item_query):按名称或描述查找项目代码。get_stock_balance(item_code):查询特定物料的库存余额。get_customer_outstanding_balance(customer_code):查询客户的应收账款余额。
- 其他公用设施:
get_pdf(doctype, name, ...):下载PDF格式的文档。rename_doc(doctype, old_name, new_name):重命名文档。
设置和配置
-
克隆存储库:
git clone <repository-url> cd erpnext-mcp-server -
创建虚拟环境: 建议使用虚拟环境来管理项目依赖关系。
# For Unix/macOS python3 -m venv .venv source .venv/bin/activate # For Windows python -m venv .venv .venv\Scripts\activate -
安装依赖项: 此项目使用
uv用于依赖关系管理,其中定义了依赖关系pyproject.toml.这
mcp dev下一步中的命令将处理从以下位置自动创建环境和安装依赖项pyproject.toml. -
配置环境变量: 创建一个
.env项目目录根目录中的文件。此文件将存储ERPNext实例的凭据。向其中添加以下变量:FRAPPE_URL=https://your-erpnext-site.com FRAPPE_API_KEY=your_api_key FRAPPE_API_SECRET=your_api_secret您可以在ERPNext实例中生成API密钥,方法是导航到
User Menu > My Settings > API Access.
用法
配置您的 .env 文件,您可以在开发模式下运行MCP服务器。这将启动服务器并将其连接到MCP检查器,MCP检查器提供了一个与服务器交互的UI。
-
运行服务器: 确保您的虚拟环境已激活。从项目的根目录中,执行以下命令:
uv run mcp dev main.py -
与MCP检查员互动: 此命令将在您的web浏览器中启动MCP检查器。您可以使用它向服务器发送请求、查看工具定义和调试实现。当您更改源代码时,服务器将自动重新加载。
