@stratabook/mcp 0.2.1 → 0.2.2
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.
|
@@ -188,7 +188,7 @@ export declare const STRATA_ACTION_GRAPH: {
|
|
|
188
188
|
}, {
|
|
189
189
|
readonly id: "read_market_status";
|
|
190
190
|
readonly kind: "read";
|
|
191
|
-
readonly summary: "Read tick size,
|
|
191
|
+
readonly summary: "Read tick size, the smallest valid base-atom size, and current market status.";
|
|
192
192
|
readonly required_capabilities: readonly ["books.read"];
|
|
193
193
|
readonly available: true;
|
|
194
194
|
readonly operation: {
|
|
@@ -325,7 +325,7 @@ export const STRATA_ACTION_GRAPH = {
|
|
|
325
325
|
{
|
|
326
326
|
"id": "read_market_status",
|
|
327
327
|
"kind": "read",
|
|
328
|
-
"summary": "Read tick size,
|
|
328
|
+
"summary": "Read tick size, the smallest valid base-atom size, and current market status.",
|
|
329
329
|
"required_capabilities": [
|
|
330
330
|
"books.read"
|
|
331
331
|
],
|
package/dist/src/server.js
CHANGED
|
@@ -1445,7 +1445,7 @@ export async function createStrataMcpServer(options = {}) {
|
|
|
1445
1445
|
}));
|
|
1446
1446
|
const makerStrandPrepare = server.registerTool("strata_market_making_strand_prepare", {
|
|
1447
1447
|
title: "Prepare Strata Strand control",
|
|
1448
|
-
description: "Build one exact unsigned maker-owned Strand transaction. Verify and sign it externally with the maker wallet, then submit it with the Strand submit tool.",
|
|
1448
|
+
description: "Build one exact unsigned maker-owned Strand transaction. Every exposure and level size is expressed in base-asset atoms, never lots or whole tokens. Verify and sign it externally with the maker wallet, then submit it with the Strand submit tool.",
|
|
1449
1449
|
inputSchema: {
|
|
1450
1450
|
marketId: z.string().regex(/^market_[0-9a-f]{32}$/),
|
|
1451
1451
|
action: z.enum(["upsert", "recenter", "set_enabled", "cancel"]),
|
|
@@ -1454,11 +1454,11 @@ export async function createStrataMcpServer(options = {}) {
|
|
|
1454
1454
|
asyncOnly: z.boolean().optional(),
|
|
1455
1455
|
syncSpreadTicks: z.number().int().min(0).max(65_535).optional(),
|
|
1456
1456
|
midPriceAtoms: z.string().regex(/^[1-9][0-9]*$/).max(20).optional(),
|
|
1457
|
-
|
|
1457
|
+
maxExposureBaseAtoms: z.string().regex(/^[1-9][0-9]*$/).max(20).optional(),
|
|
1458
1458
|
bidOffsetsTicks: z.array(z.number().int().min(0).max(65_535)).length(16).optional(),
|
|
1459
1459
|
askOffsetsTicks: z.array(z.number().int().min(0).max(65_535)).length(16).optional(),
|
|
1460
|
-
|
|
1461
|
-
|
|
1460
|
+
bidSizesBaseAtoms: z.array(z.string().regex(/^(?:0|[1-9][0-9]*)$/).max(20)).length(16).optional(),
|
|
1461
|
+
askSizesBaseAtoms: z.array(z.string().regex(/^(?:0|[1-9][0-9]*)$/).max(20)).length(16).optional(),
|
|
1462
1462
|
newMidPriceAtoms: z.string().regex(/^[1-9][0-9]*$/).max(20).optional(),
|
|
1463
1463
|
validUntilSlot: z.string().regex(/^(?:0|[1-9][0-9]*)$/).max(20).optional(),
|
|
1464
1464
|
},
|
|
@@ -1473,9 +1473,9 @@ export async function createStrataMcpServer(options = {}) {
|
|
|
1473
1473
|
if (args.action === "upsert") {
|
|
1474
1474
|
if (args.enabled === undefined || args.asyncOnly === undefined
|
|
1475
1475
|
|| args.syncSpreadTicks === undefined || args.midPriceAtoms === undefined
|
|
1476
|
-
|| args.
|
|
1477
|
-
|| args.askOffsetsTicks === undefined || args.
|
|
1478
|
-
|| args.
|
|
1476
|
+
|| args.maxExposureBaseAtoms === undefined || args.bidOffsetsTicks === undefined
|
|
1477
|
+
|| args.askOffsetsTicks === undefined || args.bidSizesBaseAtoms === undefined
|
|
1478
|
+
|| args.askSizesBaseAtoms === undefined || args.validUntilSlot === undefined) {
|
|
1479
1479
|
return toolError("invalid_request", "Strand upsert requires every level, exposure, midpoint, spread, flag, and expiry field.", false);
|
|
1480
1480
|
}
|
|
1481
1481
|
request = {
|
|
@@ -1485,11 +1485,11 @@ export async function createStrataMcpServer(options = {}) {
|
|
|
1485
1485
|
asyncOnly: args.asyncOnly,
|
|
1486
1486
|
syncSpreadTicks: args.syncSpreadTicks,
|
|
1487
1487
|
midPriceAtoms: args.midPriceAtoms,
|
|
1488
|
-
|
|
1488
|
+
maxExposureBaseAtoms: args.maxExposureBaseAtoms,
|
|
1489
1489
|
bidOffsetsTicks: args.bidOffsetsTicks,
|
|
1490
1490
|
askOffsetsTicks: args.askOffsetsTicks,
|
|
1491
|
-
|
|
1492
|
-
|
|
1491
|
+
bidSizesBaseAtoms: args.bidSizesBaseAtoms,
|
|
1492
|
+
askSizesBaseAtoms: args.askSizesBaseAtoms,
|
|
1493
1493
|
validUntilSlot: args.validUntilSlot,
|
|
1494
1494
|
};
|
|
1495
1495
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stratabook/mcp",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "Connect AI agents to Strata markets and Sonar quotes with MCP.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT OR Apache-2.0",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@modelcontextprotocol/sdk": "1.30.0",
|
|
47
|
-
"@stratabook/sdk": "0.2.
|
|
47
|
+
"@stratabook/sdk": "0.2.2",
|
|
48
48
|
"zod": "^3.25.76"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|