ERPNext MCP 服务器
用于 ERPNext 集成的模型上下文协议服务器
这是一个基于 TypeScript 的 MCP 服务器,提供与 ERPNext/Frappe API 的集成。它使 AI 助手能够通过模型上下文协议 (MCP) 与 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- 获取所有可用 DocType 的列表
Related MCP server: Prefect MCP Server
配置
服务器需要以下环境变量:
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检查器将提供一个 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>