Skip to main content
Glama
Cec1c

ERPNext MCP

by Cec1c

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
safe_modeNoSafe Mode is the default operating model. Set to '0' to disable sensitive-operation approval.1
ERPNEXT_URLYesThe URL of your ERPNext instance, e.g. https://your-erpnext.example.com
ERPNEXT_API_KEYNoYour ERPNext API key (used with ERPNEXT_API_SECRET)
ERPNEXT_ENV_FILENoPath to a separate .env file for a specific site.
ERPNEXT_API_SECRETNoYour ERPNext API secret (used with ERPNEXT_API_KEY)
ERPNEXT_ACCESS_TOKENNoOAuth bearer token for authentication (alternative to API key/secret)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
erpnext_config_statusA

Inspect resolved target and safe_mode without contacting ERPNext. Legacy allowlists are inactive.

erpnext_api_requestA

Call any same-origin ERPNext HTTP route, including API v1/v2, JSON/form/multipart/binary.

Unknown methods become confirmable sensitive plans in safe_mode. dry_run never sends the
requested mutation; it saves the exact request and reports what could/could not be verified.
erpnext_call_methodB

Call any Frappe-exposed RPC method. Unlisted methods need review, not an allowlist edit.

erpnext_batch_prepareA

Prepare an exact ordered batch. Verify source count; one user confirmation covers the batch.

Bind a later JSON body pointer to an earlier response using bindings, e.g.
{"/doc": {"step": 0, "pointer": "/data"}}. Batches are not atomic and stop on error.
erpnext_batch_prepare_from_artifactB

Prepare a complete JSON array of requests from a finalized source artifact.

erpnext_plan_listB

Recover recent plan IDs after a lost tool response; list running/unknown receipts before retrying.

erpnext_plan_inspectA

Read plan status, execution receipts and the full immutable request before confirming it.

erpnext_plan_executeA

Execute the frozen plan once. Supply actual in-scope user approval text for sensitive plans.

This records agent-attested consent, not independently verified human identity. Do not create another plan to retry an ambiguous write. Inspect its receipt and upstream state.

erpnext_result_readA

Read complete result/input bytes in bounded base64 chunks. Optional JSON pointer selects a subtree.

erpnext_input_beginA

Begin a local artifact upload using byte length and SHA-256 calculated from the source.

erpnext_input_appendA

Append one local input chunk (up to 256 KiB). Out-of-order or excess bytes are rejected.

erpnext_input_finalizeB

Verify complete source length and SHA-256. Only finalized inputs can be executed/uploaded.

erpnext_doc_createC

Create a document using native REST. safe_mode preflights; expected_lengths checks child rows.

erpnext_doc_updateB

Update native fields. In safe_mode pin modified for Frappe save conflict checks; child-table replacement is sensitive.

erpnext_doc_deleteC

Prepare/delete any document allowed by ERPNext. safe_mode requires plan confirmation; no draft-only MCP gate.

erpnext_doc_submitB

Submit a frozen current document through Frappe. Sensitive: may post stock/accounting effects.

erpnext_doc_cancelB

Cancel through Frappe. Sensitive; preflight cannot simulate ledger reversal or custom hooks.

erpnext_doc_listB

List one page without a hidden limit clamp. has_more is unknown for a full page without total.

erpnext_doc_getA

Read a complete document; large documents are returned through result artifacts.

erpnext_doc_mapC

Generate a common mapped document, then freeze any requested save. Use call_method for other mappings.

erpnext_bom_create_revisionA

Generate and freeze a draft revision of a submitted BOM; source remains unchanged.

erpnext_work_order_make_stock_entryC

Generate Stock Entry using ERPNext; freeze create/submit as one confirmable dependent batch.

erpnext_naming_series_configureC

Freeze native naming-series controller requests as one sensitive plan; no separate whitelist.

erpnext_health_checkA

Check ERPNext connectivity, authenticated user, and installed app versions.

erpnext_doctype_schemaA

Return ERPNext DocType metadata: fields, required fields, child tables, links, and docstatus support.

erpnext_bom_preflightA

Preflight an existing BOM or proposed BOM payload without writing. Resolves Routing operations and checks known ERPNext manufacturing rules such as positive operation time.

erpnext_link_searchA

Search readable ERPNext Link field candidates, such as Customer, Item, Account, Warehouse, or Supplier.

erpnext_report_runC

Run an allowed ERPNext report, such as General Ledger, Accounts Receivable, or Stock Balance.

erpnext_stock_balanceB

Return stock quantities for an item and warehouse using ERPNext bin details.

erpnext_process_traceA

Trace one ERPNext business flow across sales, buying, production planning, subcontracting, work orders, job cards, stock, quality inspections, delivery, and cost ledgers.

erpnext_party_balanceC

Return ERPNext accounting balance for a Customer or Supplier.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/Cec1c/ERPNext-MCP'

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