@suisei-mcp/mcp 0.1.0 → 0.1.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.
- package/README.md +22 -24
- package/dist/coins.d.ts +1 -1
- package/dist/http.d.ts +3 -3
- package/dist/http.js +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/node.d.ts +1 -1
- package/dist/node.js +1 -1
- package/dist/serve.d.ts +1 -1
- package/dist/serve.js +1 -1
- package/dist/server.d.ts +2 -2
- package/dist/server.js +16 -16
- package/dist/server.js.map +1 -1
- package/dist/sui-client.d.ts +1 -1
- package/dist/sui-client.js +4 -4
- package/dist/tools/agent_wallet_sweep.js +1 -1
- package/dist/tools/sui_decode_tx_bytes.d.ts +3 -3
- package/dist/tools/sui_decode_tx_bytes.js +4 -4
- package/dist/tools/sui_deepbook_quote.d.ts +1 -1
- package/dist/tools/sui_deepbook_quote.js +1 -1
- package/dist/tools/sui_deepbook_swap.d.ts +2 -2
- package/dist/tools/sui_deepbook_swap.js +2 -2
- package/dist/tools/sui_get_coin_metadata.d.ts +1 -1
- package/dist/tools/sui_get_coin_metadata.js +1 -1
- package/dist/tools/sui_get_coins.js +1 -1
- package/dist/tools/sui_get_coins.js.map +1 -1
- package/dist/tools/sui_get_dynamic_fields.d.ts +1 -1
- package/dist/tools/sui_get_dynamic_fields.js +1 -1
- package/dist/tools/sui_get_owned_badges.js +2 -2
- package/dist/tools/sui_get_owned_badges.js.map +1 -1
- package/dist/tools/sui_get_stakes.d.ts +1 -1
- package/dist/tools/sui_get_stakes.js +1 -1
- package/dist/tools/sui_get_validator.d.ts +1 -1
- package/dist/tools/sui_get_validator.js +1 -1
- package/dist/tools/sui_get_validators.js +1 -1
- package/dist/tools/sui_move_call.d.ts +2 -2
- package/dist/tools/sui_move_call.js +2 -2
- package/dist/tools/sui_pay_many.js +1 -1
- package/dist/tools/sui_query_events.d.ts +3 -3
- package/dist/tools/sui_query_events.js +3 -3
- package/dist/tools/sui_resolve_coin.d.ts +1 -1
- package/dist/tools/sui_resolve_coin.js +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
# @suisei-mcp/mcp
|
|
1
|
+
# @suisei-mcp/mcp - Suisei MCP
|
|
2
2
|
|
|
3
3
|
The Sui Stack as one-line tools, exposed over the Model Context Protocol
|
|
4
|
-
|
|
4
|
+
- so any MCP-aware client (Claude Desktop, Cursor, Windsurf, your own
|
|
5
5
|
agent) can build on Sui. The server identifies itself as **Suisei** to
|
|
6
6
|
the agent. Tool names keep the `sui_` prefix because they wrap the Sui
|
|
7
|
-
chain
|
|
8
|
-
|
|
9
|
-
entirely on these tools.
|
|
7
|
+
chain - Suisei is the agent toolkit; Sui is the chain it speaks.
|
|
8
|
+
Suisei (the teaching agent) is a showcase built entirely on these tools.
|
|
10
9
|
|
|
11
|
-
> **Status:** Alpha. Thirty-three tools spanning the core build loop
|
|
10
|
+
> **Status:** Alpha. Thirty-three tools spanning the core build loop -
|
|
12
11
|
> read chain state, build any transaction, simulate it, decode it,
|
|
13
|
-
> submit it
|
|
12
|
+
> submit it - plus native staking (stake, unstake, live APY, validator
|
|
14
13
|
> set, position tracking), DeepBook quotes & swaps, batch payouts,
|
|
15
14
|
> historical events, coin metadata + symbol registry, Tier-1
|
|
16
15
|
> agent-wallet lifecycle, and Walrus storage. Next up: the on-chain
|
|
@@ -19,7 +18,7 @@ entirely on these tools.
|
|
|
19
18
|
## Why
|
|
20
19
|
|
|
21
20
|
Most Sui SDKs assume you're writing application code. This package
|
|
22
|
-
assumes you're writing **agent** code
|
|
21
|
+
assumes you're writing **agent** code - short tool calls, structured
|
|
23
22
|
JSON in, structured JSON out, no React, no UI. The agent decides what
|
|
24
23
|
to do; the tool does it.
|
|
25
24
|
|
|
@@ -48,7 +47,7 @@ Edit `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
|
48
47
|
Restart Claude Desktop. You can now ask the agent things like:
|
|
49
48
|
|
|
50
49
|
> "What's the balance of `alice.sui`?"
|
|
51
|
-
> "Mint a badge to `0x1234
|
|
50
|
+
> "Mint a badge to `0x1234...` for completing the zkLogin quest."
|
|
52
51
|
> "Publish this paragraph to Walrus and give me the blob id."
|
|
53
52
|
|
|
54
53
|
The agent picks the right tool. You see the result.
|
|
@@ -58,7 +57,7 @@ The agent picks the right tool. You see the result.
|
|
|
58
57
|
Stdio only works where the host can spawn a local process (Claude
|
|
59
58
|
Desktop, Cursor). To use the toolkit from the **Claude web and mobile
|
|
60
59
|
apps**, run it as a **remote MCP server** and add the URL as a Custom
|
|
61
|
-
Connector (Settings
|
|
60
|
+
Connector (Settings -> Connectors).
|
|
62
61
|
|
|
63
62
|
Host it anywhere with the bundled HTTP server:
|
|
64
63
|
|
|
@@ -67,23 +66,23 @@ PORT=8787 SUISEI_MCP_TOKEN=your-secret npx suisei-mcp-serve
|
|
|
67
66
|
# serves Streamable HTTP at http://localhost:8787/ (front with HTTPS in prod)
|
|
68
67
|
```
|
|
69
68
|
|
|
70
|
-
On serverless, import the runtime-agnostic Fetch handler directly
|
|
69
|
+
On serverless, import the runtime-agnostic Fetch handler directly - it
|
|
71
70
|
runs on Vercel Edge, Cloudflare Workers, Deno, and Bun:
|
|
72
71
|
|
|
73
72
|
```ts
|
|
74
|
-
// api/mcp.ts (Vercel Edge)
|
|
73
|
+
// api/mcp.ts (Vercel Edge) - needs `@suisei-mcp/mcp` as a dependency
|
|
75
74
|
export const config = { runtime: 'edge' };
|
|
76
75
|
import { handleMcpRequest } from '@suisei-mcp/mcp/http';
|
|
77
76
|
export default (req: Request) => handleMcpRequest(req);
|
|
78
77
|
```
|
|
79
78
|
|
|
80
79
|
Set `SUISEI_MCP_TOKEN` so the endpoint requires
|
|
81
|
-
`Authorization: Bearer <token>`
|
|
80
|
+
`Authorization: Bearer <token>` - a public MCP URL without a token is
|
|
82
81
|
open to the world.
|
|
83
82
|
|
|
84
83
|
**Signing caveat.** Reads (balances, coins, objects, transactions,
|
|
85
84
|
dynamic fields, gas, Walrus) work over a remote connector immediately.
|
|
86
|
-
The transaction-building tools still return *unsigned* bytes
|
|
85
|
+
The transaction-building tools still return *unsigned* bytes - signing
|
|
87
86
|
happens host-side, and a remote host (mobile) has no local wallet, so it
|
|
88
87
|
needs its own signing path (e.g. an Enoki-sponsored flow or a wallet
|
|
89
88
|
deep-link) to submit.
|
|
@@ -94,7 +93,7 @@ deep-link) to submit.
|
|
|
94
93
|
|
|
95
94
|
| Tool | What it does |
|
|
96
95
|
| ----------------------- | ------------------------------------------------------------ |
|
|
97
|
-
| `sui_resolve_address` | SuiNS name
|
|
96
|
+
| `sui_resolve_address` | SuiNS name -> 0x address (idempotent on 0x inputs) |
|
|
98
97
|
| `sui_get_balance` | SUI balance (in MIST + human-readable SUI) |
|
|
99
98
|
| `sui_get_all_balances` | Every coin balance a wallet holds, not just SUI |
|
|
100
99
|
| `sui_get_object` | Any object's type, owner, fields, and Display |
|
|
@@ -110,15 +109,15 @@ deep-link) to submit.
|
|
|
110
109
|
| `sui_get_validator` | One validator, with APY + commission + stake merged |
|
|
111
110
|
| `sui_query_events` | Historical events: filter by type / module / sender / tx |
|
|
112
111
|
| `sui_get_coin_metadata` | Live coin metadata (symbol, decimals, name, icon URL) |
|
|
113
|
-
| `sui_resolve_coin` | Symbol
|
|
112
|
+
| `sui_resolve_coin` | Symbol -> coin type from a built-in registry (USDC, DEEP, ...) |
|
|
114
113
|
| `sui_deepbook_quote` | Read-only DeepBook v3 quote: expected out + DEEP fee |
|
|
115
114
|
| `agent_wallet_status` | An agent wallet's SUI balance + whether it's funded |
|
|
116
115
|
|
|
117
|
-
**Build a transaction (never signed
|
|
116
|
+
**Build a transaction (never signed - bytes returned for the host)**
|
|
118
117
|
|
|
119
118
|
| Tool | What it does |
|
|
120
119
|
| ----------------------- | ------------------------------------------------------------ |
|
|
121
|
-
| `sui_move_call` | Build a call to ANY Move entry function
|
|
120
|
+
| `sui_move_call` | Build a call to ANY Move entry function - the universal write |
|
|
122
121
|
| `sui_transfer` | Build a transfer of SUI and/or whole objects |
|
|
123
122
|
| `sui_pay_many` | Build a batch payout: N recipients, N amounts, one atomic tx |
|
|
124
123
|
| `sui_stake` | Build a native staking delegation to a validator |
|
|
@@ -143,8 +142,7 @@ deep-link) to submit.
|
|
|
143
142
|
| `walrus_publish` | Publish a blob to Walrus testnet/mainnet |
|
|
144
143
|
| `walrus_fetch` | Fetch a blob from Walrus by id |
|
|
145
144
|
|
|
146
|
-
The build loop is: a `*_build`-style tool returns base64 tx bytes
|
|
147
|
-
`sui_dry_run` to verify → the host signs → `sui_execute_signed_tx` to
|
|
145
|
+
The build loop is: a `*_build`-style tool returns base64 tx bytes -> `sui_dry_run` to verify -> the host signs -> `sui_execute_signed_tx` to
|
|
148
146
|
submit. The toolkit never holds keys.
|
|
149
147
|
|
|
150
148
|
All tools return structured JSON in the `text` content block. The
|
|
@@ -163,8 +161,8 @@ calling agent is expected to parse it.
|
|
|
163
161
|
## Transport & deprecation
|
|
164
162
|
|
|
165
163
|
Sui is deprecating public JSON-RPC fullnode endpoints (~mid-2026) in
|
|
166
|
-
favour of gRPC and GraphQL. Transport is chosen in one place
|
|
167
|
-
`src/sui-client.ts`
|
|
164
|
+
favour of gRPC and GraphQL. Transport is chosen in one place -
|
|
165
|
+
`src/sui-client.ts` - so the rest of the toolkit never imports a client
|
|
168
166
|
directly.
|
|
169
167
|
|
|
170
168
|
Today `clientFor()` returns the JSON-RPC client, because building a
|
|
@@ -175,12 +173,12 @@ supported"/"not supported yet"). Reads already work over gRPC via
|
|
|
175
173
|
`grpcClientFor()`, also in that file.
|
|
176
174
|
|
|
177
175
|
When the SDK ships transaction-building over gRPC, the cutover is a
|
|
178
|
-
one-line change in `clientFor()`
|
|
176
|
+
one-line change in `clientFor()` - no tool touches transport directly.
|
|
179
177
|
|
|
180
178
|
## Development
|
|
181
179
|
|
|
182
180
|
```bash
|
|
183
|
-
git clone https://github.com/eienel/
|
|
181
|
+
git clone https://github.com/eienel/suisei
|
|
184
182
|
cd blockbuilders/packages/mcp
|
|
185
183
|
npm install
|
|
186
184
|
npm run build
|
package/dist/coins.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Network } from './sui-client.js';
|
|
2
2
|
/**
|
|
3
|
-
* Coin metadata registry
|
|
3
|
+
* Coin metadata registry - the "what is USDC's coin type" table. Static
|
|
4
4
|
* because mainnet/testnet coin types are upgrade-stable; if Sui ever
|
|
5
5
|
* redeploys one, override the type explicitly in any tool that takes
|
|
6
6
|
* coin_type, or update this file. Decimals are cached here so an agent
|
package/dist/http.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Remote (Streamable HTTP) entrypoint
|
|
2
|
+
* Remote (Streamable HTTP) entrypoint - Web Standards flavour.
|
|
3
3
|
*
|
|
4
4
|
* `handleMcpRequest(request)` is a runtime-agnostic Fetch handler: it runs
|
|
5
5
|
* on Vercel Edge, Cloudflare Workers, Deno, Bun, and Node 18+. Wire it to
|
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Stateless: a fresh server + transport per request (no session store),
|
|
10
10
|
* which is what serverless wants. Reads work great over a remote
|
|
11
|
-
* connector; transaction-building tools return unsigned bytes
|
|
11
|
+
* connector; transaction-building tools return unsigned bytes - signing
|
|
12
12
|
* still happens host-side, so a remote host needs its own signing path.
|
|
13
13
|
*/
|
|
14
14
|
export interface McpHttpOptions {
|
|
15
15
|
/**
|
|
16
16
|
* If set, requests must carry `Authorization: Bearer <token>`. Falls
|
|
17
17
|
* back to the SUISEI_MCP_TOKEN env var (with SUI_SKILLS_MCP_TOKEN kept
|
|
18
|
-
* as a compatibility alias). Leave unset only for local testing
|
|
18
|
+
* as a compatibility alias). Leave unset only for local testing - a
|
|
19
19
|
* public endpoint without a token is open to the world.
|
|
20
20
|
*/
|
|
21
21
|
authToken?: string;
|
package/dist/http.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Remote (Streamable HTTP) entrypoint
|
|
2
|
+
* Remote (Streamable HTTP) entrypoint - Web Standards flavour.
|
|
3
3
|
*
|
|
4
4
|
* `handleMcpRequest(request)` is a runtime-agnostic Fetch handler: it runs
|
|
5
5
|
* on Vercel Edge, Cloudflare Workers, Deno, Bun, and Node 18+. Wire it to
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Stateless: a fresh server + transport per request (no session store),
|
|
10
10
|
* which is what serverless wants. Reads work great over a remote
|
|
11
|
-
* connector; transaction-building tools return unsigned bytes
|
|
11
|
+
* connector; transaction-building tools return unsigned bytes - signing
|
|
12
12
|
* still happens host-side, so a remote host needs its own signing path.
|
|
13
13
|
*/
|
|
14
14
|
import { WebStandardStreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js';
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/dist/node.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Node HTTP bridge for the Streamable HTTP transport.
|
|
3
3
|
*
|
|
4
4
|
* `handleMcpRequest` (http.ts) speaks the Web Fetch API. This adapter lets
|
|
5
|
-
* it serve Node `http`-style handlers
|
|
5
|
+
* it serve Node `http`-style handlers - used by both the standalone server
|
|
6
6
|
* (serve.ts) and a Vercel Node serverless function. Node runtime is needed
|
|
7
7
|
* (not Edge) because some tools use the Node `Buffer` global.
|
|
8
8
|
*/
|
package/dist/node.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Node HTTP bridge for the Streamable HTTP transport.
|
|
3
3
|
*
|
|
4
4
|
* `handleMcpRequest` (http.ts) speaks the Web Fetch API. This adapter lets
|
|
5
|
-
* it serve Node `http`-style handlers
|
|
5
|
+
* it serve Node `http`-style handlers - used by both the standalone server
|
|
6
6
|
* (serve.ts) and a Vercel Node serverless function. Node runtime is needed
|
|
7
7
|
* (not Edge) because some tools use the Node `Buffer` global.
|
|
8
8
|
*/
|
package/dist/serve.d.ts
CHANGED
package/dist/serve.js
CHANGED
package/dist/server.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @suisei-mcp/mcp
|
|
2
|
+
* @suisei-mcp/mcp - server factory.
|
|
3
3
|
*
|
|
4
4
|
* Builds the Suisei MCP server with the full Sui-stack tool registry.
|
|
5
5
|
* Transport is chosen by the entrypoint: `index.ts` (stdio) for local
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* remote hosts like Claude's Custom Connectors (web + mobile). Both call
|
|
8
8
|
* createServer() so there is exactly one tool registry.
|
|
9
9
|
*
|
|
10
|
-
* Write tools never hold keys
|
|
10
|
+
* Write tools never hold keys - they return unsigned tx bytes for the
|
|
11
11
|
* host to sign, then sui_execute_signed_tx submits the signed result.
|
|
12
12
|
*
|
|
13
13
|
* The server identifies itself as "suisei" over the MCP protocol; tool
|
package/dist/server.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @suisei-mcp/mcp
|
|
2
|
+
* @suisei-mcp/mcp - server factory.
|
|
3
3
|
*
|
|
4
4
|
* Builds the Suisei MCP server with the full Sui-stack tool registry.
|
|
5
5
|
* Transport is chosen by the entrypoint: `index.ts` (stdio) for local
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* remote hosts like Claude's Custom Connectors (web + mobile). Both call
|
|
8
8
|
* createServer() so there is exactly one tool registry.
|
|
9
9
|
*
|
|
10
|
-
* Write tools never hold keys
|
|
10
|
+
* Write tools never hold keys - they return unsigned tx bytes for the
|
|
11
11
|
* host to sign, then sui_execute_signed_tx submits the signed result.
|
|
12
12
|
*
|
|
13
13
|
* The server identifies itself as "suisei" over the MCP protocol; tool
|
|
@@ -51,7 +51,7 @@ import { suiExecuteSignedTx } from './tools/sui_execute_signed_tx.js';
|
|
|
51
51
|
import { walrusPublish } from './tools/walrus_publish.js';
|
|
52
52
|
import { walrusFetch } from './tools/walrus_fetch.js';
|
|
53
53
|
export const PKG_VERSION = '0.1.0';
|
|
54
|
-
/** Shared network selector
|
|
54
|
+
/** Shared network selector - every tool defaults to testnet. */
|
|
55
55
|
const networkSchema = z
|
|
56
56
|
.enum(['testnet', 'mainnet', 'devnet'])
|
|
57
57
|
.default('testnet')
|
|
@@ -61,7 +61,7 @@ const tools = [
|
|
|
61
61
|
name: 'sui_resolve_address',
|
|
62
62
|
description: 'Resolve a Sui address from a SuiNS name (e.g. "alice.sui") or echo back a 0x address if already canonical. Use this whenever the user gives you a human-readable name.',
|
|
63
63
|
inputSchema: z.object({
|
|
64
|
-
name_or_address: z.string().describe('A SuiNS name or 0x
|
|
64
|
+
name_or_address: z.string().describe('A SuiNS name or 0x... address.'),
|
|
65
65
|
network: networkSchema,
|
|
66
66
|
}),
|
|
67
67
|
handler: suiResolveAddress,
|
|
@@ -86,7 +86,7 @@ const tools = [
|
|
|
86
86
|
},
|
|
87
87
|
{
|
|
88
88
|
name: 'sui_get_object',
|
|
89
|
-
description: "Read any on-chain object: its Move type, owner, version, content fields, and Display metadata. The general read primitive
|
|
89
|
+
description: "Read any on-chain object: its Move type, owner, version, content fields, and Display metadata. The general read primitive - use it to inspect any object id.",
|
|
90
90
|
inputSchema: z.object({
|
|
91
91
|
object_id: z.string().describe('The 0x object id to read.'),
|
|
92
92
|
network: networkSchema,
|
|
@@ -95,7 +95,7 @@ const tools = [
|
|
|
95
95
|
},
|
|
96
96
|
{
|
|
97
97
|
name: 'sui_get_owned_objects',
|
|
98
|
-
description: 'List objects owned by an address, optionally filtered to one Move struct type (e.g. "0x2::coin::Coin<0x2::sui::SUI>"). Paginated
|
|
98
|
+
description: 'List objects owned by an address, optionally filtered to one Move struct type (e.g. "0x2::coin::Coin<0x2::sui::SUI>"). Paginated - pass the returned next_cursor to continue.',
|
|
99
99
|
inputSchema: z.object({
|
|
100
100
|
address: z.string().describe('Wallet address whose objects to list.'),
|
|
101
101
|
struct_type: z
|
|
@@ -155,7 +155,7 @@ const tools = [
|
|
|
155
155
|
},
|
|
156
156
|
{
|
|
157
157
|
name: 'sui_get_dynamic_fields',
|
|
158
|
-
description: 'List the dynamic fields attached to a parent object
|
|
158
|
+
description: 'List the dynamic fields attached to a parent object - how Sui stores Tables, Bags, and other on-chain collections. Returns each field name, type, and child object id. Paginated.',
|
|
159
159
|
inputSchema: z.object({
|
|
160
160
|
parent_id: z.string().describe('Object id whose dynamic fields to list.'),
|
|
161
161
|
cursor: z.string().optional().describe('Pagination cursor from a previous call.'),
|
|
@@ -198,7 +198,7 @@ const tools = [
|
|
|
198
198
|
},
|
|
199
199
|
{
|
|
200
200
|
name: 'sui_get_validator',
|
|
201
|
-
description:
|
|
201
|
+
description: "One validator with APY merged: name, address, commission, total stake, voting power, project URL, and the live APY the chain computes from recent rewards. Fuses sui_get_validators + sui_get_validators_apy into a single read so a staking app doesn't join them by hand.",
|
|
202
202
|
inputSchema: z.object({
|
|
203
203
|
validator_address: z.string().describe('Validator 0x address.'),
|
|
204
204
|
network: networkSchema,
|
|
@@ -207,7 +207,7 @@ const tools = [
|
|
|
207
207
|
},
|
|
208
208
|
{
|
|
209
209
|
name: 'sui_query_events',
|
|
210
|
-
description: 'Query historical Move events. Powers reactive agents
|
|
210
|
+
description: 'Query historical Move events. Powers reactive agents - react to swaps, mints, transfers, anything that emits an event. Filter by event_type (full type), package+module (both required together), sender, or transaction. Paginated; pass back next_cursor_tx_digest + next_cursor_event_seq to continue. At least one filter is required.',
|
|
211
211
|
inputSchema: z.object({
|
|
212
212
|
event_type: z.string().optional().describe('Full Move event type, e.g. "0x2::coin::CurrencyCreated<0x2::sui::SUI>".'),
|
|
213
213
|
package: z.string().optional().describe('Package id to filter by.'),
|
|
@@ -224,7 +224,7 @@ const tools = [
|
|
|
224
224
|
},
|
|
225
225
|
{
|
|
226
226
|
name: 'sui_get_coin_metadata',
|
|
227
|
-
description: "Live coin metadata: symbol, name, decimals, description, icon URL. Pass coin_type ('0x
|
|
227
|
+
description: "Live coin metadata: symbol, name, decimals, description, icon URL. Pass coin_type ('0x...') or symbol ('USDC'); a symbol resolves via the local registry first. Decimals are critical for every DeFi flow - '5 USDC' = 5e6 smallest units (6 decimals), not 5e9.",
|
|
228
228
|
inputSchema: z.object({
|
|
229
229
|
coin_type: z.string().optional().describe('Fully-qualified coin type.'),
|
|
230
230
|
symbol: z.string().optional().describe('Symbol to look up in the local registry (e.g. "USDC").'),
|
|
@@ -234,7 +234,7 @@ const tools = [
|
|
|
234
234
|
},
|
|
235
235
|
{
|
|
236
236
|
name: 'sui_resolve_coin',
|
|
237
|
-
description: 'Resolve a coin symbol (e.g. "USDC", "DEEP", "SUI") to its fully-qualified coin type on the chosen network, or
|
|
237
|
+
description: 'Resolve a coin symbol (e.g. "USDC", "DEEP", "SUI") to its fully-qualified coin type on the chosen network, or - with no symbol - list every known symbol. Stops agents from hallucinating coin types.',
|
|
238
238
|
inputSchema: z.object({
|
|
239
239
|
symbol: z.string().optional().describe('Symbol to resolve. Omit to list known symbols.'),
|
|
240
240
|
network: networkSchema,
|
|
@@ -257,7 +257,7 @@ const tools = [
|
|
|
257
257
|
},
|
|
258
258
|
{
|
|
259
259
|
name: 'sui_move_call',
|
|
260
|
-
description: 'Build (do not sign) a transaction calling ANY Move entry function
|
|
260
|
+
description: 'Build (do not sign) a transaction calling ANY Move entry function - the universal write primitive. Each argument is a string: "object:<id>", or "pure:<type>:<value>" where type is address|id|bool|string|u8|u16|u32|u64|u128|u256. Vectors/structs are out of scope; use a dedicated tool for those. Returns base64 tx bytes.',
|
|
261
261
|
inputSchema: z.object({
|
|
262
262
|
target: z
|
|
263
263
|
.string()
|
|
@@ -346,7 +346,7 @@ const tools = [
|
|
|
346
346
|
},
|
|
347
347
|
{
|
|
348
348
|
name: 'sui_deepbook_swap',
|
|
349
|
-
description: 'Build (do not sign) a DeepBook v3 market swap
|
|
349
|
+
description: 'Build (do not sign) a DeepBook v3 market swap - the universal liquidity primitive. Pass a known pool key (e.g. "SUI_DBUSDC" on testnet, "SUI_USDC" on mainnet) or explicit pool_id + base_type + quote_type. amount and min_out are raw smallest-unit strings (caller handles decimals and slippage). DeepBook charges fees in DEEP: whitelisted pools take deep_amount "0", others require the sender to hold DEEP. Returns base64 tx bytes.',
|
|
350
350
|
inputSchema: z.object({
|
|
351
351
|
sender: z.string().describe('0x address that will sign, pay, and receive the output.'),
|
|
352
352
|
direction: z
|
|
@@ -385,7 +385,7 @@ const tools = [
|
|
|
385
385
|
},
|
|
386
386
|
{
|
|
387
387
|
name: 'agent_wallet_fund',
|
|
388
|
-
description: "Build (do not sign) a tx that funds an agent wallet: split amount_mist from the OWNER's gas and send it to the agent address. The owner signs this with their own wallet
|
|
388
|
+
description: "Build (do not sign) a tx that funds an agent wallet: split amount_mist from the OWNER's gas and send it to the agent address. The owner signs this with their own wallet - the agent never touches the owner's key. This sets the agent's allowance: its spending power is bounded by what's funded here. Returns base64 tx bytes.",
|
|
389
389
|
inputSchema: z.object({
|
|
390
390
|
owner: z.string().describe("0x address of the owner funding (signs and pays)."),
|
|
391
391
|
agent: z.string().describe('0x address of the agent wallet to fund.'),
|
|
@@ -419,7 +419,7 @@ const tools = [
|
|
|
419
419
|
},
|
|
420
420
|
{
|
|
421
421
|
name: 'sui_decode_tx_bytes',
|
|
422
|
-
description: 'Decode unsigned tx bytes (from any builder tool) into a structured, human-readable summary: sender, gas data, inputs, and a step-by-step list of commands ("split N MIST from gas", "transfer to 0x
|
|
422
|
+
description: 'Decode unsigned tx bytes (from any builder tool) into a structured, human-readable summary: sender, gas data, inputs, and a step-by-step list of commands ("split N MIST from gas", "transfer to 0x...", "call pkg::module::fn(...)"). The "look before you sign" tool - verifies a built tx matches its stated intent. Pure offline decode, no RPC.',
|
|
423
423
|
inputSchema: z.object({
|
|
424
424
|
tx_bytes_base64: z.string().describe('Base64 tx bytes from a builder tool.'),
|
|
425
425
|
}),
|
|
@@ -521,7 +521,7 @@ export function createServer() {
|
|
|
521
521
|
return server;
|
|
522
522
|
}
|
|
523
523
|
/**
|
|
524
|
-
* Minimal Zod
|
|
524
|
+
* Minimal Zod -> JSON-Schema converter for the inputs we actually use
|
|
525
525
|
* here. Avoids pulling a 50KB schema library into a server that just
|
|
526
526
|
* needs to describe a handful of flat tool-input objects.
|
|
527
527
|
*/
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/sui-client.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export type Network = 'testnet' | 'mainnet' | 'devnet';
|
|
|
7
7
|
*/
|
|
8
8
|
export declare function clientFor(network: Network): SuiClient;
|
|
9
9
|
/**
|
|
10
|
-
* gRPC client
|
|
10
|
+
* gRPC client - the forward-looking transport. Reads (balances, coins,
|
|
11
11
|
* owned objects, dynamic fields, gas price, getTransaction, dryRun,
|
|
12
12
|
* execute) work today; transaction *building* does not yet. Exposed so
|
|
13
13
|
* read tools can migrate incrementally and so the eventual cutover is a
|
package/dist/sui-client.js
CHANGED
|
@@ -12,9 +12,9 @@ import { SuiGrpcClient } from '@mysten/sui/grpc';
|
|
|
12
12
|
* resolution* (resolving object refs and gas coins). As of @mysten/sui
|
|
13
13
|
* 1.45.x that is implemented only for the JSON-RPC `SuiClient`. Verified
|
|
14
14
|
* against testnet:
|
|
15
|
-
* - SuiGrpcClient
|
|
15
|
+
* - SuiGrpcClient -> "Transaction resolution is not supported with
|
|
16
16
|
* the GRPC client"
|
|
17
|
-
* - SuiGraphQLClient
|
|
17
|
+
* - SuiGraphQLClient -> "GraphQL client does not support transaction
|
|
18
18
|
* resolution yet"
|
|
19
19
|
* So every transaction-building tool (move_call, transfer, stake,
|
|
20
20
|
* unstake, mint_badge) must stay on JSON-RPC until the SDK ships build
|
|
@@ -23,7 +23,7 @@ import { SuiGrpcClient } from '@mysten/sui/grpc';
|
|
|
23
23
|
* Migration trigger: once `tx.build({ client: grpcClientFor(net) })`
|
|
24
24
|
* succeeds on a current SDK, switch `clientFor` to return the gRPC client
|
|
25
25
|
* and delete this note. Reads already work over gRPC today via
|
|
26
|
-
* `grpcClientFor()` below
|
|
26
|
+
* `grpcClientFor()` below - wire individual read tools to it whenever we
|
|
27
27
|
* choose to move them off JSON-RPC ahead of the cutoff.
|
|
28
28
|
*/
|
|
29
29
|
/** gRPC-web fullnode endpoints, by network. */
|
|
@@ -47,7 +47,7 @@ export function clientFor(network) {
|
|
|
47
47
|
return c;
|
|
48
48
|
}
|
|
49
49
|
/**
|
|
50
|
-
* gRPC client
|
|
50
|
+
* gRPC client - the forward-looking transport. Reads (balances, coins,
|
|
51
51
|
* owned objects, dynamic fields, gas price, getTransaction, dryRun,
|
|
52
52
|
* execute) work today; transaction *building* does not yet. Exposed so
|
|
53
53
|
* read tools can migrate incrementally and so the eventual cutover is a
|
|
@@ -17,7 +17,7 @@ export async function agentWalletSweep(raw) {
|
|
|
17
17
|
const tx = new Transaction();
|
|
18
18
|
tx.setSender(agent);
|
|
19
19
|
// Transferring the gas coin sends its remaining balance (after gas) to
|
|
20
|
-
// the owner
|
|
20
|
+
// the owner - i.e. sweeps all native SUI.
|
|
21
21
|
const toMove = [tx.gas, ...(object_ids ?? []).map((id) => tx.object(id))];
|
|
22
22
|
tx.transferObjects(toMove, tx.pure.address(owner));
|
|
23
23
|
const tx_bytes_base64 = await buildToB64(tx, client);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Decode unsigned tx bytes (from any builder tool) back into a structured,
|
|
3
3
|
* human-readable summary: sender, gas data, inputs, and a step-by-step
|
|
4
|
-
* list of commands ("split N MIST from gas", "transfer to 0x
|
|
4
|
+
* list of commands ("split N MIST from gas", "transfer to 0x...",
|
|
5
5
|
* "call pkg::module::function with [args]").
|
|
6
6
|
*
|
|
7
7
|
* The "look before you sign" tool. A wallet shows the user what they're
|
|
8
|
-
* authorising; this lets an agent
|
|
9
|
-
* output
|
|
8
|
+
* authorising; this lets an agent - or a person reading the agent's
|
|
9
|
+
* output - verify a built tx matches the stated intent. Pairs naturally
|
|
10
10
|
* with sui_dry_run for cost; this one is about *meaning*.
|
|
11
11
|
*
|
|
12
12
|
* Works offline (no RPC). All addresses are kept full-form so the caller
|
|
@@ -3,12 +3,12 @@ import { bcs } from '@mysten/sui/bcs';
|
|
|
3
3
|
/**
|
|
4
4
|
* Decode unsigned tx bytes (from any builder tool) back into a structured,
|
|
5
5
|
* human-readable summary: sender, gas data, inputs, and a step-by-step
|
|
6
|
-
* list of commands ("split N MIST from gas", "transfer to 0x
|
|
6
|
+
* list of commands ("split N MIST from gas", "transfer to 0x...",
|
|
7
7
|
* "call pkg::module::function with [args]").
|
|
8
8
|
*
|
|
9
9
|
* The "look before you sign" tool. A wallet shows the user what they're
|
|
10
|
-
* authorising; this lets an agent
|
|
11
|
-
* output
|
|
10
|
+
* authorising; this lets an agent - or a person reading the agent's
|
|
11
|
+
* output - verify a built tx matches the stated intent. Pairs naturally
|
|
12
12
|
* with sui_dry_run for cost; this one is about *meaning*.
|
|
13
13
|
*
|
|
14
14
|
* Works offline (no RPC). All addresses are kept full-form so the caller
|
|
@@ -37,7 +37,7 @@ export async function suiDecodeTxBytes(raw) {
|
|
|
37
37
|
command_count: commands.length,
|
|
38
38
|
commands,
|
|
39
39
|
plain_english: commands.map((c) => `${c.index + 1}. ${c.summary}`).join('\n'),
|
|
40
|
-
note:
|
|
40
|
+
note: "Decoded from BCS offline. Compare against the agent's stated intent before signing.",
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
43
|
function describeInput(input, i) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Read-only DeepBook v3 quote. Calls pool::get_quote_quantity_out (selling
|
|
3
|
-
* base) or get_base_quantity_out (selling quote) via devInspect
|
|
3
|
+
* base) or get_base_quantity_out (selling quote) via devInspect - no gas,
|
|
4
4
|
* no signing, no funds. Returns the expected output and the DEEP fee
|
|
5
5
|
* required, so an agent can size min_out for sui_deepbook_swap before
|
|
6
6
|
* building the real transaction.
|
|
@@ -4,7 +4,7 @@ import { clientFor } from '../sui-client.js';
|
|
|
4
4
|
import { DEEPBOOK_PACKAGE_ID, POOLS } from '../deepbook.js';
|
|
5
5
|
/**
|
|
6
6
|
* Read-only DeepBook v3 quote. Calls pool::get_quote_quantity_out (selling
|
|
7
|
-
* base) or get_base_quantity_out (selling quote) via devInspect
|
|
7
|
+
* base) or get_base_quantity_out (selling quote) via devInspect - no gas,
|
|
8
8
|
* no signing, no funds. Returns the expected output and the DEEP fee
|
|
9
9
|
* required, so an agent can size min_out for sui_deepbook_swap before
|
|
10
10
|
* building the real transaction.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Build (do not sign) a DeepBook v3 market swap. Mirrors the exact PTB the
|
|
3
|
-
* official @mysten/deepbook-v3 SDK emits
|
|
4
|
-
* / swap_exact_quote_for_base
|
|
3
|
+
* official @mysten/deepbook-v3 SDK emits - pool::swap_exact_base_for_quote
|
|
4
|
+
* / swap_exact_quote_for_base - but on @mysten/sui v1, so the toolkit
|
|
5
5
|
* stays non-custodial and on its current SDK.
|
|
6
6
|
*
|
|
7
7
|
* Amounts are raw smallest-unit strings (like MIST): the caller handles
|
|
@@ -5,8 +5,8 @@ import { buildToB64 } from '../tx.js';
|
|
|
5
5
|
import { DEEPBOOK_PACKAGE_ID, DEEP_TYPE, POOLS } from '../deepbook.js';
|
|
6
6
|
/**
|
|
7
7
|
* Build (do not sign) a DeepBook v3 market swap. Mirrors the exact PTB the
|
|
8
|
-
* official @mysten/deepbook-v3 SDK emits
|
|
9
|
-
* / swap_exact_quote_for_base
|
|
8
|
+
* official @mysten/deepbook-v3 SDK emits - pool::swap_exact_base_for_quote
|
|
9
|
+
* / swap_exact_quote_for_base - but on @mysten/sui v1, so the toolkit
|
|
10
10
|
* stays non-custodial and on its current SDK.
|
|
11
11
|
*
|
|
12
12
|
* Amounts are raw smallest-unit strings (like MIST): the caller handles
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Live coin metadata: symbol, name, decimals, description, icon URL. Pass
|
|
3
3
|
* coin_type (e.g. "0x2::sui::SUI") or symbol (e.g. "USDC"). With symbol,
|
|
4
|
-
* the local registry resolves to a coin_type first
|
|
4
|
+
* the local registry resolves to a coin_type first - this works even when
|
|
5
5
|
* the on-chain CoinMetadata is absent or slow.
|
|
6
6
|
*
|
|
7
7
|
* Decimals are critical for every DeFi flow: a "5 USDC" transfer is 5e6
|
|
@@ -3,7 +3,7 @@ import { findCoin } from '../coins.js';
|
|
|
3
3
|
/**
|
|
4
4
|
* Live coin metadata: symbol, name, decimals, description, icon URL. Pass
|
|
5
5
|
* coin_type (e.g. "0x2::sui::SUI") or symbol (e.g. "USDC"). With symbol,
|
|
6
|
-
* the local registry resolves to a coin_type first
|
|
6
|
+
* the local registry resolves to a coin_type first - this works even when
|
|
7
7
|
* the on-chain CoinMetadata is absent or slow.
|
|
8
8
|
*
|
|
9
9
|
* Decimals are critical for every DeFi flow: a "5 USDC" transfer is 5e6
|
|
@@ -9,7 +9,7 @@ export async function suiGetCoins(raw) {
|
|
|
9
9
|
const client = clientFor(network);
|
|
10
10
|
const res = await client.getCoins({
|
|
11
11
|
owner: address,
|
|
12
|
-
coinType: coin_type, // undefined
|
|
12
|
+
coinType: coin_type, // undefined -> native 0x2::sui::SUI
|
|
13
13
|
cursor: cursor ?? null,
|
|
14
14
|
limit,
|
|
15
15
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sui_get_coins.js","sourceRoot":"","sources":["../../src/tools/sui_get_coins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,kBAAkB,CAAC;AAU3D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAY;IAC5C,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,GAAW,CAAC;IACnE,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAElC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;QAChC,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"sui_get_coins.js","sourceRoot":"","sources":["../../src/tools/sui_get_coins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,kBAAkB,CAAC;AAU3D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAY;IAC5C,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,GAAW,CAAC;IACnE,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAElC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;QAChC,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,SAAS,EAAE,oCAAoC;QACzD,MAAM,EAAE,MAAM,IAAI,IAAI;QACtB,KAAK;KACN,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,OAAO;QACP,OAAO;QACP,SAAS,EAAE,SAAS,IAAI,eAAe;QACvC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM;QACtB,aAAa,EAAE,GAAG,CAAC,WAAW;QAC9B,WAAW,EAAE,GAAG,CAAC,UAAU,IAAI,IAAI;QACnC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1B,cAAc,EAAE,CAAC,CAAC,YAAY;YAC9B,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC,CAAC;KACJ,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* List the dynamic fields attached to a parent object
|
|
2
|
+
* List the dynamic fields attached to a parent object - the way Sui
|
|
3
3
|
* stores Tables, Bags, and other on-chain collections. Returns each
|
|
4
4
|
* field's name, type, and the child object id. Paginated.
|
|
5
5
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { clientFor } from '../sui-client.js';
|
|
2
2
|
/**
|
|
3
|
-
* List the dynamic fields attached to a parent object
|
|
3
|
+
* List the dynamic fields attached to a parent object - the way Sui
|
|
4
4
|
* stores Tables, Bags, and other on-chain collections. Returns each
|
|
5
5
|
* field's name, type, and the child object id. Paginated.
|
|
6
6
|
*/
|
|
@@ -6,8 +6,8 @@ import { clientFor } from '../sui-client.js';
|
|
|
6
6
|
* or pass `badge_package` explicitly.
|
|
7
7
|
*/
|
|
8
8
|
const DEFAULT_BADGE_PACKAGE = {
|
|
9
|
-
// testnet: '0x
|
|
10
|
-
// mainnet: '0x
|
|
9
|
+
// testnet: '0x...', // paste published package id here
|
|
10
|
+
// mainnet: '0x...',
|
|
11
11
|
};
|
|
12
12
|
export async function suiGetOwnedBadges(raw) {
|
|
13
13
|
const { address, badge_package, network } = raw;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sui_get_owned_badges.js","sourceRoot":"","sources":["../../src/tools/sui_get_owned_badges.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,kBAAkB,CAAC;AAQ3D;;;;;GAKG;AACH,MAAM,qBAAqB,GAAqC;AAC9D,
|
|
1
|
+
{"version":3,"file":"sui_get_owned_badges.js","sourceRoot":"","sources":["../../src/tools/sui_get_owned_badges.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,kBAAkB,CAAC;AAQ3D;;;;;GAKG;AACH,MAAM,qBAAqB,GAAqC;AAC9D,wDAAwD;AACxD,oBAAoB;CACrB,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAY;IAClD,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,GAAW,CAAC;IACxD,MAAM,GAAG,GACP,aAAa;QACb,OAAO,CAAC,GAAG,CAAC,oBAAoB;QAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,wBAAwB,OAAO,oFAAoF,CACpH,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,GAAG,GAAG,gBAAgB,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC;QACzC,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;QACjC,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;SAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC;QAChC,MAAM,MAAM,GACV,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,YAAY;YAC1C,CAAC,CAAE,OAAO,CAAC,MAAkC;YAC7C,CAAC,CAAC,IAAI,CAAC;QACX,OAAO;YACL,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ;YAC3B,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI;YAClB,QAAQ,EAAE,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC;YAC9C,YAAY,EAAE,MAAM,EAAE,YAAY;YAClC,YAAY,EAAE,MAAM,EAAE,YAAY;SACnC,CAAC;IACJ,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEhC,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,OAAO;QACP,aAAa,EAAE,GAAG;QAClB,OAAO;QACP,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAED,iFAAiF;AACjF,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,KAAiB,CAAC,CAAC,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* List an address's active native stakes, grouped by validator. For each
|
|
3
3
|
* StakedSui the chain returns the principal, the (estimated) rewards
|
|
4
|
-
* accrued so far, and the activation epoch
|
|
4
|
+
* accrued so far, and the activation epoch - everything a staking app
|
|
5
5
|
* needs to show "you staked X, you've earned Y". Read-only: no gas, no
|
|
6
6
|
* signing.
|
|
7
7
|
*
|
|
@@ -3,7 +3,7 @@ const toSui = (mist) => Number(BigInt(mist)) / 1e9;
|
|
|
3
3
|
/**
|
|
4
4
|
* List an address's active native stakes, grouped by validator. For each
|
|
5
5
|
* StakedSui the chain returns the principal, the (estimated) rewards
|
|
6
|
-
* accrued so far, and the activation epoch
|
|
6
|
+
* accrued so far, and the activation epoch - everything a staking app
|
|
7
7
|
* needs to show "you staked X, you've earned Y". Read-only: no gas, no
|
|
8
8
|
* signing.
|
|
9
9
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* One validator's full picture, with APY merged: name, address, commission,
|
|
3
|
-
* total stake, voting power, project URL
|
|
3
|
+
* total stake, voting power, project URL - plus the live APY the chain
|
|
4
4
|
* computes from recent epoch rewards. Fuses sui_get_validators and
|
|
5
5
|
* sui_get_validators_apy into a single read so a staking app doesn't have
|
|
6
6
|
* to join them by hand.
|
|
@@ -2,7 +2,7 @@ import { clientFor } from '../sui-client.js';
|
|
|
2
2
|
const toSui = (mist) => Number(BigInt(mist)) / 1e9;
|
|
3
3
|
/**
|
|
4
4
|
* One validator's full picture, with APY merged: name, address, commission,
|
|
5
|
-
* total stake, voting power, project URL
|
|
5
|
+
* total stake, voting power, project URL - plus the live APY the chain
|
|
6
6
|
* computes from recent epoch rewards. Fuses sui_get_validators and
|
|
7
7
|
* sui_get_validators_apy into a single read so a staking app doesn't have
|
|
8
8
|
* to join them by hand.
|
|
@@ -25,7 +25,7 @@ export async function suiGetValidators(raw) {
|
|
|
25
25
|
next_epoch_stake_mist: v.nextEpochStake,
|
|
26
26
|
voting_power: Number(v.votingPower),
|
|
27
27
|
}));
|
|
28
|
-
// Largest first
|
|
28
|
+
// Largest first - a reasonable default for a validator picker.
|
|
29
29
|
validators.sort((a, b) => Number(BigInt(b.staking_pool_sui_balance_mist) - BigInt(a.staking_pool_sui_balance_mist)));
|
|
30
30
|
if (typeof limit === 'number') {
|
|
31
31
|
validators = validators.slice(0, limit);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Build (do not sign) a transaction that calls ANY Move entry function.
|
|
3
|
-
* This is the universal write primitive
|
|
3
|
+
* This is the universal write primitive - the generic form of every
|
|
4
4
|
* purpose-built mint/transfer tool.
|
|
5
5
|
*
|
|
6
6
|
* Each argument is a string in one of these forms:
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* - `pure:u8|u16|u32|u64|u128|u256:<number>`
|
|
13
13
|
*
|
|
14
14
|
* Vector and nested-struct arguments are intentionally out of scope for
|
|
15
|
-
* the generic tool
|
|
15
|
+
* the generic tool - write a dedicated tool for those so the schema
|
|
16
16
|
* stays unambiguous for the calling agent.
|
|
17
17
|
*/
|
|
18
18
|
export declare function suiMoveCall(raw: unknown): Promise<string>;
|
|
@@ -3,7 +3,7 @@ import { clientFor } from '../sui-client.js';
|
|
|
3
3
|
import { buildToB64 } from '../tx.js';
|
|
4
4
|
/**
|
|
5
5
|
* Build (do not sign) a transaction that calls ANY Move entry function.
|
|
6
|
-
* This is the universal write primitive
|
|
6
|
+
* This is the universal write primitive - the generic form of every
|
|
7
7
|
* purpose-built mint/transfer tool.
|
|
8
8
|
*
|
|
9
9
|
* Each argument is a string in one of these forms:
|
|
@@ -15,7 +15,7 @@ import { buildToB64 } from '../tx.js';
|
|
|
15
15
|
* - `pure:u8|u16|u32|u64|u128|u256:<number>`
|
|
16
16
|
*
|
|
17
17
|
* Vector and nested-struct arguments are intentionally out of scope for
|
|
18
|
-
* the generic tool
|
|
18
|
+
* the generic tool - write a dedicated tool for those so the schema
|
|
19
19
|
* stays unambiguous for the calling agent.
|
|
20
20
|
*/
|
|
21
21
|
export async function suiMoveCall(raw) {
|
|
@@ -34,7 +34,7 @@ export async function suiPayMany(raw) {
|
|
|
34
34
|
payout_count: recipients.length,
|
|
35
35
|
total_mist: total,
|
|
36
36
|
total_sui: Number(BigInt(total)) / 1e9,
|
|
37
|
-
next_step: 'Dry-run with sui_dry_run, sign, and submit with sui_execute_signed_tx. All N payouts settle atomically
|
|
37
|
+
next_step: 'Dry-run with sui_dry_run, sign, and submit with sui_execute_signed_tx. All N payouts settle atomically - they all land or none do.',
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
40
|
//# sourceMappingURL=sui_pay_many.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Query historical events. Powers reactive agents: react to swaps on a
|
|
3
|
-
* pool, badge mints, NFT transfers
|
|
4
|
-
* Filter by full event_type, by Move module (package + module
|
|
3
|
+
* pool, badge mints, NFT transfers - anything that emits a Move event.
|
|
4
|
+
* Filter by full event_type, by Move module (package + module - both
|
|
5
5
|
* required together), by sender, or by transaction. Paginated; pass back
|
|
6
6
|
* next_cursor_* to continue.
|
|
7
7
|
*
|
|
8
8
|
* Sui's event index requires at least one filter; an unfiltered scan
|
|
9
9
|
* would return the whole chain. Package-only filtering is not supported
|
|
10
|
-
* by the fullnode
|
|
10
|
+
* by the fullnode - pair package with module.
|
|
11
11
|
*/
|
|
12
12
|
export declare function suiQueryEvents(raw: unknown): Promise<string>;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { clientFor } from '../sui-client.js';
|
|
2
2
|
/**
|
|
3
3
|
* Query historical events. Powers reactive agents: react to swaps on a
|
|
4
|
-
* pool, badge mints, NFT transfers
|
|
5
|
-
* Filter by full event_type, by Move module (package + module
|
|
4
|
+
* pool, badge mints, NFT transfers - anything that emits a Move event.
|
|
5
|
+
* Filter by full event_type, by Move module (package + module - both
|
|
6
6
|
* required together), by sender, or by transaction. Paginated; pass back
|
|
7
7
|
* next_cursor_* to continue.
|
|
8
8
|
*
|
|
9
9
|
* Sui's event index requires at least one filter; an unfiltered scan
|
|
10
10
|
* would return the whole chain. Package-only filtering is not supported
|
|
11
|
-
* by the fullnode
|
|
11
|
+
* by the fullnode - pair package with module.
|
|
12
12
|
*/
|
|
13
13
|
export async function suiQueryEvents(raw) {
|
|
14
14
|
const a = raw;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Resolve a coin symbol (e.g. "USDC", "DEEP", "SUI") to its fully-qualified
|
|
3
3
|
* coin type on the chosen network. Without a symbol, lists every known
|
|
4
|
-
* symbol
|
|
4
|
+
* symbol - useful when the agent isn't sure what's available.
|
|
5
5
|
*
|
|
6
6
|
* This is the coin-side mirror of sui_resolve_address: stops the agent
|
|
7
7
|
* from hallucinating coin types ("oh USDC must be 0x2::usdc::USDC right?").
|
|
@@ -2,7 +2,7 @@ import { COINS, findCoin, knownSymbols } from '../coins.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* Resolve a coin symbol (e.g. "USDC", "DEEP", "SUI") to its fully-qualified
|
|
4
4
|
* coin type on the chosen network. Without a symbol, lists every known
|
|
5
|
-
* symbol
|
|
5
|
+
* symbol - useful when the agent isn't sure what's available.
|
|
6
6
|
*
|
|
7
7
|
* This is the coin-side mirror of sui_resolve_address: stops the agent
|
|
8
8
|
* from hallucinating coin types ("oh USDC must be 0x2::usdc::USDC right?").
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@suisei-mcp/mcp",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Suisei
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"description": "Suisei - the Sui Stack as one-line tools, exposed over the Model Context Protocol so any agent can build on Sui.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
|
-
"homepage": "https://suisei
|
|
7
|
+
"homepage": "https://github.com/eienel/suisei/tree/main/packages/mcp",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
|
-
"url": "git+https://github.com/eienel/
|
|
10
|
+
"url": "git+https://github.com/eienel/suisei.git",
|
|
11
11
|
"directory": "packages/mcp"
|
|
12
12
|
},
|
|
13
13
|
"bugs": {
|
|
14
|
-
"url": "https://github.com/eienel/
|
|
14
|
+
"url": "https://github.com/eienel/suisei/issues"
|
|
15
15
|
},
|
|
16
16
|
"publishConfig": {
|
|
17
17
|
"access": "public"
|