Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AIFire in da houseCheck it out free

erpnext-mcp-server

MCP.Pizza Chef: rakeshgangwar

The erpnext-mcp-server is a TypeScript-based Model Context Protocol server that integrates AI assistants with ERPNext instances using the official Frappe API. It exposes ERPNext documents and functionality as structured JSON resources accessible via MCP URIs, enabling AI models to authenticate, query, create, update documents, run reports, and retrieve metadata about DocTypes. This server facilitates seamless, real-time AI interaction with ERPNext ERP data and workflows.

Use This MCP server To

Authenticate AI assistants with ERPNext using username and password Retrieve lists of ERPNext documents for specific DocTypes Create new ERPNext documents via AI-driven workflows Update existing ERPNext documents programmatically Run ERPNext reports and fetch results through AI queries Fetch metadata about ERPNext DocTypes and their fields Enable AI models to access ERPNext data using standardized MCP URIs

README

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>

erpnext-mcp-server FAQ

How do I configure the erpnext-mcp-server to connect to my ERPNext instance?
Set the environment variables ERPNEXT_URL, ERPNEXT_API_KEY, and ERPNEXT_API_SECRET with your ERPNext instance URL and API credentials.
What authentication methods does the erpnext-mcp-server support?
It supports authentication using ERPNext username and password via the authenticate_erpnext tool.
Can the erpnext-mcp-server create and update ERPNext documents?
Yes, it provides tools to create new documents and update existing ones programmatically.
How does the server expose ERPNext data to AI models?
It exposes ERPNext documents as JSON resources accessible via erpnext:// URIs following the MCP standard.
Is it possible to run ERPNext reports through this MCP server?
Yes, the server includes a run_report tool to execute ERPNext reports and retrieve their data.
What programming language is the erpnext-mcp-server built with?
It is built using TypeScript for robust and type-safe integration.
Can this MCP server be used with multiple AI providers?
Yes, it is provider-agnostic and works with OpenAI, Anthropic Claude, Google Gemini, and other LLMs supporting MCP.
How do I get a list of available DocTypes in ERPNext using this server?
Use the get_doctypes tool to retrieve all available DocTypes from your ERPNext instance.