@xenia-martech/mcp 1.0.0 → 1.2.0-dev.1

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 CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/@xenia-martech/mcp.svg)](https://www.npmjs.com/package/@xenia-martech/mcp)
4
4
  [![npm downloads](https://img.shields.io/npm/dm/@xenia-martech/mcp.svg)](https://www.npmjs.com/package/@xenia-martech/mcp)
5
+ [![coverage](https://img.shields.io/endpoint?url=https%3A%2F%2Fcdn.jsdelivr.net%2Fnpm%2F%40xenia-martech%2Fmcp%40latest%2Fcoverage.json)](https://www.npmjs.com/package/@xenia-martech/mcp)
5
6
  [![node](https://img.shields.io/node/v/@xenia-martech/mcp.svg)](https://www.npmjs.com/package/@xenia-martech/mcp)
6
7
  [![license](https://img.shields.io/npm/l/@xenia-martech/mcp.svg)](https://www.npmjs.com/package/@xenia-martech/mcp)
7
8
 
@@ -21,6 +22,26 @@ you> wire the abandoned-cart journey into my checkout
21
22
  → detects your stack, writes .env, and edits your component
22
23
  ```
23
24
 
25
+ ## What it wires
26
+
27
+ After you choose how to get the SDK token, the assistant does the rest without stopping:
28
+
29
+ - **One-time setup** for your stack (`xenia_setup_project`). In Next.js: `proxy.ts` (or merges into
30
+ your existing one) for the visitor cookie and page URL, a `lib/xenia.ts` server helper with a
31
+ timeout and circuit breaker, consent from your cookie banner, and form conversions.
32
+ - **Each journey** you name, in your real components: server-side with `{ fallback: null }` so an
33
+ outage renders your default content; `track()` for event triggers.
34
+ - **Checks** — a type-check/build and `xenia_verify`, plus warnings about the journey itself (an
35
+ A/B split that would show the same visitor different variants, a journey that's stopped) with the
36
+ dashboard fix.
37
+
38
+ One SDK token covers everything, webhook triggers that require auth included, and a minted token
39
+ never expires unless you ask for an expiry (it can always be revoked). Connected to a non-default
40
+ engine with `--base-url`? The mint tool also writes `XENIA_URL`, so your app calls that same engine.
41
+
42
+ It stops to ask only for the token choice, a production write, or — if your site has no consent
43
+ banner — whether analytics needs consent.
44
+
24
45
  ## Install
25
46
 
26
47
  Pick your assistant — each command registers the server via the assistant's own MCP config.
@@ -68,10 +89,11 @@ can be disconnected there at any time.
68
89
  | `xenia_status` | Who is connected, and the active workspace |
69
90
  | `xenia_list_scopes` / `xenia_select_scope` | See and switch org / tenant / environment |
70
91
  | `xenia_list_journeys` | The journeys in the active workspace, each with its trigger(s) — flagged `can't connect` for a scheduler or a Shopify/HubSpot trigger whose connector isn't connected |
71
- | `xenia_get_journey` | Trigger id, method, request fields, content keys, and a stack-matched SDK snippet |
92
+ | `xenia_get_journey` | Trigger id, method, request fields, content keys, a stack-matched SDK snippet, and journey warnings (e.g. a non-sticky A/B split) |
72
93
  | `xenia_list_content_keys` | Every personalization key, and which journeys resolve it |
73
94
  | `xenia_detect_stack` | Framework, SDK entry point, and which token type this project needs |
74
- | `xenia_mint_sdk_token` | Mint a token and write it to your env file |
95
+ | `xenia_setup_project` | The one-time wiring plan for this stack: files to create or merge, consent, forms, verification |
96
+ | `xenia_mint_sdk_token` | Mint a token (never expires unless `expiresInDays` is given) and write it, plus the engine URL when it isn't the default, to your env file |
75
97
  | `xenia_verify` | Read journeys, resolve a content key, optionally fire a test event |
76
98
  | `xenia_logout` | Revoke the session and forget the local credential |
77
99
 
package/coverage.json ADDED
@@ -0,0 +1 @@
1
+ {"schemaVersion":1,"label":"coverage","message":"97%","color":"brightgreen"}