Skip to main content
Glama

ERPNext MCP Server

Model Context Protocol (MCP) server for ERPNext/Frappe REST API

This is a TypeScript-based MCP server that lets AI assistants interact with an ERPNext/Frappe instance via MCP tools and resources.

Features

Resources

  • Read any ERPNext document via erpnext://{doctype}/{name}

  • List available DocTypes via erpnext://DocTypes

Tools

  • get_doctypes - Get a list of all available DocTypes

  • get_doctype_fields - Get a best-effort field list for a DocType (derived from a sample record)

  • 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

Configuration

The server requires the following environment variables:

  • ERPNEXT_URL - The base URL of your ERPNext instance

  • ERPNEXT_API_KEY - API key for authentication

  • ERPNEXT_API_SECRET - API secret for authentication

Note: This server currently expects API token auth. Username/password auth is not implemented.

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

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>
-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Web3ViraLabs/ERPNext-MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server