trackmcp
Back to directory
rakeshgangwar

erpnext-mcp-server

View on GitHub

Connect AI assistants to your ERPNext instance via the Model Context Protocol (MCP) using the official Frappe API.

35 stars JavaScriptAI & Machine Learning Updated Oct 14, 2025
agentai-agentserperpnextmcpmodel-context-protocol

Documentation

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

  • `get_doctypes` - Get a list of all available DocTypes
  • `get_doctype_fields` - Get fields list for a specific DocType
  • `get_documents` - Get a list of documents for a specific doctype
  • `get_document` - Get a single document by name, including all child tables
  • `create_document` - Create a new document in ERPNext
  • `update_document` - Update an existing document in ERPNext
  • `delete_document` - Permanently delete a document
  • `submit_document` - Submit a document (set docstatus to 1)
  • `cancel_document` - Cancel a submitted document (set docstatus to 2)
  • `call_method` - Call an ERPNext/Frappe whitelisted server-side API method
  • `run_report` - Run an ERPNext report

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:

bash
npm install

Build the server:

bash
npm run build

For development with auto-rebuild:

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

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:

bash
npm run inspector

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

Usage Examples

Get Customer List

code
erpnext
get_documents

{
  "doctype": "Customer"
}

Get Customer Details

code
erpnext
erpnext://Customer/CUSTOMER001

Create New Item

code
erpnext
create_document

{
  "doctype": "Item",
  "data": {
    "item_code": "ITEM001",
    "item_name": "Test Item",
    "item_group": "Products",
    "stock_uom": "Nos"
  }
}

Get Item Fields

code
erpnext
get_doctype_fields

{
  "doctype": "Item"
}

Frequently asked questions

What is erpnext-mcp-server?

erpnext-mcp-server is Connect AI assistants to your ERPNext instance via the Model Context Protocol (MCP) using the official Frappe API.

How do I install erpnext-mcp-server?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is erpnext-mcp-server open source?

Yes — it is hosted on GitHub at https://github.com/rakeshgangwar/erpnext-mcp-server and has 35 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP