@openclawcash/mcp-server 0.1.11 → 0.1.13

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
@@ -10,6 +10,7 @@ Canonical docs page: `https://openclawcash.com/mcp`
10
10
 
11
11
  Wallet and profile tools:
12
12
 
13
+ - `skill_latest` (public install metadata; no API key required)
13
14
  - `wallets_list`
14
15
  - `wallet_get`
15
16
  - `transactions_list`
@@ -102,7 +103,7 @@ Set one of these environment variables:
102
103
  - `OPENCLAWCASH_AGENT_KEY`
103
104
  - `AGENTWALLETAPI_KEY`
104
105
 
105
- All MCP tools require an OpenClawCash agent key because they call the authenticated agent API, including read tools such as `swap_quote` and `supported_tokens_list`.
106
+ Most MCP tools require an OpenClawCash agent key because they call authenticated agent API routes. `skill_latest` is the only no-auth tool and calls `GET /api/public/agentwalletapi/skill/latest`.
106
107
 
107
108
  Optional base URL override:
108
109
 
@@ -286,6 +287,7 @@ The MCP server itself does not hold approval memory. The MCP client or agent run
286
287
 
287
288
  - `swap_quote` is read-only, but still requires an agent key.
288
289
  - `supported_tokens_list` is read-only, but still requires an agent key.
290
+ - `skill_latest` is read-only and does not require an agent key.
289
291
  - `transfer_send`, `swap_execute`, `approve_token`, `wallet_create`, and `wallet_import` are write tools.
290
292
  - `transfer_send` is for normal wallet transfers. For checkout escrow funding, use checkout tools:
291
293
  - `checkout_quick_pay` for direct settlement funding
@@ -7,7 +7,7 @@ import { fileURLToPath } from "node:url";
7
7
  import { z } from "zod";
8
8
 
9
9
  const SERVER_NAME = "openclawcash";
10
- const SERVER_VERSION = "0.1.11";
10
+ const SERVER_VERSION = "0.1.13";
11
11
  const PROTOCOL_VERSION = "2024-11-05";
12
12
  const DEFAULT_BASE_URL = "https://openclawcash.com";
13
13
 
@@ -102,6 +102,7 @@ const walletSelectorSchema = walletSelectorBaseSchema.refine(
102
102
  const walletsListArgsSchema = z.object({
103
103
  includeBalances: z.boolean().optional(),
104
104
  });
105
+ const skillLatestArgsSchema = z.object({}).strict();
105
106
 
106
107
  const balancesArgsSchema = z
107
108
  .object({
@@ -264,6 +265,17 @@ const polymarketCancelArgsSchema = z
264
265
  message: "Provide exactly one of walletId or walletAddress.",
265
266
  });
266
267
 
268
+ const polymarketRedeemArgsSchema = z
269
+ .object({
270
+ walletId: z.union([z.number().int().positive(), z.string().min(1)]).optional(),
271
+ walletAddress: z.string().min(1).optional(),
272
+ tokenId: z.string().min(1).optional(),
273
+ limit: z.number().int().positive().max(200).optional(),
274
+ })
275
+ .refine((data) => [data.walletId, data.walletAddress].filter((v) => v !== undefined).length === 1, {
276
+ message: "Provide exactly one of walletId or walletAddress.",
277
+ });
278
+
267
279
  const polymarketUnlinkArgsSchema = z
268
280
  .object({
269
281
  walletId: z.union([z.number().int().positive(), z.string().min(1)]).optional(),
@@ -467,6 +479,23 @@ function withWriteSafety(description) {
467
479
  }
468
480
 
469
481
  const tools = [
482
+ {
483
+ name: "skill_latest",
484
+ description:
485
+ "Get the latest published OpenClawCash skill version, zip URLs, and install instructions. Public endpoint, no API key required.",
486
+ inputSchema: {
487
+ type: "object",
488
+ properties: {},
489
+ additionalProperties: false,
490
+ },
491
+ parse: (args) => skillLatestArgsSchema.parse(args ?? {}),
492
+ execute: async () =>
493
+ callAgentApi({
494
+ method: "GET",
495
+ pathName: "/api/public/agentwalletapi/skill/latest",
496
+ requireAuth: false,
497
+ }),
498
+ },
470
499
  {
471
500
  name: "wallets_list",
472
501
  description: "List managed wallets accessible to the configured OpenClawCash agent key.",
@@ -1419,6 +1448,27 @@ const tools = [
1419
1448
  query: args,
1420
1449
  }),
1421
1450
  },
1451
+ {
1452
+ name: "polymarket_redeem",
1453
+ description: withWriteSafety("Redeem Polymarket position(s) via gasless relay for a configured polygon-mainnet wallet. Pass tokenId to redeem one position, or omit tokenId to redeem all currently redeemable positions."),
1454
+ inputSchema: {
1455
+ type: "object",
1456
+ properties: {
1457
+ walletId: { oneOf: [{ type: "integer" }, { type: "string" }] },
1458
+ walletAddress: { type: "string" },
1459
+ tokenId: { type: "string", description: "Optional outcome tokenId. Omit to redeem all redeemable positions." },
1460
+ limit: { type: "integer", description: "Optional max redeemable positions to scan (1-200, default 100)." },
1461
+ },
1462
+ additionalProperties: false,
1463
+ },
1464
+ parse: (args) => polymarketRedeemArgsSchema.parse(args ?? {}),
1465
+ execute: async (args) =>
1466
+ callAgentApi({
1467
+ method: "POST",
1468
+ pathName: "/api/agent/venues/polymarket/redeem",
1469
+ body: args,
1470
+ }),
1471
+ },
1422
1472
  ];
1423
1473
 
1424
1474
  const resources = [
@@ -1442,13 +1492,14 @@ const resources = [
1442
1492
  text: [
1443
1493
  "# OpenClawCash MCP Quickstart",
1444
1494
  "",
1445
- "1. Configure `OPENCLAWCASH_AGENT_KEY` or `AGENTWALLETAPI_KEY`.",
1446
- "2. Use `wallets_list` first to discover managed wallets.",
1447
- "3. Use `wallet_get` or `balances_get` before write actions.",
1448
- "4. For writes, establish approval mode once per session.",
1449
- "5. For checkout escrow funding, use `checkout_fund` (quick-pay first, swap fallback when needed).",
1450
- "6. Use `swap_quote` before `swap_execute` for non-checkout swaps.",
1451
- "7. For Polymarket: ask your human to complete setup in dashboard (/venues/polymarket), then place/cancel orders and inspect account/activity/positions via polymarket tools.",
1495
+ "1. Run `skill_latest` to fetch the latest skill zip URL and install instructions.",
1496
+ "2. Configure `OPENCLAWCASH_AGENT_KEY` or `AGENTWALLETAPI_KEY` for authenticated tools.",
1497
+ "3. Use `wallets_list` first to discover managed wallets.",
1498
+ "4. Use `wallet_get` or `balances_get` before write actions.",
1499
+ "5. For writes, establish approval mode once per session.",
1500
+ "6. For checkout escrow funding, use `checkout_fund` (quick-pay first, swap fallback when needed).",
1501
+ "7. Use `swap_quote` before `swap_execute` for non-checkout swaps.",
1502
+ "8. For Polymarket: ask your human to complete setup in dashboard (/venues/polymarket), then place/cancel/redeem and inspect account/activity/positions via polymarket tools.",
1452
1503
  ].join("\n"),
1453
1504
  },
1454
1505
  ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclawcash/mcp-server",
3
- "version": "0.1.11",
3
+ "version": "0.1.13",
4
4
  "description": "OpenClawCash MCP server for managed agent wallets, balances, transfers, swaps, approvals, Get Paid checkout escrow flows, and Polymarket market resolution/order tools.",
5
5
  "type": "module",
6
6
  "license": "Proprietary",