ERPNext MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| safe_mode | No | Safe Mode is the default operating model. Set to '0' to disable sensitive-operation approval. | 1 |
| ERPNEXT_URL | Yes | The URL of your ERPNext instance, e.g. https://your-erpnext.example.com | |
| ERPNEXT_API_KEY | No | Your ERPNext API key (used with ERPNEXT_API_SECRET) | |
| ERPNEXT_ENV_FILE | No | Path to a separate .env file for a specific site. | |
| ERPNEXT_API_SECRET | No | Your ERPNext API secret (used with ERPNEXT_API_KEY) | |
| ERPNEXT_ACCESS_TOKEN | No | OAuth 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
| Capability | Details |
|---|---|
| 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
| Name | Description |
|---|---|
| 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. |
| 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. |
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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