@curless/agentbank-merchant-mcp 0.0.3 → 0.0.5

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,20 +1,21 @@
1
1
  # @curless/agentbank-merchant-mcp
2
2
 
3
3
  Merchant-side MCP server for [agentbank](https://gitlab.com/robin-ruan/agentbank).
4
- Lets a merchant read **their own orders and balance** from an MCP client (Claude
5
- Desktop) the agentbank ledger (pending/payable/settled) **and the live Curless
6
- wallet** (real funds settled into the merchant's Curless account).
4
+ Lets a merchant read **their own orders and live Curless wallet balance** (real
5
+ funds settled into the merchant's Curless account) from an MCP client (Claude
6
+ Desktop).
7
7
 
8
- Authenticated by a **merchant token via env — no OAuth.** (The OAuth route is the
9
- remote `/mcp` connector added by URL in claude.ai; this is the simple token-based
10
- path for Claude Desktop / stdio clients.) Kept separate from the buyer's
11
- `@curless/agentbank-mcp` so the two personas don't share a tool surface.
8
+ Authenticated by your **Curless API key via env — no OAuth.** (The OAuth route is
9
+ the remote `/mcp` connector added by URL in claude.ai; this is the simple
10
+ token-based path for Claude Desktop / stdio clients.) Kept separate from the
11
+ buyer's `@curless/agentbank-mcp` so the two personas don't share a tool surface.
12
+ Renders the **same MCP Apps card** as the remote `/mcp` connector, with a markdown
13
+ table fallback for hosts without the card.
12
14
 
13
15
  ## Tools
14
16
 
15
17
  - **`list_orders`** — this merchant's orders (what agents have paid), newest first.
16
- - **`get_balance`** — balance per currency: the agentbank ledger **and** the live
17
- Curless wallet.
18
+ - **`get_balance`** — the live Curless wallet balance per currency (available / frozen).
18
19
 
19
20
  ## Use (Claude Desktop `claude_desktop_config.json`)
20
21
 
@@ -25,8 +26,7 @@ path for Claude Desktop / stdio clients.) Kept separate from the buyer's
25
26
  "command": "/usr/local/bin/npx",
26
27
  "args": ["-y", "@curless/agentbank-merchant-mcp"],
27
28
  "env": {
28
- "AGENTBANK_API_URL": "https://mcp.curless.ai",
29
- "AGENTBANK_MERCHANT_TOKEN": "agb_test_…",
29
+ "AGENTBANK_MERCHANT_TOKEN": "<your-curless-api-key>",
30
30
  "AGENTBANK_MERCHANT_ID": "429488"
31
31
  }
32
32
  }
@@ -36,6 +36,8 @@ path for Claude Desktop / stdio clients.) Kept separate from the buyer's
36
36
 
37
37
  | env | what |
38
38
  | --- | --- |
39
- | `AGENTBANK_API_URL` | agentbank base URL (default `http://localhost:3000`) |
40
- | `AGENTBANK_MERCHANT_TOKEN` | a merchant key (`agb_…`) with `merchant:read` |
41
- | `AGENTBANK_MERCHANT_ID` | your merchant id, e.g. `429488` |
39
+ | `AGENTBANK_MERCHANT_TOKEN` | your Curless API key (issued by Curless at onboarding) |
40
+ | `AGENTBANK_MERCHANT_ID` | your Curless merchant id, e.g. `429488` |
41
+
42
+ The server talks to `https://mcp.curless.ai` by default — no need to configure it.
43
+ (Local dev only: set `AGENTBANK_API_URL=http://localhost:3000` to point at a local API.)
package/dist/index.js CHANGED
@@ -4,25 +4,27 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
4
4
  import { CallToolRequestSchema, ListResourcesRequestSchema, ListToolsRequestSchema, ReadResourceRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
5
5
  import { MERCHANT_CARD_HTML } from './card.generated.js';
6
6
  // @curless/agentbank-merchant-mcp — MERCHANT-side stdio MCP for agentbank.
7
- // Lets a merchant read THEIR OWN orders + balance (the agentbank ledger AND the
8
- // real Curless wallet) from an MCP client (Claude Desktop), authenticated by a
9
- // merchant token passed via env — NO OAuth. (The OAuth route is the remote
10
- // /mcp connector; this is the simple token-based path.) Kept separate from the
11
- // buyer's @curless/agentbank-mcp so the two personas don't share a tool surface.
7
+ // Lets a merchant read THEIR OWN orders + live Curless wallet balance from an MCP
8
+ // client (Claude Desktop), authenticated by their Curless API key passed via env
9
+ // — NO OAuth. (The OAuth route is the remote /mcp connector; this is the simple
10
+ // token-based path.) Renders the SAME MCP Apps card as the remote /mcp connector
11
+ // (built in apps/api/mcp-ui, injected here by emit-card.mjs), with a markdown
12
+ // fallback for hosts without the card. Kept separate from the buyer's
13
+ // @curless/agentbank-mcp so the two personas don't share a tool surface.
12
14
  //
13
15
  // Run (Claude Desktop / any MCP client):
14
16
  // npx -y @curless/agentbank-merchant-mcp
15
17
  // with env:
16
- // AGENTBANK_API_URL (default http://localhost:3000; e.g. https://mcp.curless.ai)
17
- // AGENTBANK_MERCHANT_TOKEN an agentbank merchant key (agb_...) with merchant:read
18
- // AGENTBANK_MERCHANT_ID the merchant id, e.g. 429488
18
+ // AGENTBANK_API_URL (default https://mcp.curless.ai; set http://localhost:3000 for local dev)
19
+ // AGENTBANK_MERCHANT_TOKEN your Curless API key (the unified merchant credential)
20
+ // AGENTBANK_MERCHANT_ID your Curless merchant id, e.g. 429488
19
21
  //
20
22
  // IMPORTANT: only JSON-RPC may be written to stdout (the MCP stdio transport).
21
23
  // Never console.log here — diagnostics go to stderr.
22
- const API_BASE = process.env.AGENTBANK_API_URL ?? 'http://localhost:3000';
24
+ const API_BASE = process.env.AGENTBANK_API_URL ?? 'https://mcp.curless.ai';
23
25
  const TOKEN = process.env.AGENTBANK_MERCHANT_TOKEN;
24
26
  const MERCHANT = process.env.AGENTBANK_MERCHANT_ID;
25
- // Minor-unit integer → human decimal string, per currency.
27
+ // Minor-unit integer → exact decimal string (no currency suffix), per currency.
26
28
  const DECIMALS = { USD: 2, EUR: 2, USDC: 6, USDT: 6, EURC: 6 };
27
29
  const fmt = (minor, currency) => {
28
30
  const d = DECIMALS[currency] ?? 2;
@@ -30,11 +32,47 @@ const fmt = (minor, currency) => {
30
32
  const s = String(Math.abs(minor)).padStart(d + 1, '0');
31
33
  const whole = s.slice(0, s.length - d);
32
34
  const frac = d > 0 ? `.${s.slice(s.length - d)}` : '';
33
- return `${neg ? '-' : ''}${whole}${frac} ${currency}`;
35
+ return `${neg ? '-' : ''}${whole}${frac}`;
36
+ };
37
+ // --- Markdown fallback (same shape the remote /mcp connector renders, so both
38
+ // merchant surfaces look identical on hosts without the MCP Apps card) ---------
39
+ const cell = (s) => s.replace(/\|/g, '\\|').replace(/\r?\n/g, ' ');
40
+ const fmtDate = (d) => (d ? new Date(d).toISOString().slice(0, 10) : '');
41
+ const ordersMarkdown = (merchantId, orders) => {
42
+ if (orders.length === 0)
43
+ return `**${merchantId}** — no orders yet.`;
44
+ const rows = orders.map((o) => {
45
+ const li = Array.isArray(o.lineItems)
46
+ ? o.lineItems
47
+ : [];
48
+ const items = li
49
+ .map((x) => cell(`${x.name ?? ''}${(x.quantity ?? 1) > 1 ? ` ×${x.quantity}` : ''}`))
50
+ .join(', ') || '—';
51
+ return `| \`${o.id}\` | ${fmtDate(o.createdAt)} | ${fmt(o.amount, o.currency)} ${o.currency} | ${o.status ?? ''} | ${items} |`;
52
+ });
53
+ return [
54
+ `**Orders for \`${merchantId}\`** — ${orders.length} shown, newest first`,
55
+ '',
56
+ '| Order | Date | Amount | Status | Items |',
57
+ '| --- | --- | --- | --- | --- |',
58
+ ...rows,
59
+ ].join('\n');
60
+ };
61
+ const walletMarkdown = (merchantId, mode, wallet) => {
62
+ if (wallet.length === 0)
63
+ return `**${merchantId}** (${mode} mode) — no wallet balance yet.`;
64
+ const rows = wallet.map((b) => `| ${b.currency} | **${fmt(b.available, b.currency)}** | ${fmt(b.frozen, b.currency)} |`);
65
+ return [
66
+ `**Curless wallet for \`${merchantId}\`** (${mode} mode) — funds settled into your Curless account`,
67
+ '',
68
+ '| Currency | Available | Frozen |',
69
+ '| --- | --- | --- |',
70
+ ...rows,
71
+ ].join('\n');
34
72
  };
35
73
  const api = async (path) => {
36
74
  if (!TOKEN)
37
- throw new Error('set AGENTBANK_MERCHANT_TOKEN (a merchant:read agentbank key)');
75
+ throw new Error('set AGENTBANK_MERCHANT_TOKEN (your Curless API key)');
38
76
  if (!MERCHANT)
39
77
  throw new Error('set AGENTBANK_MERCHANT_ID (e.g. 429488)');
40
78
  const res = await fetch(`${API_BASE}${path}`, {
@@ -72,17 +110,14 @@ const TOOLS = [
72
110
  _meta: UI_META,
73
111
  },
74
112
  ];
75
- const text = (value) => ({
76
- content: [{ type: 'text', text: JSON.stringify(value, null, 2) }],
77
- });
78
- // Tool result that links the card (structuredContent feeds the widget; the text
79
- // stays as the universal fallback for non-UI hosts).
80
- const card = (value, structured) => ({
81
- content: [{ type: 'text', text: JSON.stringify(value, null, 2) }],
113
+ // Tool result that links the card: `structuredContent` feeds the widget, the
114
+ // markdown `text` is the universal fallback for hosts without the MCP Apps card.
115
+ const card = (markdown, structured) => ({
116
+ content: [{ type: 'text', text: markdown }],
82
117
  structuredContent: structured,
83
118
  _meta: UI_META,
84
119
  });
85
- const server = new Server({ name: 'agentbank-merchant', version: '0.0.3' }, { capabilities: { tools: {}, resources: {} } });
120
+ const server = new Server({ name: 'agentbank-merchant', version: '0.0.5' }, { capabilities: { tools: {}, resources: {} } });
86
121
  server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOLS }));
87
122
  // The card resource (MCP Apps): advertise + serve the self-contained HTML.
88
123
  server.setRequestHandler(ListResourcesRequestSchema, async () => ({
@@ -100,30 +135,18 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
100
135
  const limit = Math.min(Number(args.limit) || 50, 200);
101
136
  const offset = Math.max(Number(args.offset) || 0, 0);
102
137
  const res = await api(mPath(`/orders?limit=${limit}&offset=${offset}`));
103
- const orders = res.data.map((o) => ({
104
- id: o.id,
105
- date: o.createdAt,
106
- amount: fmt(o.amount, o.currency),
107
- status: o.status,
108
- items: o.lineItems,
109
- }));
110
- return card({ merchant: MERCHANT, count: res.pagination?.count ?? orders.length, orders }, { merchantId: MERCHANT, orders: res.data });
138
+ return card(ordersMarkdown(MERCHANT ?? '', res.data), {
139
+ merchantId: MERCHANT,
140
+ orders: res.data, // raw (minor amounts) for the card
141
+ });
111
142
  }
112
143
  if (req.params.name === 'get_balance') {
113
144
  const b = await api(mPath('/balance'));
114
145
  // Show ONLY the Curless wallet (real settled funds), per currency — no
115
146
  // agentbank ledger, no channel. structuredContent carries raw minor units
116
- // for the card; the text is the formatted fallback.
147
+ // for the card; the markdown is the formatted fallback.
117
148
  const wallet = b.curlessWallet ?? [];
118
- return card({
119
- merchant: MERCHANT,
120
- mode: b.mode,
121
- curless_wallet: wallet.map((x) => ({
122
- currency: x.currency,
123
- available: fmt(x.available, x.currency),
124
- frozen: fmt(x.frozen, x.currency),
125
- })),
126
- }, {
149
+ return card(walletMarkdown(MERCHANT ?? '', b.mode, wallet), {
127
150
  merchantId: MERCHANT,
128
151
  mode: b.mode,
129
152
  curlessWallet: wallet.map((x) => ({
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@curless/agentbank-merchant-mcp",
3
- "version": "0.0.3",
4
- "description": "Merchant-side MCP server for agentbank — read your orders + balance (agentbank ledger and live Curless wallet) from Claude, authenticated by a merchant token via env (no OAuth).",
3
+ "version": "0.0.5",
4
+ "description": "Merchant-side MCP server for agentbank — read your orders + live Curless wallet balance from Claude, authenticated by your Curless API key via env (no OAuth).",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "bin": {