Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Enterich

by Interlusionversion 0.3.0i★ –iRuns on your computer
Registry namedev.interlusion/enterich

Install

Overview

Description from the maker (original English)

A service for ERPNext accounting behind OAuth: fixed tools, drafts only, one agent user's rights

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: Streamable HTTP
  • Category: Accounting, finance & tax
  • You need to fill in: ENTERICH_RESOURCE_URL, ENTERICH_ISSUER, ENTERICH_JWKS_URL, ENTERICH_CLIENT_ID, ENTERICH_SUBJECT, ENTERICH_ERPNEXT_URL, ENTERICH_ERPNEXT_PUBLIC_URL, ENTERICH_ERPNEXT_API_KEY, ENTERICH_ERPNEXT_API_SECRET, ENTERICH_COMPANY

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: ENTERICH_RESOURCE_URL, ENTERICH_ISSUER, ENTERICH_JWKS_URL, ENTERICH_CLIENT_ID, ENTERICH_SUBJECT, ENTERICH_REQUIRED_SCOPES, ENTERICH_TOKEN_ALGORITHMS, ENTERICH_CLOCK_LEEWAY, ENTERICH_ERPNEXT_URL, ENTERICH_ERPNEXT_HOST, ENTERICH_ERPNEXT_PUBLIC_URL, ENTERICH_ERPNEXT_API_KEY, ENTERICH_ERPNEXT_API_SECRET, ENTERICH_COMPANY, ENTERICH_TOOLS, ENTERICH_MAX_DRAFTS_PER_HOUR, ENTERICH_TIMEZONE, ENTERICH_HOST, ENTERICH_PORT, ENTERICH_LOG_LEVEL

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "enterich": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "ENTERICH_RESOURCE_URL",
        "-e",
        "ENTERICH_ISSUER",
        "-e",
        "ENTERICH_JWKS_URL",
        "-e",
        "ENTERICH_CLIENT_ID",
        "-e",
        "ENTERICH_SUBJECT",
        "-e",
        "ENTERICH_REQUIRED_SCOPES",
        "-e",
        "ENTERICH_TOKEN_ALGORITHMS",
        "-e",
        "ENTERICH_CLOCK_LEEWAY",
        "-e",
        "ENTERICH_ERPNEXT_URL",
        "-e",
        "ENTERICH_ERPNEXT_HOST",
        "-e",
        "ENTERICH_ERPNEXT_PUBLIC_URL",
        "-e",
        "ENTERICH_ERPNEXT_API_KEY",
        "-e",
        "ENTERICH_ERPNEXT_API_SECRET",
        "-e",
        "ENTERICH_COMPANY",
        "-e",
        "ENTERICH_TOOLS",
        "-e",
        "ENTERICH_MAX_DRAFTS_PER_HOUR",
        "-e",
        "ENTERICH_TIMEZONE",
        "-e",
        "ENTERICH_HOST",
        "-e",
        "ENTERICH_PORT",
        "-e",
        "ENTERICH_LOG_LEVEL",
        "ghcr.io/interlusion/enterich:0.3.0"
      ],
      "env": {
        "ENTERICH_RESOURCE_URL": "your-value",
        "ENTERICH_ISSUER": "your-value",
        "ENTERICH_JWKS_URL": "your-value",
        "ENTERICH_CLIENT_ID": "your-value",
        "ENTERICH_SUBJECT": "your-value",
        "ENTERICH_REQUIRED_SCOPES": "your-value",
        "ENTERICH_TOKEN_ALGORITHMS": "your-value",
        "ENTERICH_CLOCK_LEEWAY": "your-value",
        "ENTERICH_ERPNEXT_URL": "your-value",
        "ENTERICH_ERPNEXT_HOST": "your-value",
        "ENTERICH_ERPNEXT_PUBLIC_URL": "your-value",
        "ENTERICH_ERPNEXT_API_KEY": "your-value",
        "ENTERICH_ERPNEXT_API_SECRET": "your-value",
        "ENTERICH_COMPANY": "your-value",
        "ENTERICH_TOOLS": "your-value",
        "ENTERICH_MAX_DRAFTS_PER_HOUR": "your-value",
        "ENTERICH_TIMEZONE": "your-value",
        "ENTERICH_HOST": "your-value",
        "ENTERICH_PORT": "your-value",
        "ENTERICH_LOG_LEVEL": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add enterich --env ENTERICH_RESOURCE_URL=your-value --env ENTERICH_ISSUER=your-value --env ENTERICH_JWKS_URL=your-value --env ENTERICH_CLIENT_ID=your-value --env ENTERICH_SUBJECT=your-value --env ENTERICH_REQUIRED_SCOPES=your-value --env ENTERICH_TOKEN_ALGORITHMS=your-value --env ENTERICH_CLOCK_LEEWAY=your-value --env ENTERICH_ERPNEXT_URL=your-value --env ENTERICH_ERPNEXT_HOST=your-value --env ENTERICH_ERPNEXT_PUBLIC_URL=your-value --env ENTERICH_ERPNEXT_API_KEY=your-value --env ENTERICH_ERPNEXT_API_SECRET=your-value --env ENTERICH_COMPANY=your-value --env ENTERICH_TOOLS=your-value --env ENTERICH_MAX_DRAFTS_PER_HOUR=your-value --env ENTERICH_TIMEZONE=your-value --env ENTERICH_HOST=your-value --env ENTERICH_PORT=your-value --env ENTERICH_LOG_LEVEL=your-value -- docker run -i --rm -e ENTERICH_RESOURCE_URL -e ENTERICH_ISSUER -e ENTERICH_JWKS_URL -e ENTERICH_CLIENT_ID -e ENTERICH_SUBJECT -e ENTERICH_REQUIRED_SCOPES -e ENTERICH_TOKEN_ALGORITHMS -e ENTERICH_CLOCK_LEEWAY -e ENTERICH_ERPNEXT_URL -e ENTERICH_ERPNEXT_HOST -e ENTERICH_ERPNEXT_PUBLIC_URL -e ENTERICH_ERPNEXT_API_KEY -e ENTERICH_ERPNEXT_API_SECRET -e ENTERICH_COMPANY -e ENTERICH_TOOLS -e ENTERICH_MAX_DRAFTS_PER_HOUR -e ENTERICH_TIMEZONE -e ENTERICH_HOST -e ENTERICH_PORT -e ENTERICH_LOG_LEVEL ghcr.io/interlusion/enterich:0.3.0

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "enterich": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "ENTERICH_RESOURCE_URL",
        "-e",
        "ENTERICH_ISSUER",
        "-e",
        "ENTERICH_JWKS_URL",
        "-e",
        "ENTERICH_CLIENT_ID",
        "-e",
        "ENTERICH_SUBJECT",
        "-e",
        "ENTERICH_REQUIRED_SCOPES",
        "-e",
        "ENTERICH_TOKEN_ALGORITHMS",
        "-e",
        "ENTERICH_CLOCK_LEEWAY",
        "-e",
        "ENTERICH_ERPNEXT_URL",
        "-e",
        "ENTERICH_ERPNEXT_HOST",
        "-e",
        "ENTERICH_ERPNEXT_PUBLIC_URL",
        "-e",
        "ENTERICH_ERPNEXT_API_KEY",
        "-e",
        "ENTERICH_ERPNEXT_API_SECRET",
        "-e",
        "ENTERICH_COMPANY",
        "-e",
        "ENTERICH_TOOLS",
        "-e",
        "ENTERICH_MAX_DRAFTS_PER_HOUR",
        "-e",
        "ENTERICH_TIMEZONE",
        "-e",
        "ENTERICH_HOST",
        "-e",
        "ENTERICH_PORT",
        "-e",
        "ENTERICH_LOG_LEVEL",
        "ghcr.io/interlusion/enterich:0.3.0"
      ],
      "env": {
        "ENTERICH_RESOURCE_URL": "your-value",
        "ENTERICH_ISSUER": "your-value",
        "ENTERICH_JWKS_URL": "your-value",
        "ENTERICH_CLIENT_ID": "your-value",
        "ENTERICH_SUBJECT": "your-value",
        "ENTERICH_REQUIRED_SCOPES": "your-value",
        "ENTERICH_TOKEN_ALGORITHMS": "your-value",
        "ENTERICH_CLOCK_LEEWAY": "your-value",
        "ENTERICH_ERPNEXT_URL": "your-value",
        "ENTERICH_ERPNEXT_HOST": "your-value",
        "ENTERICH_ERPNEXT_PUBLIC_URL": "your-value",
        "ENTERICH_ERPNEXT_API_KEY": "your-value",
        "ENTERICH_ERPNEXT_API_SECRET": "your-value",
        "ENTERICH_COMPANY": "your-value",
        "ENTERICH_TOOLS": "your-value",
        "ENTERICH_MAX_DRAFTS_PER_HOUR": "your-value",
        "ENTERICH_TIMEZONE": "your-value",
        "ENTERICH_HOST": "your-value",
        "ENTERICH_PORT": "your-value",
        "ENTERICH_LOG_LEVEL": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "enterich": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "ENTERICH_RESOURCE_URL",
        "-e",
        "ENTERICH_ISSUER",
        "-e",
        "ENTERICH_JWKS_URL",
        "-e",
        "ENTERICH_CLIENT_ID",
        "-e",
        "ENTERICH_SUBJECT",
        "-e",
        "ENTERICH_REQUIRED_SCOPES",
        "-e",
        "ENTERICH_TOKEN_ALGORITHMS",
        "-e",
        "ENTERICH_CLOCK_LEEWAY",
        "-e",
        "ENTERICH_ERPNEXT_URL",
        "-e",
        "ENTERICH_ERPNEXT_HOST",
        "-e",
        "ENTERICH_ERPNEXT_PUBLIC_URL",
        "-e",
        "ENTERICH_ERPNEXT_API_KEY",
        "-e",
        "ENTERICH_ERPNEXT_API_SECRET",
        "-e",
        "ENTERICH_COMPANY",
        "-e",
        "ENTERICH_TOOLS",
        "-e",
        "ENTERICH_MAX_DRAFTS_PER_HOUR",
        "-e",
        "ENTERICH_TIMEZONE",
        "-e",
        "ENTERICH_HOST",
        "-e",
        "ENTERICH_PORT",
        "-e",
        "ENTERICH_LOG_LEVEL",
        "ghcr.io/interlusion/enterich:0.3.0"
      ],
      "env": {
        "ENTERICH_RESOURCE_URL": "your-value",
        "ENTERICH_ISSUER": "your-value",
        "ENTERICH_JWKS_URL": "your-value",
        "ENTERICH_CLIENT_ID": "your-value",
        "ENTERICH_SUBJECT": "your-value",
        "ENTERICH_REQUIRED_SCOPES": "your-value",
        "ENTERICH_TOKEN_ALGORITHMS": "your-value",
        "ENTERICH_CLOCK_LEEWAY": "your-value",
        "ENTERICH_ERPNEXT_URL": "your-value",
        "ENTERICH_ERPNEXT_HOST": "your-value",
        "ENTERICH_ERPNEXT_PUBLIC_URL": "your-value",
        "ENTERICH_ERPNEXT_API_KEY": "your-value",
        "ENTERICH_ERPNEXT_API_SECRET": "your-value",
        "ENTERICH_COMPANY": "your-value",
        "ENTERICH_TOOLS": "your-value",
        "ENTERICH_MAX_DRAFTS_PER_HOUR": "your-value",
        "ENTERICH_TIMEZONE": "your-value",
        "ENTERICH_HOST": "your-value",
        "ENTERICH_PORT": "your-value",
        "ENTERICH_LOG_LEVEL": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • ENTERICH_RESOURCE_URL required env
    The MCP endpoint exactly as clients enter it, https; its path is the one served
  • ENTERICH_ISSUER required env
    The authorization server's issuer, https
  • ENTERICH_JWKS_URL required env
    The authorization server's signing keys, https
  • ENTERICH_CLIENT_ID required env
    The OAuth client the agent's tokens are issued to
  • ENTERICH_SUBJECT required env
    The agent identity's sub
  • ENTERICH_REQUIRED_SCOPES env
    Scopes required in the token, space-separated
  • ENTERICH_TOKEN_ALGORITHMS env
    Token signing algorithms accepted, comma-separated
  • ENTERICH_CLOCK_LEEWAY env
    Seconds of clock leeway for token times, 0 to 60
  • ENTERICH_ERPNEXT_URL required env
    The base URL Enterich calls ERPNext at
  • ENTERICH_ERPNEXT_HOST env
    The Host header sent to ERPNext, by default the URL's host
  • ENTERICH_ERPNEXT_PUBLIC_URL required env
    The base URL people open ERPNext at, for links in results
  • ENTERICH_ERPNEXT_API_KEY secret required env
    The ERPNext agent user's API key
  • ENTERICH_ERPNEXT_API_SECRET secret required env
    The ERPNext agent user's API secret
  • ENTERICH_COMPANY required env
    The assigned company, exactly as named in ERPNext
  • ENTERICH_TOOLS env
    The operations to offer, comma-separated; by default all
  • ENTERICH_MAX_DRAFTS_PER_HOUR env
    Most drafts of each type the agent may create in an hour; unset, no limit
  • ENTERICH_TIMEZONE env
    IANA time zone for today's date, the ERPNext site's
  • ENTERICH_HOST env
    The listen address
  • ENTERICH_PORT env
    The listen port
  • ENTERICH_LOG_LEVEL env
    The level for libraries' log lines: DEBUG, INFO, WARNING or ERROR

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain interlusion.dev (the registry checks domain ownership)

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Accounting, finance & taxi

  • More stars than 0% of the other 1720 servers in this category
  • Published to the registry more recently than 92% of the other 1720 servers in this category
  • Basic checks equal to or better than 100% of the other 1720 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Enterich safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: ENTERICH_RESOURCE_URL, ENTERICH_ISSUER, ENTERICH_JWKS_URL, ENTERICH_CLIENT_ID, ENTERICH_SUBJECT, ENTERICH_ERPNEXT_URL, ENTERICH_ERPNEXT_PUBLIC_URL, ENTERICH_ERPNEXT_API_KEY, ENTERICH_ERPNEXT_API_SECRET, ENTERICH_COMPANY

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.3.0) reached the registry 3 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Docker on your computer.

What can I use instead?

In the same category: Finance Toolkit, SolidInvoice, Korea Tax Calculator

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Finance Toolkit

by JerBouma

500+ transparent financial methods calculated from raw statements, not third-party endpoints.

Computer or cloud★ 5,496MITUpdated yesterday
Install

SolidInvoice

by SolidInvoice

Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.

Runs in the cloud★ 981MITUpdated 7 days ago
Install

Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.

Runs on your computer★ 97MITUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

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: v0.2.1. Every operation is tested against a model of ERPNext v16's API, and weekly against a real ERPNext v16 site.

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.

| Tool | Title | Kind | | :- | :- | :- | | list_items | List items | read | | get_item | Get item | read |

Order to cash (REQ-004)

Customers, sales invoices, receivables.

| Tool | Title | Kind | | :- | :- | :- | | list_customers | List customers | read | | get_customer | Get customer | read | | list_sales_invoices | List sales invoices | read | | get_sales_invoice | Get sales invoice | read | | list_sales_tax_templates | List sales tax templates | read | | report_accounts_receivable | Accounts receivable | read | | create_draft_sales_invoice | Create draft sales invoice | create draft | | update_draft_sales_invoice | Update draft sales invoice | update draft | | create_draft_sales_return | Create draft sales return | create draft | | update_draft_sales_return | Update draft sales return | update draft |

Procure to pay (REQ-005)

Suppliers, purchase invoices, payables.

| Tool | Title | Kind | | :- | :- | :- | | list_suppliers | List suppliers | read | | get_supplier | Get supplier | read | | list_purchase_invoices | List purchase invoices | read | | get_purchase_invoice | Get purchase invoice | read | | list_purchase_tax_templates | List purchase tax templates | read | | report_accounts_payable | Accounts payable | read | | create_draft_purchase_invoice | Create draft purchase invoice | create draft | | update_draft_purchase_invoice | Update draft purchase invoice | update draft | | create_draft_purchase_return | Create draft purchase return | create draft | | update_draft_purchase_return | Update draft purchase return | update draft |

Record to report (REQ-006)

Accounts, cost centres, journal entries, ledger, trial balance.

| Tool | Title | Kind | | :- | :- | :- | | list_accounts | List accounts | read | | list_cost_centers | List cost centres | read | | list_journal_entries | List journal entries | read | | get_journal_entry | Get journal entry | read | | report_general_ledger | General ledger | read | | report_trial_balance | Trial balance | read | | create_draft_journal_entry | Create draft journal entry | create draft | | update_draft_journal_entry | Update draft journal entry | update draft |

Bank and cash (REQ-007)

Bank accounts, bank transactions, payments.

| Tool | Title | Kind | | :- | :- | :- | | list_bank_accounts | List bank accounts | read | | list_bank_transactions | List bank transactions | read | | get_bank_transaction | Get bank transaction | read | | list_payment_entries | List payment entries | read | | get_payment_entry | Get payment entry | read | | create_draft_payment_entry | Create draft payment entry | create draft | | update_draft_payment_entry | Update draft payment entry | update draft |

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.

Ask PopNx