@lerianstudio/matcher-mcp 5.0.0-beta.62 → 5.0.0-beta.63
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/README.md +27 -12
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -44,13 +44,16 @@ as the matcher app, which also pins the embedded OpenAPI spec to the matched
|
|
|
44
44
|
matcher version. The bearer token the relay forwards is never baked into the
|
|
45
45
|
image.
|
|
46
46
|
|
|
47
|
-
It speaks **Streamable HTTP** and binds `MCP_PORT` (default `4019`)
|
|
48
|
-
|
|
47
|
+
It speaks **Streamable HTTP** and binds `MCP_PORT` (default `4019`). The server
|
|
48
|
+
also hosts the optional console copilot and voice routes:
|
|
49
49
|
|
|
50
50
|
| Method | Path | Purpose |
|
|
51
51
|
|--------|------------|--------------------------------------------------|
|
|
52
52
|
| `GET` | `/healthz` | Plain liveness probe. |
|
|
53
53
|
| `POST` | `/mcp` | The Streamable HTTP MCP endpoint clients connect to. |
|
|
54
|
+
| `POST` | `/agent/turns` | Stream an authenticated copilot turn when a provider is configured. |
|
|
55
|
+
| `GET` | `/agent/transcribe` | Report voice-transcription availability for the authenticated caller. |
|
|
56
|
+
| `POST` | `/agent/transcribe` | Transcribe an authenticated voice recording when configured. |
|
|
54
57
|
|
|
55
58
|
Point any Streamable-HTTP MCP client at `POST /mcp` and send the matcher bearer
|
|
56
59
|
token as the `Authorization` header.
|
|
@@ -73,6 +76,9 @@ Three options for `<mcp-url>`:
|
|
|
73
76
|
- **Local matcher dev (repo clone).** `make up` brings the relay up as a compose
|
|
74
77
|
service on `:4019` alongside the rest of the stack (`restart: unless-stopped`,
|
|
75
78
|
so it stays up — no separate process to babysit). Use `http://localhost:4019/mcp`.
|
|
79
|
+
If Matcher runs on the host, stop both Compose `app` and `mcp` first and start
|
|
80
|
+
the host relay with `MATCHER_API_URL=http://localhost:4018`; the Compose relay
|
|
81
|
+
targets the Docker-only name `app:4018`. See [`../docs/development.md`](../docs/development.md).
|
|
76
82
|
- **Run it standalone with `npx`.** `@lerianstudio/matcher-mcp` is a **public**
|
|
77
83
|
package (Apache-2.0) — no registry auth needed. Start the relay (binds `:4019`)
|
|
78
84
|
pointed at your Matcher API:
|
|
@@ -264,13 +270,14 @@ full embedded OpenAPI spec.
|
|
|
264
270
|
| `fee_schedule_*` | Manage fee schedules — create, list, get, update, delete, and simulate. |
|
|
265
271
|
| `fee_rule_*` | Manage fee rules attached to schedules — create, list, get, update, delete. |
|
|
266
272
|
| `match_rule_*` | Manage a context's match rules — create, list, get, update, delete, reorder. |
|
|
267
|
-
| `context_*` | Manage reconciliation contexts — create, list, get, update,
|
|
268
|
-
| `source_*` | Manage a context's data sources — create, list, get, update,
|
|
273
|
+
| `context_*` | Manage reconciliation contexts — create, list, get, update, archive, restore, setup progress, and next-step guidance. |
|
|
274
|
+
| `source_*` | Manage a context's data sources — create, list, get, update, archive, and restore. |
|
|
275
|
+
| `field_map_*` | Manage field maps — create, list by context, get by source, update, and delete. |
|
|
269
276
|
| `match_run_*` | Drive reconciliation runs — start a run, list runs, get a run, inspect match groups. |
|
|
270
277
|
| `exception_*` | Work reconciliation exceptions — list/get, history and comments (list/add/delete), per-exception action verbs (dispatch, open-dispute, force-match, adjust-entry), and cross-exception bulk actions (assign/resolve/dispatch). |
|
|
271
278
|
| `dispute_*` | Manage the dispute lifecycle — list, get, close, submit evidence. |
|
|
272
|
-
| `ingestion_*` | Inspect a context's import lifecycle — list jobs, get a job, list a job's per-row errors and transactions, search transactions, ignore a transaction
|
|
273
|
-
| `dashboard_*` | Read
|
|
279
|
+
| `ingestion_*` | Inspect a context's import lifecycle — list jobs, get a job, list a job's per-row errors and transactions, search transactions, ignore a transaction, and upload files through `ingestion_upload` or `ingestion_upload_begin`. |
|
|
280
|
+
| `dashboard_*` | Read combined aggregates and focused slices (cash-impact, match-rate, metrics, SLA, source-breakdown, volume). The console uses the aggregate for volume, match rate and SLA, plus separate metrics, source-breakdown and cash-impact queries. Only standalone volume, match-rate and SLA reads have no console consumer. |
|
|
274
281
|
| `report_*` | Pull a context's reports — paginated matched/unmatched/variance reads, the summary read, four counts (exceptions/matched/unmatched/transactions), and five base64 exports (exceptions/matched/summary/unmatched/variance). |
|
|
275
282
|
| `workspace_usage` | Read the caller's own commercial state and free-tier consumption — plan, billing status, both trial axes (days remaining, matched lines against the cap), the expiry verdict, and the derived percentage consumed. Takes no arguments; the workspace comes from the relayed credential. |
|
|
276
283
|
|
|
@@ -288,11 +295,16 @@ HTTP client and a single token relay, so both surfaces map matcher errors
|
|
|
288
295
|
|
|
289
296
|
### Intentionally not curated
|
|
290
297
|
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
298
|
+
`uploadFile` has curated replacements. Use `ingestion_upload` for a small
|
|
299
|
+
base64-in-JSON payload or `ingestion_upload_begin` for a real local file; the
|
|
300
|
+
relay rebuilds or brokers the multipart request. `matcher_invoke` cannot build
|
|
301
|
+
that binary body and points callers to the curated tools.
|
|
302
|
+
|
|
303
|
+
`extractDocument` accepts a raw document body and has no MCP path today; call
|
|
304
|
+
the Matcher HTTP API directly for that operation. Inbound callback and webhook
|
|
305
|
+
receivers (`processCallback`, aggregator webhooks, and hub events) stay
|
|
306
|
+
generic-only because they are machine- or hub-initiated deliveries rather than
|
|
307
|
+
operator actions.
|
|
296
308
|
|
|
297
309
|
## Project layout
|
|
298
310
|
|
|
@@ -309,7 +321,7 @@ mcp/
|
|
|
309
321
|
└── src/
|
|
310
322
|
├── server.ts # entry point: builds the per-request server, wires tools + telemetry
|
|
311
323
|
├── config.ts # frozen, fail-loud bootstrap config
|
|
312
|
-
├── transport/ #
|
|
324
|
+
├── transport/ # HTTP routing for /healthz, /mcp, /agent/turns and /agent/transcribe
|
|
313
325
|
├── auth/ # request-scoped fail-closed bearer-token relay
|
|
314
326
|
├── matcher/ # Matcher HTTP client
|
|
315
327
|
├── observability/ # OpenTelemetry init + token-free tool instrumentation
|
|
@@ -330,6 +342,9 @@ pnpm test # run vitest
|
|
|
330
342
|
pnpm dev # run with --watch
|
|
331
343
|
```
|
|
332
344
|
|
|
345
|
+
For the Compose and host-process topologies, including the `:4018`/`:4019`
|
|
346
|
+
proxy variables used by the UI, see [`../docs/development.md`](../docs/development.md).
|
|
347
|
+
|
|
333
348
|
## Toolchain
|
|
334
349
|
|
|
335
350
|
Mirrors the `ui/` sub-project: **pnpm** (`pnpm@11.5.2`), Node `>=22`, ESLint flat
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lerianstudio/matcher-mcp",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.63",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Model Context Protocol server for the Matcher reconciliation engine",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -66,6 +66,6 @@
|
|
|
66
66
|
"eslint": "^10.4.1",
|
|
67
67
|
"typescript": "^6.0.2",
|
|
68
68
|
"typescript-eslint": "^8.60.1",
|
|
69
|
-
"vitest": "^4.1.
|
|
69
|
+
"vitest": "^4.1.11"
|
|
70
70
|
}
|
|
71
71
|
}
|