ERPNext 服务端
这是一个基于 TypeScript 的 MCP 服务器,它提供了与 ERPNext/Frappe API 的集成。通过模型上下文协议,它使人工智能助手能够与 ERPNext 的数据和功能进行交互。
服务介绍
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 实例的基本 URLERPNEXT_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>