Skip to content
Agentmart
Submit a tool

Pacioli — the ERPNext broker you can hand the books

Governed agent access to ERPNext — MCP + A2A doors, one spine.

Connector by john-broadway · GitHub account verified by the MCP Registry

IndexedApache-2.0Local (stdio)★ 5
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/john-broadway-pacioli

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Governed agent access to ERPNext — MCP + A2A doors, one spine. No debit without a credit.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
9 read · 4 write · 0 delete · 3 not yet classified
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Tools by what they do 16

Read from the source code; the running server may list different tools.

Read 9 · Look things up without changing anything.

  • get_accounts_settings
  • get_reposts
  • pacioli_find_tools
  • plan_cancel
  • plan_cascade_cancel
  • plan_reconcile
  • plan_submit
  • prove_verify
  • workflow_status

Write 4 · Create, change, send or run things.

  • cascade_cancel
  • pacioli_call
  • reconcile
  • request_workflow_transition

Not yet classified 3 · We could not tell from the name and description.

  • pacioli_tool_schema
  • prove_orphans
  • sweep_gl_entries

Network hosts it talks to 4

  • erp.invalid · found in code
  • github.com · found in code
  • glama.ai · found in code
  • raw.githubusercontent.com · found in code

Files it touches

  • /home/frappe/pacioli-seat
  • /home/frappe/pacioli-seat/seat.secret
  • /root/.pacioli/refs/erpnext-16/erpnext/accounts/doctype/budget/budget.py
  • /root/.pacioli/refs/erpnext-16/erpnext/assets/doctype/asset_repair/asset_repair.py
  • /root/.pacioli/refs/erpnext-16/erpnext/manufacturing/doctype/bom_creator/bom_creator.py
  • /root/.pacioli/refs/erpnext-16/erpnext/projects/doctype/timesheet/timesheet.py

Tools (16)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • cascade_cancel

    Execute a recorded cascade-cancel plan under a live human-minted marker: cancel every document in the frozen graph in order (dependents first, target last, docstatus 1 -> 2). Re-checks the graph is unchanged since planning and each node's freshness + period-lock before its cancel. Fail-stop: on the first failure it STOPS and returns exactly what was cancelled and where it stopped (ok is true only if ALL cancelled). The marker is spent if any document was cancelled. ERPNext's own cancel-blocks are honored, never bypassed.

  • get_accounts_settings

    OPERATOR-ONLY (local CLI door): read named Accounts Settings fields — the immutable-ledger posture snapshot for close --reconcile. Refused on every agent door.

  • get_reposts

    OPERATOR-ONLY (local CLI door): Repost Accounting Ledger documents created in [since, until] for the target's pinned company — second-generation attribution for close --reconcile. Refused on every agent door.

  • pacioli_call

    Dispatch one catalog tool through the FULL governed spine — the same gates, receipts and refusals as calling it directly, result returned verbatim. `tool` is the exact catalog name; `arguments` is that tool's own arguments object, and EVERYTHING the tool takes goes inside it — pacioli_target, consent_token, plan_id, marker are never valid at this level. Governed writes still require their recorded plan_* and a live human-minted consent marker; the doorway never bypasses, batches or substitutes for either. The doorway does not dispatch itself.

  • pacioli_find_tools

    Search the governed tool catalog by keywords (e.g. 'submit invoice', 'list stock entries', 'cancel payment'). Returns up to `limit` (default 10, max 50) matches as {name, summary} rows — one-line summaries, NOT schemas: read pacioli_tool_schema(name) before calling anything you found. The catalog is per-doctype: get_*/list_* reads; plan_submit/submit_*, plan_cancel/cancel_*, plan_cascade_cancel/cascade_cancel, plan_reconcile/reconcile and amend_* governed writes; workflow_status/request_workflow_transition; prove_verify/prove_orphans. ALL keywords must match, so ZERO results usually means your…

  • pacioli_tool_schema

    The full description and JSON input schema for ONE catalog tool, by exact name (from pacioli_find_tools). Unknown names are refused with near-miss suggestions — never call a tool whose schema you have not read, and never retry a refused name unchanged: pick a suggestion or search again.

  • plan_cancel

    PLAN a document cancel (UNDO): read the posting's live GL rows (what the cancel unwinds), check the linked-submitted-documents blast radius, and record the plan. Refuses when other submitted documents link to this one (use plan_cascade_cancel to govern the whole graph in one consent). Nothing is cancelled. A human then mints a consent marker for the plan_id, out of band — a cancel marker never authorizes a submit, or vice versa — and the matching cancel_<doctype> tool consumes the plan and marker. pacioli_doctype selects the document's DocType (default Sales Invoice) — the plan is BOUND to it.

  • plan_cascade_cancel

    PLAN a CASCADE cancel: discover the full submitted-dependent graph of a document, order it (dependents first, the target last), and record the plan for the WHOLE ordered graph. Refuses a cycle or a graph over the cap. Nothing is cancelled. A human then mints ONE consent marker for the plan_id that authorizes exactly this enumerated graph; the cascade_cancel tool executes the whole planned graph under it. pacioli_doctype selects the target's DocType (default Sales Invoice). Any doctype may appear in the graph; each node is labeled 'modeled' (Sales/Purchase Invoice) or 'generic'.

  • plan_reconcile

    PLAN a governed reconciliation (settling payments against invoices): the agent proposes specific (payment, invoice, amount) tuples; the broker reads each named invoice and payment FRESH, discloses the settlement (per row: which payment settles which invoice, the amount, live pre-outstanding -> projected post-outstanding), a standing note that reconciliation bypasses ERPNext's own freeze belts (the broker enforces the closed-books refusal itself, ERPNext will not), and a note naming the possible system Journal Entry side-effects (exchange gain/loss; credit/debit note). Nothing is posted. A huma…

  • plan_submit

    PLAN a document submit: dry-run the draft via ERPNext's native ledger preview and record the plan. Returns plan_id, the projected GL impact, and risk flags. Nothing lands — but nothing is read-only either: ERPNext's preview runs the real posting machinery and rolls back, so no GL survives the call. Because that rollback is still a write, a bench enforcing consent at the floor gates the preview as well. Pass consent_token with a marker minted for this document's SUBMIT before you plan; the preview does not spend it, and the same marker then spends on the submit itself. The broker's own plan-bou…

  • prove_orphans

    Intent receipts with no committed outcome — mutations whose success was never proven; reconcile each against the document's real docstatus.

  • prove_verify

    Verify the receipt chain (PROVE). Optionally check the head against an off-box-recorded anchor. Also sweeps any queued-consequence submit (e.g. BOM Creator, whose BOM tree builds on a background queue after submit answers) still marked committed_pending_async, attesting the real Completed/Failed result when the worker has landed it, or reporting it still pending.

  • reconcile

    Execute a recorded reconcile plan under a live human-minted marker: settle exactly the pinned allocation set from plan_reconcile. The allocation is NEVER re-supplied here — only plan_id and marker travel — it comes only from the pinned plan graph (the broker's safety control: the agent proposes at plan time, the broker owns and constructs the write). Re-checks per-row freshness, closed-books, and the allocation ceiling against a FRESH read (never the plan's disclosed numbers) before any write; one reconcile call across the whole set; confirms via a readback of each invoice's real post-write ou…

  • request_workflow_transition

    Perform a NON-APPROVING ERPNext Workflow transition (e.g. Draft -> Pending Approval) on a document governed by an active Workflow. Refuses any transition whose next state carries docstatus 1 or 2 — that approving transition belongs to a human with the named role, never the broker — and refuses an action that isn't legal from the document's current state, naming the legal ones. Reversible (a workflow-state move, never a docstatus change), so it takes no consent marker, but writes the intent+outcome receipt pair like every other mutation. pacioli_doctype selects the document's DocType (default S…

  • sweep_gl_entries

    OPERATOR-ONLY (local CLI door): every GL Entry created in [since, until] for the target's pinned company — the close --reconcile audit sweep. Refused on every agent door.

Show 1 more tools
  • workflow_status

    Read the ERPNext Workflow (if any) governing this document: whether one is active, the document's current workflow state, the legal transitions from here (each flagged approving vs non-approving, with its role and self-approval setting), and an honest separation-of-duties risk note. Read-only; unrelated to the plan/marker flow. No active workflow returns workflow_active=false, not an error. pacioli_doctype selects the document's DocType (default Sales Invoice).

Signals

Stars
5
Forks
5
Open issues
0
Weekly downloads
104
Last commit
Oct 15, 2026 (13 days ago)
Last release
Oct 6, 2026 (23 days ago)
Last package publish
Sep 25, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.john-broadway/pacioli
Version
0.40.1
Auth
No auth
Packages
pypi pacioli
License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from john-broadway

Cite this page

Pacioli — the ERPNext broker you can hand the books MCP server. Agent Mart. https://agentmart.dev/connectors/john-broadway-pacioli (last updated 2026-10-24)