
Enterich
dev.interlusionPublished by interlusion.devv0.4.0Updated Nov 7, 2026
A service for ERPNext accounting behind OAuth: fixed tools, drafts only, one agent user's rights
Overview
An ERPNext accounting MCP server behind OAuth: a fixed set of read and draft-only tools, limited to one ERPNext agent user's rights.
- What you can do
- List and read master data and customers/suppliers
- List and read sales and purchase invoices, tax templates, receivables and payables
- List and read accounts, cost centres, journal entries, general ledger and trial balance
- List and read bank accounts, bank transactions and payment entries
- Create and update drafts of sales invoices, sales returns, purchase invoices, purchase returns, journal entries and payment entries
- When to use it
- Useful when an assistant should look up ERPNext accounting data or prepare draft documents for a person to review and submit, without giving it a general ERPNext API bridge or posting rights.
- Requirements
- Runs as a local service (container image, Streamable HTTP) on a desktop. Needs an ERPNext site URL, public URL, company name, and an ERPNext agent user's API key and secret (ENTERICH_ERPNEXT_API_KEY, ENTERICH_ERPNEXT_API_SECRET). Also needs an external OAuth authorization server: issuer, JWKS URL, client ID, subject, resource URL, plus optional scopes and token algorithms.
Installation
In SourceWeft
- Open Enterich in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
[Enterich's logo: a drake in a cap, holding a microphone, with an MCP chain]
Enterich
An MCP server for ERPNext with hard limits: a short, fixed list of tools, tokens from an external OAuth authorization server, and only the rights of one ERPNext user.
Status: Every operation is tested against a model of ERPNext v16's API, and weekly against a real ERPNext v16 site. The changelog lists the releases.
What it is
- A separate service, not a Frappe app. It calls ERPNext's REST API with the API key of a dedicated agent user and holds no other ERPNext credential. Whatever the service does, ERPNext's role for that user is the upper limit.
- A resource server for the MCP authorization spec. It serves the protected resource metadata, answers a missing token with 401, and checks every access token itself (issuer, audience, client, subject). Sign-in happens at an external authorization server such as Keycloak.
- A fixed list of operations, each with its own purpose and input schema, read and write separated. No generic document access, method calls or file access.
- Client-neutral. It speaks plain MCP (Streamable HTTP) and doesn't rely on any client asking before a write.
What it is not
- Not a general ERPNext API bridge: tools that take a DocType, report name, method name, field list, filter expression or file path as input are out of scope.
- Not a way to post: no tool submits, cancels, amends, deletes or discards a document. The agent prepares drafts; a person reviews and submits them in ERPNext (reviewing drafts).
- Not affiliated with or endorsed by Frappe Technologies. ERPNext and Frappe are their trademarks.
Tools
Enterich offers 37 tools. A deployment may offer fewer (ENTERICH_TOOLS); every tool works on one company, within the rights ERPNext gives the agent user.
Master data (REQ-003)
Items.
Order to cash (REQ-004)
Customers, sales invoices, receivables.
Procure to pay (REQ-005)
Suppliers, purchase invoices, payables.
Record to report (REQ-006)
Accounts, cost centres, journal entries, ledger, trial balance.
Bank and cash (REQ-007)
Bank accounts, bank transactions, payments.
Scope
Enterich is maintained for our own use. Contributions are welcome (contributing); support isn't promised. Report vulnerabilities privately, as the security policy describes.
Documentation
Start at docs/README.md. The most important parts:
- Requirement specifications: the core, and the operations by accounting area
- Architecture and decisions
- Configuration
Licence
Apache-2.0. Why: ADR-006.
Source: README.md at commit 0ff4da7
Tools
0Version history
3- v0.4.0LatestNov 7, 2026
- v0.3.0Nov 3, 2026
- v0.2.1Nov 1, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts