MCP ExplorerExplorer

Erpnext Mcp Server

@rakeshgangwaron 9 months ago
11 MIT
FreeCommunity
AI Systems
#agent#ai-agents#erp#erpnext#mcp#model-context-protocol
Connect AI assistants to your ERPNext instance via the Model Context Protocol (MCP) using the official Frappe API.

Overview

What is Erpnext Mcp Server

The erpnext-mcp-server is a Model Context Protocol server designed for integrating AI assistants with ERPNext using the official Frappe API. It allows AI tools to interact with ERPNext data and functionalities seamlessly.

Use cases

Use cases for the erpnext-mcp-server include automating data entry in ERPNext, generating reports on demand, retrieving specific document information, and enhancing user interactions with ERPNext through AI assistants.

How to use

To use the erpnext-mcp-server, configure the server with the necessary environment variables such as ERPNEXT_URL, ERPNEXT_API_KEY, and ERPNEXT_API_SECRET. Then, integrate it with AI assistants like Claude by adding the server configuration in the respective application settings.

Key features

Key features include access to ERPNext documents via specific URIs, structured data access in JSON format, authentication tools, and functionalities to create, update, and retrieve documents and reports.

Where to use

The erpnext-mcp-server can be used in various fields including business management, customer relationship management, and any application requiring integration with ERPNext for enhanced data interaction and automation.

Content

ERPNext MCP Server

A Model Context Protocol server for ERPNext integration

This is a TypeScript-based MCP server that provides integration with ERPNext/Frappe API. It enables AI assistants to interact with ERPNext data and functionality through the Model Context Protocol.

Features

Resources

  • Access ERPNext documents via erpnext://{doctype}/{name} URIs
  • JSON format for structured data access

Tools

  • authenticate_erpnext - Authenticate with ERPNext using username and password
  • get_documents - Get a list of documents for a specific doctype
  • create_document - Create a new document in ERPNext
  • update_document - Update an existing document in ERPNext
  • run_report - Run an ERPNext report
  • get_doctype_fields - Get fields list for a specific DocType
  • get_doctypes - Get a list of all available DocTypes

Configuration

The server requires the following environment variables:

  • ERPNEXT_URL - The base URL of your ERPNext instance
  • ERPNEXT_API_KEY (optional) - API key for authentication
  • ERPNEXT_API_SECRET (optional) - API secret for authentication

Development

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Installation

To use with Claude Desktop, add the server config:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On 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"
      }
    }
  }
}

To use with Claude in VSCode, add the server config to:

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

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:

npm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

Usage Examples

Authentication

<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>

Get Customer List

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

Get Customer Details

<access_mcp_resource>
<server_name>erpnext</server_name>
<uri>erpnext://Customer/CUSTOMER001</uri>
</access_mcp_resource>

Create New Item

<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>

Get Item Fields

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

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers