E

ERPNext 服务端

@rakeshgangwar/erpnext-server
1 Stars 87 次浏览 rakeshgangwar 更新于 2026-08-23

这是一个基于 TypeScript 的 MCP 服务器,它提供了与 ERPNext/Frappe API 的集成。通过模型上下文协议,它使人工智能助手能够与 ERPNext 的数据和功能进行交互。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

ERPNext MCP 服务器

用于 ERPNext 集成的模型上下文协议服务器

这是一个基于 TypeScript 的 MCP 服务器,提供与 ERPNext/Frappe API 的集成。它使 AI 助手能够通过模型上下文协议与 ERPNext 数据和功能进行交互。

特性

资源

  • 通过 erpnext://{doctype}/{name} URI 访问 ERPNext 文档
  • 以 JSON 格式访问结构化数据

工具

  • authenticate_erpnext - 使用用户名和密码对 ERPNext 进行身份验证
  • get_documents - 获取特定文档类型的文档列表
  • create_document - 在 ERPNext 中创建新文档
  • update_document - 更新 ERPNext 中现有的文档
  • run_report - 运行 ERPNext 报表
  • get_doctype_fields - 获取特定 DocType 的字段列表
  • get_doctypes - 获取所有可用 DocTypes 的列表

配置

服务器需要以下环境变量:

  • ERPNEXT_URL - 您的 ERPNext 实例的基本 URL
  • ERPNEXT_API_KEY(可选)- 用于身份验证的 API 密钥
  • ERPNEXT_API_SECRET(可选)- 用于身份验证的 API 密钥

开发

安装依赖项:

npm install

构建服务器:

npm run build

对于带有自动重建的开发:

npm run watch

安装

要与 Claude Desktop 一起使用,请添加服务器配置:

在 MacOS 上: ~/Library/Application Support/Claude/claude_desktop_config.json
在 Windows 上: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "erpnext": {
      "command": "node",
      "args": ["/path/to/erpnext-server/build/index.js"],
      "env": {
        "ERPNEXT_URL": "http://your-erpnext-instance.com",
        "ERPNEXT_API_KEY": "your-api-key",
        "ERPNEXT_API_SECRET": "your-api-secret"
      }
    }
  }
}

要与 VSCode 中的 Claude 一起使用,请将服务器配置添加到:

在 MacOS 上: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
在 Windows 上: %APPDATA%/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

调试

由于 MCP 服务器通过 stdio 通信,调试可能会很困难。我们建议使用 MCP Inspector,它作为包脚本提供:

npm run inspector

Inspector 将提供一个 URL,以便您在浏览器中访问调试工具。

使用示例

身份验证

<use_mcp_tool>
<server_name>erpnext</server_name>
<tool_name>authenticate_erpnext</tool_name>
<arguments>
{
  "username": "your-username",
  "password": "your-password"
}
</arguments>
</use_mcp_tool>

获取客户列表

<use_mcp_tool>
<server_name>erpnext</server_name>
<tool_name>get_documents</tool_name>
<arguments>
{
  "doctype": "Customer"
}
</arguments>
</use_mcp_tool>

获取客户详情

<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>create_document</tool_name>
<arguments>
{
  "doctype": "Item",
  "data": {
    "item_code": "ITEM001",
    "item_name": "Test Item",
    "item_group": "Products",
    "stock_uom": "Nos"
  }
}
</arguments>
</use_mcp_tool>

获取项目字段

<use_mcp_tool>
<server_name>erpnext</server_name>
<tool_name>get_doctype_fields</tool_name>
<arguments>
{
  "doctype": "Item"
}
</arguments>
</use_mcp_tool>