@atbas/m-mcp 0.1.0 → 0.1.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
@@ -1,10 +1,10 @@
1
- # JazzCash MCP Integration Server
1
+ # Payment Gateway MCP Integration Server
2
2
 
3
- An MCP server that performs JazzCash payment-gateway integrations inside a merchant's own AI tooling — Claude Desktop, Claude Code, Cursor, or any other MCP client.
3
+ An MCP server that performs payment-gateway integrations inside a merchant's own AI tooling — Claude Desktop, Claude Code, Cursor, or any other MCP client.
4
4
 
5
5
  ## The problem
6
6
 
7
- Merchant onboarding at JazzCash depends on two resident engineers, one seat vacant, walking every merchant's developer through the same hosted checkout, the same credentials, the same hash generation, the same return URLs, the same sandbox tests. Go-live speed is capped by engineer hours rather than by how ready the merchant is, and the knowledge leaves with the people.
7
+ Merchant onboarding at a payment gateway depends on two resident engineers, one seat vacant, walking every merchant's developer through the same hosted checkout, the same credentials, the same hash generation, the same return URLs, the same sandbox tests. Go-live speed is capped by engineer hours rather than by how ready the merchant is, and the knowledge leaves with the people.
8
8
 
9
9
  This server encodes what those engineers know so the merchant's own AI can do the integration: look up the official guidance, generate correct code, validate parameters and secure hashes, run sandbox transactions, and diagnose failures — while the engineers keep the parts that need judgement.
10
10
 
@@ -24,7 +24,7 @@ The MCP server is what most of this README documents. [The hosted tier](#the-hos
24
24
 
25
25
  ## Safety first
26
26
 
27
- Sandbox and production share **identical gateway URLs** in every official JazzCash guide. The environment is a property of the _credentials_, not the endpoint.
27
+ Sandbox and production share **identical gateway URLs** in every official gateway guide. The environment is a property of the _credentials_, not the endpoint.
28
28
 
29
29
  - Every network tool requires an explicit `environment` argument.
30
30
  - Production money movement requires **both** `JAZZCASH_ALLOW_LIVE=true` in the server environment **and** `confirmLiveEnvironment: true` on the call.
@@ -35,15 +35,15 @@ Read [`docs/mcp/SAFETY.md`](docs/mcp/SAFETY.md) before pointing this at producti
35
35
 
36
36
  ## What it knows
37
37
 
38
- The knowledge corpus is transcribed from the fourteen 2026 JazzCash merchant guides in `docs/integration_documents/`, covering **14 integration flows**: card and BNPL hosted checkout, MWallet REST v1.1 and v2.0, token payment, wallet linking, token inquiry and delete, Status Inquiry v1.1 and v2.0, and four refund variants — plus IPN, the merchant portal, WooCommerce and Shopify.
38
+ The knowledge corpus is transcribed from the fourteen 2026 merchant guides in `docs/integration_documents/`, covering **14 integration flows**: card and BNPL hosted checkout, MWallet REST v1.1 and v2.0, token payment, wallet linking, token inquiry and delete, Status Inquiry v1.1 and v2.0, and four refund variants — plus IPN, the merchant portal, WooCommerce and Shopify.
39
39
 
40
40
  It also encodes the places those guides contradict themselves, because those are where merchants get stuck. Among them: the official PHP sample silently drops a value of integer `0` from the hash; the wallet-linking sample publishes the Integrity Salt in browser JavaScript; card and BNPL refunds return unprefixed response fields; the MWallet v2.0 sample sets an expiry two days out while the same page says one; the token payment sample sets an expiry two months _before_ its transaction. All are recorded, tested against, and corrected in generated code.
41
41
 
42
- Open questions raised by this work are collected in [`docs/mcp/JAZZCASH-CLARIFICATIONS.md`](docs/mcp/JAZZCASH-CLARIFICATIONS.md) for the acquiring team.
42
+ Open questions raised by this work are collected in [the clarifications register](docs/mcp/JAZZCASH-CLARIFICATIONS.md) for the acquiring team.
43
43
 
44
44
  ## Install
45
45
 
46
- ### For merchants — once published
46
+ ### For merchants
47
47
 
48
48
  ```bash
49
49
  npx -y @atbas/m-mcp # nothing to clone, nothing to build
@@ -55,9 +55,11 @@ Or register it directly with your AI tool and let the tool fetch it:
55
55
  { "mcpServers": { "m-mcp": { "command": "npx", "args": ["-y", "@atbas/m-mcp"] } } }
56
56
  ```
57
57
 
58
- `npx` keeps merchants on the current corpus automatically, which matters because JazzCash reissues these guides yearly.
58
+ `npx` keeps merchants on the current corpus automatically, which matters because the gateway reissues these guides yearly.
59
59
 
60
- > **Not yet published.** Nothing is on npm under either name: `npm view jazzcash-mcp` returned a 404 on 2026-08-23, and the package was renamed to `@atbas/m-mcp` later the same day without a version ever being published under it — so neither command above resolves anything today. What was holding it is settled: redistribution of the transcribed corpus was authorised by the product director on 2026-08-23 (assumption A7), the licence decision is MIT, and `package.json` now carries that licence and no `"private"` key. `npm pack` works and the tarball has been verified end to end; [`docs/mcp/PUBLISHING.md`](docs/mcp/PUBLISHING.md) lists the steps that remain, and the one question — trademark — that is still JazzCash's to answer.
60
+ > **Published.** `@atbas/m-mcp` 0.1.0 went to npm on 2026-08-23 <https://www.npmjs.com/package/@atbas/m-mcp> — so both commands above resolve today. What had been holding it is settled: redistribution of the transcribed corpus was authorised by the product director on 2026-08-23 (assumption A7), the licence decision is MIT, and `package.json` carries that licence and no `"private"` key.
61
+ >
62
+ > The connector is a **separate package and is not on npm yet**, so every snippet naming `@atbas/m-mcp-connector` still resolves nothing. [`docs/mcp/PUBLISHING.md`](docs/mcp/PUBLISHING.md) lists the steps that remain for it, and the one question — the mark — that is still the acquirer's to answer.
61
63
 
62
64
  ### From this repository
63
65
 
@@ -130,7 +132,7 @@ The intended entry points are the prompt and one tool:
130
132
  A typical session:
131
133
 
132
134
  ```
133
- "Add JazzCash mobile wallet payments to my checkout."
135
+ "Add mobile wallet payments to my checkout."
134
136
  → jazzcash_list_integration_flows pick a flow
135
137
  → jazzcash_get_onboarding_checklist what to do in the portal first
136
138
  → jazzcash_generate_integration_code working PHP, Node or Python
@@ -295,12 +297,12 @@ knowledge/ the data: flows, docs, templates, diagnostics
295
297
 
296
298
  Two properties are worth preserving if you extend this:
297
299
 
298
- - **The corpus is data, not code.** Flow specifications, documentation, templates and diagnostics all live in `knowledge/`. A correction from JazzCash should be a data change.
300
+ - **The corpus is data, not code.** Flow specifications, documentation, templates and diagnostics all live in `knowledge/`. A correction from the gateway should be a data change.
299
301
  - **Citations are tested.** Every `docRef` on every flow, and every reference in the diagnostics base, is asserted to resolve to a real document _and_ section. An anchor on a heading too deep to be addressable fails at load rather than producing a dead link.
300
302
 
301
303
  ### Testing notes
302
304
 
303
- No test reaches the JazzCash gateway. `tests/helpers/stub-gateway.ts` is a local HTTP server, and the production guard is separately asserted to fire before any request is recorded.
305
+ No test reaches the live gateway. `tests/helpers/stub-gateway.ts` is a local HTTP server, and the production guard is separately asserted to fire before any request is recorded.
304
306
 
305
307
  `src/domain/secure-hash.ts`, `src/domain/amount.ts`, `src/gateway/guards.ts` and `src/telemetry/redaction.ts` are held at 100 % statement, branch, function and line coverage by per-file thresholds in `vitest.config.ts` — the run fails, not warns, if that regresses.
306
308
 
@@ -359,6 +361,6 @@ When a project's `engines.node` moves, move its `@types/node` in the same change
359
361
 
360
362
  ## Licence
361
363
 
362
- **MIT**, decided on 2026-08-23 alongside the same day's authorisation of the corpus for redistribution and sale (assumption A7), and carried in `package.json` since. The knowledge corpus is derived from JazzCash merchant guides: MIT covers this repository's own work and makes no claim over JazzCash's documentation, specifications or marks. The use of the mark itself is the one part of item 13 in [`docs/mcp/JAZZCASH-CLARIFICATIONS.md`](docs/mcp/JAZZCASH-CLARIFICATIONS.md) that no decision here can answer, and it is still open.
364
+ **MIT**, decided on 2026-08-23 alongside the same day's authorisation of the corpus for redistribution and sale (assumption A7), and carried in `package.json` since. The knowledge corpus is derived from the gateway's own merchant guides: MIT covers this repository's own work and makes no claim over that documentation, those specifications or the marks on them. The use of the mark itself is the one part of item 13 in [the clarifications register](docs/mcp/JAZZCASH-CLARIFICATIONS.md) that no decision here can answer, and it is still open.
363
365
 
364
- `connector/` carries the same licence. `@atbas/m-mcp-connector` is MIT, © 2026 Eren Atbas: it ships the 14 flow specifications and the credential half of this server, and none of the transcribed documents, the templates or the diagnostics base. [`docs/mcp/PUBLISHING.md`](docs/mcp/PUBLISHING.md) records exactly what that package and its public mirror each carry, what stays here, and the steps neither package has been through — as of 2026-08-23, neither is on npm.
366
+ `connector/` carries the same licence. `@atbas/m-mcp-connector` is MIT, © 2026 Eren Atbas: it ships the 14 flow specifications and the credential half of this server, and none of the transcribed documents, the templates or the diagnostics base. [`docs/mcp/PUBLISHING.md`](docs/mcp/PUBLISHING.md) records exactly what that package and its public mirror each carry, what stays here, and the steps it has not been through — as of 2026-08-23 the server is on npm and the connector is not.
package/dist/version.d.ts CHANGED
@@ -12,7 +12,7 @@
12
12
  * name with its scope removed, so the two still cannot drift apart.
13
13
  */
14
14
  export declare const SERVER_NAME = "m-mcp";
15
- export declare const SERVER_VERSION = "0.1.0";
15
+ export declare const SERVER_VERSION = "0.1.1";
16
16
  /**
17
17
  * Version stamp of the JazzCash documentation corpus this build encodes.
18
18
  *
package/dist/version.js CHANGED
@@ -12,7 +12,7 @@
12
12
  * name with its scope removed, so the two still cannot drift apart.
13
13
  */
14
14
  export const SERVER_NAME = 'm-mcp';
15
- export const SERVER_VERSION = '0.1.0';
15
+ export const SERVER_VERSION = '0.1.1';
16
16
  /**
17
17
  * Version stamp of the JazzCash documentation corpus this build encodes.
18
18
  *
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@atbas/m-mcp",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "packageManager": "npm@12.0.2",
5
5
  "license": "MIT",
6
- "description": "MCP server that performs JazzCash payment-gateway integrations inside a merchant's own AI tooling.",
6
+ "description": "MCP server that performs payment-gateway integrations inside a merchant's own AI tooling.",
7
7
  "author": "Eren Atbas <eren.atbas@gmail.com>",
8
8
  "repository": {
9
9
  "type": "git",
@@ -14,7 +14,6 @@
14
14
  "url": "https://github.com/eatbas/m-mcp/issues"
15
15
  },
16
16
  "keywords": [
17
- "jazzcash",
18
17
  "mcp",
19
18
  "model-context-protocol",
20
19
  "payments",