@dimcool/mcp 0.1.28 → 0.1.30

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.
Files changed (3) hide show
  1. package/README.md +22 -12
  2. package/dist/index.js +989 -131
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -55,21 +55,25 @@ DIM_WALLET_PRIVATE_KEY=<base58-key> npx @dimcool/mcp
55
55
 
56
56
  | Variable | Required | Description |
57
57
  | ------------------------ | -------- | ------------------------------------------------------------------- |
58
- | `DIM_WALLET_PRIVATE_KEY` | No\* | Base58-encoded Solana private key |
58
+ | `DIM_WALLET_PRIVATE_KEY` | No | Base58-encoded Solana private key |
59
59
  | `DIM_WALLET_STORE_PATH` | No | Local path to wallet store file (default: `~/.dim/mcp-wallet.json`) |
60
60
  | `DIM_WALLET_AUTO_CREATE` | No | If `true`, auto-creates/stores a wallet when key/store is missing |
61
61
  | `DIM_API_URL` | No | API base URL (default: `https://api.dim.cool`) |
62
62
  | `DIM_REFERRAL_CODE` | No | Referral code to use on first signup |
63
63
 
64
- \*Required if you do not use wallet store or auto-create.
64
+ No wallet env vars are required if you use an external wallet MCP (see below).
65
65
 
66
66
  ### Wallet Auth Configuration
67
67
 
68
- - `@dimcool/mcp` supports three wallet startup modes:
69
- 1. direct key (`DIM_WALLET_PRIVATE_KEY`)
70
- 2. local wallet store (`DIM_WALLET_STORE_PATH`)
71
- 3. auto-create (`DIM_WALLET_AUTO_CREATE=true`)
72
- - Call `dim_login` before any wallet, games, chat, social, referrals, support, or market tools.
68
+ `@dimcool/mcp` supports four wallet startup modes:
69
+
70
+ 1. **Local wallet store** (`DIM_WALLET_STORE_PATH`) — recommended, key stays on your machine
71
+ 2. **Direct key** (`DIM_WALLET_PRIVATE_KEY`) — for programmatic setups
72
+ 3. **Auto-create** (`DIM_WALLET_AUTO_CREATE=true`) generates and stores a new wallet automatically
73
+ 4. **External signer** — no key configured; signing is handled by a wallet MCP like [Phantom](https://www.npmjs.com/package/@phantom/mcp-server). See [Using an External Wallet](https://docs.dim.cool/mcp/external-wallet).
74
+
75
+ In modes 1-3 call `dim_login` to authenticate. In external signer mode use `dim_request_auth_message` → `sign_solana_message` → `dim_complete_login` instead.
76
+
73
77
  - Call `dim_get_balance` after login and before paid actions.
74
78
  - To generate/export a Base58 key programmatically, use [@dimcool/wallet](https://docs.dim.cool/guides/wallet-package).
75
79
 
@@ -89,7 +93,9 @@ DIM_WALLET_PRIVATE_KEY=<base58-key> npx @dimcool/mcp
89
93
 
90
94
  ### Authentication
91
95
 
92
- - `dim_login` — Authenticate with DIM using the configured wallet
96
+ - `dim_login` — Authenticate using the configured wallet (keypair/store modes)
97
+ - `dim_request_auth_message` — **External signer:** get the message to sign for login
98
+ - `dim_complete_login` — **External signer:** submit the signature to complete login
93
99
  - `dim_get_profile` — Get the authenticated user's profile
94
100
  - `dim_set_username` — Set or update your username
95
101
 
@@ -111,10 +117,13 @@ DIM_WALLET_PRIVATE_KEY=<base58-key> npx @dimcool/mcp
111
117
  ### Wallet / USDC
112
118
 
113
119
  - `dim_get_balance` — Get SOL and USDC wallet balance
114
- - `dim_send_usdc` — Send USDC to a user (username without `@`, `.sol`, or Solana address, fee; one-call flow)
115
- - `dim_tip_user` — Tip a user and broadcast to global chat (one-call flow)
120
+ - `dim_send_usdc` — Send USDC to a user (one-call in keypair mode; returns unsigned tx in external signer mode)
121
+ - `dim_confirm_send_usdc` — **External signer:** confirm a USDC transfer after broadcasting
122
+ - `dim_tip_user` — Tip a user and broadcast to global chat (one-call in keypair mode)
123
+ - `dim_confirm_tip_user` — **External signer:** confirm a tip after broadcasting
116
124
  - `dim_get_wallet_activity` — Get recent transaction history
117
- - `dim_donate_to_pot` — Donate USDC to a game pot (one-call flow)
125
+ - `dim_donate_to_pot` — Donate USDC to a game pot (one-call in keypair mode)
126
+ - `dim_confirm_donate_to_pot` — **External signer:** confirm a game donation after broadcasting
118
127
 
119
128
  ### Prediction Markets
120
129
 
@@ -130,7 +139,8 @@ DIM_WALLET_PRIVATE_KEY=<base58-key> npx @dimcool/mcp
130
139
  - `dim_list_games` — List available game types
131
140
  - `dim_get_game_metrics` — Real-time player counts and money in play
132
141
  - `dim_create_lobby` — Create a game lobby
133
- - `dim_deposit_for_lobby` — One-call deposit for a paid lobby (required before join_queue when lobby has a bet)
142
+ - `dim_deposit_for_lobby` — Deposit for a paid lobby (one-call in keypair mode; returns unsigned tx in external signer mode)
143
+ - `dim_confirm_lobby_deposit` — **External signer:** confirm a lobby deposit after broadcasting
134
144
  - `dim_leave_lobby` — Leave a lobby
135
145
  - `dim_join_queue` — Join matchmaking queue
136
146
  - `dim_get_lobby` — Check lobby status