使用说明
项目简介
本项目是一个基于 Model Context Protocol (MCP) 的服务器,旨在将 AI 助手与 ERPNext 系统集成。它允许 AI 助手通过标准化的 MCP 协议访问 ERPNext 中的数据并执行 ERPNext 的功能,例如读取客户信息、创建销售订单、运行报表等。
主要功能点
- 资源访问: 允许 AI 助手通过 'erpnext://{doctype}/{name}' 格式的 URI 访问 ERPNext 文档数据,以 JSON 格式返回。例如,可以获取特定客户、产品或订单的详细信息。
- 工具调用: 提供一系列工具,允许 AI 助手执行 ERPNext 的操作,包括:
- 'get_documents': 获取指定 DocType 的文档列表。
- 'create_document': 在 ERPNext 中创建新的文档。
- 'update_document': 更新 ERPNext 中已有的文档。
- 'run_report': 运行 ERPNext 报表并获取结果。
- 'get_doctype_fields': 获取指定 DocType 的字段列表。
- 'get_doctypes': 获取 ERPNext 中所有可用的 DocType 列表。
- 身份验证: 支持使用 ERPNext API 密钥进行身份验证,确保数据访问的安全性。
安装步骤
- 安装 Node.js 和 npm: 确保您的系统中已安装 Node.js 和 npm (Node 包管理器)。
- 克隆仓库: 从 GitHub 克隆 'erpnext-server' 仓库到本地。
git clone https://github.com/rakeshgangwar/erpnext-server.git cd erpnext-server - 安装依赖: 在仓库目录下运行 'npm install' 安装项目依赖。
npm install - 构建项目: 运行 'npm run build' 构建 TypeScript 代码。
npm run build
服务器配置
要将此 MCP 服务器与 MCP 客户端(例如 Claude)配合使用,您需要在 MCP 客户端的配置文件中添加服务器配置信息。以下是一个 JSON 格式的配置示例,您需要根据实际情况进行修改。
{ "mcpServers": { "erpnext": { "command": "node", "args": ["/path/to/erpnext-server/build/index.js"], // 请替换为实际的 index.js 文件路径,例如: /Users/yourname/erpnext-server/build/index.js "env": { "ERPNEXT_URL": "http://your-erpnext-instance.com", // 请替换为您的 ERPNext 实例 URL,例如: https://your-erpnext-domain.com "ERPNEXT_API_KEY": "your-api-key", // (可选)ERPNext API 密钥,如果需要身份验证则配置 "ERPNEXT_API_SECRET": "your-api-secret" // (可选)ERPNext API 密钥的 secret } } } }
配置说明:
- '"erpnext"': 服务器名称,在 MCP 客户端中引用此名称。
- '"command": "node"': 启动服务器的命令,这里使用 Node.js 运行 JavaScript 文件。
- '"args": ["/path/to/erpnext-server/build/index.js"]': 启动命令的参数,指向构建后的 'index.js' 文件路径。请务必替换 '/path/to/erpnext-server/build/index.js' 为您本地实际的 'index.js' 文件路径。
- '"env"': 环境变量配置,用于配置 ERPNext 服务器连接信息:
- '"ERPNEXT_URL"': 必填,您的 ERPNext 实例的完整 URL。
- '"ERPNEXT_API_KEY"' 和 '"ERPNEXT_API_SECRET"': 可选,如果您的 ERPNext 实例需要 API 密钥进行身份验证,请配置这两个环境变量。如果您不配置,服务器将尝试使用用户名和密码进行身份验证(工具 'authenticate_erpnext'),但这需要在工具调用中显式提供。
将以上 JSON 配置添加到您的 MCP 客户端配置文件中。具体配置文件位置请参考仓库 README 文档或 MCP 客户端的文档说明。
基本使用方法
配置完成后,启动 MCP 服务器和 MCP 客户端。您可以在 MCP 客户端中使用特定的标签来访问资源和调用工具。
访问资源示例 (获取客户信息):
<access_mcp_resource> <server_name>erpnext</server_name> <uri>erpnext://Customer/CUSTOMER001</uri> </access_mcp_resource>
调用工具示例 (获取客户列表):
<use_mcp_tool> <server_name>erpnext</server_name> <tool_name>get_documents</tool_name> <arguments> { "doctype": "Customer" } </arguments> </use_mcp_tool>
更多使用示例请参考仓库 README 文档。
信息
分类
商业系统