@casys/mcp-erpnext 3.1.0-beta.7 → 3.1.0-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +57 -14
- package/THIRD_PARTY_NOTICES.txt +655 -0
- package/mcp-erpnext.mjs +1578 -75
- package/package.json +3 -1
- package/ui-dist/buy-evidence-viewer/index.html +2562 -0
- package/ui-dist/chart-viewer/index.html +28 -28
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Casys AI
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -84,9 +84,11 @@ the current version's highlights.
|
|
|
84
84
|
|
|
85
85
|
> **3.1 beta preview:** the beta keeps the 3.0 tool surface and adds a generic
|
|
86
86
|
> document viewer, child tables, document attachments, in-view navigation, and
|
|
87
|
-
> active context.
|
|
88
|
-
>
|
|
89
|
-
>
|
|
87
|
+
> active context. **3.1.0-beta.9** adds read-only Buy evidence capture and an
|
|
88
|
+
> immutable recorded-session viewer. Features remain capability-gated by the MCP
|
|
89
|
+
> host. In particular, downloads require both proxied server tools and the MCP
|
|
90
|
+
> Apps `downloadFile` capability. Buy evidence does not purchase or qualify a
|
|
91
|
+
> live ERP.
|
|
90
92
|
|
|
91
93
|
## Documentation
|
|
92
94
|
|
|
@@ -192,19 +194,20 @@ until it exists. See
|
|
|
192
194
|
|
|
193
195
|
## UI Viewers
|
|
194
196
|
|
|
195
|
-
|
|
197
|
+
Nine interactive [MCP Apps](https://github.com/modelcontextprotocol/ext-apps)
|
|
196
198
|
viewers, registered as `ui://mcp-erpnext/{name}`:
|
|
197
199
|
|
|
198
|
-
| Viewer
|
|
199
|
-
|
|
|
200
|
-
| `doc-viewer`
|
|
201
|
-
| `doclist-viewer`
|
|
202
|
-
| `invoice-viewer`
|
|
203
|
-
| `stock-viewer`
|
|
204
|
-
| `chart-viewer`
|
|
205
|
-
| `kanban-viewer`
|
|
206
|
-
| `kpi-viewer`
|
|
207
|
-
| `funnel-viewer`
|
|
200
|
+
| Viewer | Description | Interactive Features |
|
|
201
|
+
| --------------------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
|
|
202
|
+
| `doc-viewer` | Generic ERPNext document with fields and child tables | Capability-gated attachments, typed navigation, guarded Submit/Cancel, and raw JSON fallback. |
|
|
203
|
+
| `doclist-viewer` | Generic document table with sort, filter, pagination, CSV export | Inline details, typed nested navigation, Submit/Cancel, and compact status filters. |
|
|
204
|
+
| `invoice-viewer` | Sales Orders, Sales Invoices, and Quotations with line totals | Item, stock, party, and payment navigation plus guarded Submit/Cancel actions. |
|
|
205
|
+
| `stock-viewer` | Stock balance table with color-coded qty badges | Item details, recent movements, stock charts, and stock-entry navigation. |
|
|
206
|
+
| `chart-viewer` | Universal chart renderer (12 types via Recharts) | Exact point/series navigation and active-context selection across simple and composed charts. |
|
|
207
|
+
| `kanban-viewer` | Read-write kanban for Task, Opportunity, Issue | Drag-and-drop, inline editing, serialized saves, and typed related-document navigation. |
|
|
208
|
+
| `kpi-viewer` | Big number card with delta, sparkline, trend | Number and trend navigation with bounded active-context selection. |
|
|
209
|
+
| `funnel-viewer` | Trapezoid sales funnel with conversion rates | Period-aware stage navigation and bounded active-context selection. |
|
|
210
|
+
| `buy-evidence-viewer` | Immutable sealed Buy evidence (recorded session only) | Complete, partial, unresolved, and unavailable projections; no live ERP refresh or mutation. |
|
|
208
211
|
|
|
209
212
|
### Navigation and active context
|
|
210
213
|
|
|
@@ -224,6 +227,8 @@ Viewers progressively select the best interaction supported by the host:
|
|
|
224
227
|
direct navigation or context replacement is unavailable.
|
|
225
228
|
- Without these capabilities, local inspection remains available and unsupported
|
|
226
229
|
remote actions are omitted.
|
|
230
|
+
- The Buy evidence viewer is recorded-session only. It does not call server
|
|
231
|
+
tools, refresh live documents, or mutate ERP state.
|
|
227
232
|
|
|
228
233
|
The server supplies typed navigation metadata and the exact `_availableTools`
|
|
229
234
|
allowed for each viewer, so category-filtered deployments do not expose tools
|
|
@@ -247,6 +252,41 @@ npm ci
|
|
|
247
252
|
node build-all.mjs
|
|
248
253
|
```
|
|
249
254
|
|
|
255
|
+
## Buy evidence capture
|
|
256
|
+
|
|
257
|
+
**One** read-only tool and **one** recorded App. They do not purchase, create a
|
|
258
|
+
BOM/RFQ/PO, refresh live documents, replace generic ERP viewers, or qualify a
|
|
259
|
+
live ERPNext instance.
|
|
260
|
+
|
|
261
|
+
- Tool: `erpnext_buy_capture`. Closed DocTypes only (Item, BOM, Item Price,
|
|
262
|
+
Supplier Quotation, Supplier, Price List, UOM, Currency Exchange). Two
|
|
263
|
+
`skipCache` reads must agree on `modified` and the closed projection
|
|
264
|
+
fingerprint. Return is ephemeral canonical JSON + SHA-256 + byte count. The
|
|
265
|
+
caller cannot pass `sourceInstance`, URL, credentials, `capturedAt`, or a
|
|
266
|
+
digest. Digital Thread stores those bytes in its own CAS; this server does not
|
|
267
|
+
keep a second CAS.
|
|
268
|
+
- App: `io.casys.mcp-erpnext.buy-evidence` `3.1.0-beta.9`, resource
|
|
269
|
+
`ui://mcp-erpnext/buy-evidence-viewer` (`text/html;profile=mcp-app`), manifest
|
|
270
|
+
`ui://mcp-erpnext/buy-evidence-manifest` (`application/json`),
|
|
271
|
+
`acceptedActions` = `viewer.session.apply` only. Complete, partial,
|
|
272
|
+
unresolved, and unavailable projections stay labelled. No live DocViewer
|
|
273
|
+
refresh, mutation, or `app.callServerTool`. Session `anchor` is the sealed
|
|
274
|
+
Digital Thread artefact (`provenance.bundleRef`), not a hash of the displayed
|
|
275
|
+
projection.
|
|
276
|
+
- Schemas: `io.casys.mcp-erpnext.buy-source-capture/1.0`,
|
|
277
|
+
`io.casys.mcp-erpnext.buy-recorded-result/1.0`,
|
|
278
|
+
`io.casys.mcp-erpnext.buy-recorded-session/1.0`.
|
|
279
|
+
- The viewer is built with the other MCP Apps
|
|
280
|
+
(`cd src/ui && npm ci && node
|
|
281
|
+
build-all.mjs`). Published JSR/npm artifacts
|
|
282
|
+
include `src/ui/dist/` and the Buy TypeScript module; the HTML resource and
|
|
283
|
+
generated manifest are what a published installation serves.
|
|
284
|
+
|
|
285
|
+
Digital Thread owns configuration/seal (`buy-configuration/1.0`,
|
|
286
|
+
`buy-cost-bundle/1.0`, `buy.capture-configuration-cost@1`,
|
|
287
|
+
`buy.seal-configuration-cost@1`). A qualified
|
|
288
|
+
`commerce.read-erpnext-buy-source@1` binding is required before dispatch.
|
|
289
|
+
|
|
250
290
|
## Tools
|
|
251
291
|
|
|
252
292
|
Record `_list` tools return interactive results via the doclist-viewer with row
|
|
@@ -275,6 +315,9 @@ Quotation, which retain the specialized invoice surface.
|
|
|
275
315
|
drag-and-drop.
|
|
276
316
|
- **Analytics** — Charts (bar, area, treemap, radar, scatter, P&L…), KPIs with
|
|
277
317
|
sparklines, and a sales funnel.
|
|
318
|
+
- **Buy** — Read-only sealed capture of closed commercial documents
|
|
319
|
+
(`erpnext_buy_capture`) and an immutable recorded-session evidence viewer. Not
|
|
320
|
+
a purchase, BOM/RFQ/PO, or live ERP qualification.
|
|
278
321
|
- **Setup** — Company creation and assignable user listing.
|
|
279
322
|
|
|
280
323
|
Full per-tool reference with parameters: [`docs/tools.md`](docs/tools.md).
|