Enterich について
Enterichは、外部OAuth認証と専用ERPNextユーザーの権限で動作する、ERPNext会計向けMCPサーバーです。読み取りと書き込みを分けた固定ツールを備え、伝票は下書きまで作成・更新し、ERPNextでの登録は人が行います。
主な機能
- 01会計操作用の固定ツール群
- 02読み取りと書き込みの分離
- 03伝票の下書き作成・更新のみ
- 04ERPNext専用ユーザーの権限内で動作
- 05外部認可サーバーによるトークン検証
活用シーン
- 01請求書、勘定、銀行記録の照会
- 02売掛金・買掛金・総勘定元帳のレポート
- 03人が確認する会計下書きの準備
MCP 対応
Streamable HTTPで固定のERPNext会計ツールをMCPクライアントに提供します。保護リソース認可に対応し、アクセスごとにトークンを検証します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
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.5.0ENTERICH_RESOURCE_URLThe MCP endpoint exactly as clients enter it, https; its path is the one servedENTERICH_ISSUERThe authorization server's issuer, httpsENTERICH_JWKS_URLThe authorization server's signing keys, httpsENTERICH_CLIENT_IDThe OAuth client the agent's tokens are issued toENTERICH_SUBJECTThe agent identity's subENTERICH_REQUIRED_SCOPESScopes required in the token, space-separatedENTERICH_TOKEN_ALGORITHMSシークレットToken signing algorithms accepted, comma-separatedENTERICH_CLOCK_LEEWAYSeconds of clock leeway for token times, 0 to 60ENTERICH_ERPNEXT_URLThe base URL Enterich calls ERPNext atENTERICH_ERPNEXT_HOSTThe Host header sent to ERPNext, by default the URL's hostENTERICH_ERPNEXT_PUBLIC_URLThe base URL people open ERPNext at, for links in resultsENTERICH_ERPNEXT_API_KEYシークレットThe ERPNext agent user's API keyENTERICH_ERPNEXT_API_SECRETシークレットThe ERPNext agent user's API secretENTERICH_COMPANYThe assigned company, exactly as named in ERPNextENTERICH_TOOLSThe operations to offer, comma-separated; by default allENTERICH_MAX_DRAFTS_PER_HOURMost drafts of each type the agent may create in an hour; unset, no limitENTERICH_TIMEZONEIANA time zone for today's date, the ERPNext site'sENTERICH_HOSTThe listen addressENTERICH_PORTThe listen portENTERICH_LOG_LEVELThe level for libraries' log lines: DEBUG, INFO, WARNING or ERRORローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/interlusion/enterich:0.5.0Streamable HTTPツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細

Enterich
ERPNext向けのMCP サーバーです。利用できるツールは短い固定リストに限定され、トークンは外部のOAuth認可サーバーから取得し、権限は1人のERPNextユーザーが持つものに限られます。
ステータス: すべての操作をERPNext v16のAPIモデルに対してテストしており、実際のERPNext v16サイトでも毎週テストしています。変更履歴にリリース一覧を記載しています。
概要
- 独立したサービスであり、Frappeアプリではありません。専用のエージェントユーザーのAPIキーを使ってERPNextのREST APIを呼び出し、それ以外のERPNext認証情報は保持しません。このサービスが何を行っても、そのユーザーに割り当てられたERPNextのロールが上限となります。
- MCP認可仕様に対応するリソースサーバーです。保護されたリソースのメタデータを提供し、トークンがない場合は401を返し、すべてのアクセストークン(発行者、対象者、クライアント、サブジェクト)を自身で検証します。サインインはKeycloakなどの外部認可サーバーで行います。
- 操作は固定リストで、それぞれ固有の目的と入力スキーマを持ち、読み取りと書き込みが分かれています。汎用的なドキュメントアクセス、メソッド呼び出し、ファイルアクセスはありません。
- クライアントに依存しません。 通常のMCP(Streamable HTTP)で通信し、書き込み前の確認をクライアントに求めることはありません。
対象外
- 汎用的なERPNext APIブリッジではありません。DocType、レポート名、メソッド名、フィールドリスト、フィルター式、ファイルパスを入力として受け取るツールは対象外です。
- 投稿するための手段ではありません。ドキュメントを送信、キャンセル、修正、削除、破棄するツールはありません。エージェントが下書きを作成し、人がERPNextで確認して送信します(下書きの確認)。
- Frappe Technologiesとは提携関係になく、同社から推奨も受けていません。ERPNextとFrappeは同社の商標です。
ツール
Enterichでは37個のツールを利用できます。デプロイ環境によっては、利用できるツールが少なくなる場合があります(ENTERICH_TOOLS)。各ツールは1つの会社を対象に動作し、エージェントユーザーにERPNextが許可する権限の範囲内で実行されます。
マスターデータ(REQ-003)
品目。
| ツール | タイトル | 種類 |
|---|---|---|
list_items | 品目を一覧表示 | 読み取り |
get_item | 品目を取得 | 読み取り |
受注から入金まで(REQ-004)
顧客、売上請求書、売掛金。
| ツール | タイトル | 種類 |
|---|---|---|
list_customers | 顧客を一覧表示 | 読み取り |
get_customer | 顧客を取得 | 読み取り |
list_sales_invoices | 売上請求書を一覧表示 | 読み取り |
get_sales_invoice | 売上請求書を取得 | 読み取り |
list_sales_tax_templates | 売上税テンプレートを一覧表示 | 読み取り |
report_accounts_receivable | 売掛金 | 読み取り |
create_draft_sales_invoice | 売上請求書の下書きを作成 | 下書き作成 |
update_draft_sales_invoice | 売上請求書の下書きを更新 | 下書き更新 |
create_draft_sales_return | 売上返品の下書きを作成 | 下書き作成 |
update_draft_sales_return | 売上返品の下書きを更新 | 下書き更新 |
調達から支払いまで(REQ-005)
仕入先、仕入請求書、買掛金。
| ツール | タイトル | 種類 |
|---|---|---|
list_suppliers | 仕入先を一覧表示 | 読み取り |
get_supplier | 仕入先を取得 | 読み取り |
list_purchase_invoices | 仕入請求書を一覧表示 | 読み取り |
get_purchase_invoice | 仕入請求書を取得 | 読み取り |
list_purchase_tax_templates | 仕入税テンプレートを一覧表示 | 読み取り |
report_accounts_payable | 買掛金 | 読み取り |
create_draft_purchase_invoice | 仕入請求書の下書きを作成 | 下書き作成 |
update_draft_purchase_invoice | 仕入請求書の下書きを更新 | 下書き更新 |
create_draft_purchase_return | 仕入返品の下書きを作成 | 下書き作成 |
update_draft_purchase_return | 仕入返品の下書きを更新 | 下書き更新 |
記録からレポートまで(REQ-006)
勘定科目、原価センター、仕訳、元帳、試算表。
| ツール | タイトル | 種類 |
|---|---|---|
list_accounts | 勘定科目の一覧 | 読み取り |
list_cost_centers | 原価センターの一覧 | 読み取り |
list_journal_entries | 仕訳の一覧 | 読み取り |
get_journal_entry | 仕訳の取得 | 読み取り |
report_general_ledger | 総勘定元帳 | 読み取り |
report_trial_balance | 試算表 | 読み取り |
create_draft_journal_entry | 仕訳の下書きの作成 | 下書きの作成 |
update_draft_journal_entry | 仕訳の下書きの更新 | 下書きの更新 |
銀行と現金(REQ-007)
銀行口座、銀行取引、支払い。
| ツール | タイトル | 種類 |
|---|---|---|
list_bank_accounts | 銀行口座の一覧 | 読み取り |
list_bank_transactions | 銀行取引の一覧 | 読み取り |
get_bank_transaction | 銀行取引の取得 | 読み取り |
list_payment_entries | 支払い項目の一覧 | 読み取り |
get_payment_entry | 支払い項目の取得 | 読み取り |
create_draft_payment_entry | 支払い項目の下書きの作成 | 下書きの作成 |
update_draft_payment_entry | 支払い項目の下書きの更新 | 下書きの更新 |
対象範囲
Enterichは自社利用のために保守されています。貢献を歓迎します(貢献方法)。サポートはお約束できません。セキュリティポリシーに記載のとおり、脆弱性は非公開で報告してください。
ドキュメント
docs/README.mdから始めてください。特に重要な内容は次のとおりです。
ライセンス
Apache-2.0。理由:ADR-006。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。