ERPNext

ERPNext

ERPNext / Frappe: read and write any DocType — customers, sales orders, invoices, items, stock and leads — with Frappe's filter syntax, plus a generic resource escape hatch. Token auth against your own instance.

7-day free trial · No credit card · EU-hosted

Ask ERPNext anything

Try a real prompt against ERPNext via AnythingMCP — Claude calls the tools, returns the answer. Press Enter on your own message to install on Cloud.

Install ERPNext on Cloud
ERPNext · live via MCP
Share
Opus 4.7

Claude is AI and can make mistakes. Please double-check responses.

Setup in 2 minutes

  1. 1Start a free trial on cloud.anythingmcp.com.
  2. 2Click ERPNext in the connector store. Paste credentials when prompted.
  3. 3Mint an MCP API key and point your AI client at the generated MCP URL.
Install ERPNext now

Guides for ERPNext

Step-by-step setup for the most popular AI clients.

Setting up ERPNext

From the connector definition itself: where to find the credentials, what they need to be allowed to do, and which API this adapter talks to.

Getting a key

  1. In ERPNext open the user you want the agent to act as → Settings → API Access → Generate Keys. You receive an API key and an API secret; the secret is shown once.
  2. Set ERPNEXT_URL to your instance root (no trailing slash), ERPNEXT_API_KEY and ERPNEXT_API_SECRET.

The Authorization header is token key:secret — lower-case token, the two values joined by a colon. Not Bearer, not Basic. This is the single most common reason a correct ERPNext key 401s.

Everything is a DocType. ERPNext has no per-entity REST paths: /api/resource/{doctype} covers Customer, Sales Order, Sales Invoice, Item, Lead, Stock Entry and every custom DocType your instance defines. erpnext_list_documents and erpnext_get_document are therefore the real API here; the named wrappers below are conveniences over the same route.

fields is not optional in practice. Without it ERPNext returns only name (the primary key). Pass ["name","customer","grand_total","status"] or you will get a list of ids and nothing else — this surprises everyone exactly once.

Filters are a JSON array of triples: [["status","=","Open"],["grand_total",">",1000]], implicitly AND-ed. Operators include =, !=, >, <, >=, <=, like, not like, in, not in, between, is.

Permissions follow the user, per DocType and per role. A restricted user gets a 403 on a DocType they cannot read, and filtered rows on one they can only partly read — so a short answer may be a permissions answer.

Self-hosted, which is the thing to plan for.

  • On AnythingMCP Cloud the instance must be reachable from the public internet on a real hostname with a valid TLS certificate. A self-signed certificate will fail: the connector offers no trust-anything switch.
  • On an internal host (erp.intern, 10.0.0.x), self-host AnythingMCP on the same network and add that host to SSRF_ALLOWED_HOSTS, or the outbound guard refuses the call before it is made.

Writes: erpnext_create_document creates a real document and fires ERPNext's server scripts and notifications.

Your AI is two clicks away from ERPNext.

Install the connector, paste your credentials, ask your AI a question. 7-day free trial, no credit card.