Get the FREE Ultimate OpenClaw Setup Guide →

erpnext_mcp_server

ERPNext management, file operations, read-only database access, and ERPNext API integration

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio manotluijiu-erpnext_mcp_server python -m your_app.mcp_server \
  --env DEBUG="true"

How to use

ERPNext MCP Server provides a standardized development and production workflow for managing ERPNext-related MCP capabilities. It supports development with hot-reloading on port 8080 and a production-ready setup on port 8100, integrated with NGINX and supervisor. The server enables ERPNext management tasks, file operations, read-only database access, and ERPNext API integration, making it easier to build, test, and deploy MCP tools and resources within the Frappe/ERPNext ecosystem. You can interact with the MCP server through the development framework commands (mcp-config, mcp-dev, mcp-build, mcp-deploy) to configure entry points, ports, watched paths, and environment variables, as described in the project README. Tools and resources you implement under your app (mcp_server.py, mcp_dev.py, and the mcp tools/resources/prompts) will be exposed via the MCP interface, enabling scripted operations and integrated workflows within ERPNext. To run locally, start the development server using bench-based commands, then access the MCP UI/API exposed on http://localhost:8080 for development and on http://localhost:8100 or your site domain for production.

How to install

Prerequisites:

  • Python 3.8+ and a functioning ERPNext/Frappe bench environment
  • Access to a ERPNext site (e.g., bench site) and the ability to install apps
  • Git and a working internet connection

Installation steps:

  1. Create or install your ERPNext app that will host the MCP server code

  2. Add the MCP development framework to your app (as per the project README):

    In your app's hooks.py

    commands = [ "your_app.mcp_dev.commands" ]

  3. Implement the MCP server structure inside your app, including:

    • your_app/mcp_server.py # Main server entry point
    • your_app/mcp_dev.py # Development framework hookups
    • your_app/mcp/ # Tools, resources, prompts implementations
  4. Initialize and configure the development environment (as per README):

    Initialize development environment

    bench --site your-site.com mcp-config --app your_app_name

    Configure development port (default: 8080)

    bench --site your-site.com mcp-config --dev-port 8080

    Configure production port (default: 8100)

    bench --site your-site.com mcp-config --prod-port 8100

  5. Run the development server to start on port 8080 with live reload:

    bench --site your-site.com mcp-dev

  6. For production deployment, build and deploy as described in the README:

    bench --site your-site.com mcp-build bench --site your-site.com mcp-deploy --reload-nginx --restart-supervisor

Notes:

  • Adjust environment variables via bench mcp-config --set-env or in your deployment environment.
  • Ensure your entry point matches your app's MCP server implementation (e.g., your_app.mcp_server:server).
  • NGINX and supervisor integration will route /mcp/ to your MCP server in production.

Additional notes

Tips and notes:

  • Use bench mcp-config to set the entry point, watched paths, and environment variables; these settings will be used in both development and production setups.
  • When deploying to production, ensure NGINX is configured to proxy /mcp/ correctly and that supervisor is managing the MCP server process.
  • Common issues include port conflicts on 8080/8100; verify ports in both development and production configurations.
  • Document your MCP server capabilities and provide examples of using tools/resources to facilitate onboarding for new developers.
  • Keep your MCP tools modular and well-tested with unit and integration tests to ensure parity between development and production environments.

Related MCP Servers

Sponsor this space

Reach thousands of developers