@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 +3 -1
- package/openclawcash-mcp.mjs +59 -8
- package/package.json +1 -1
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
|
-
|
|
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
|
package/openclawcash-mcp.mjs
CHANGED
|
@@ -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.
|
|
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.
|
|
1446
|
-
"2.
|
|
1447
|
-
"3. Use `
|
|
1448
|
-
"4.
|
|
1449
|
-
"5. For
|
|
1450
|
-
"6.
|
|
1451
|
-
"7.
|
|
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.
|
|
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",
|