@kasarlabs/mcp-doc-mcp 0.1.0
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/LICENSE +21 -0
- package/README.md +202 -0
- package/bin/mcp-doc-mcp.js +2 -0
- package/build/index.d.ts +2 -0
- package/build/index.js +57 -0
- package/build/index.js.map +1 -0
- package/build/resources/architecture.md +369 -0
- package/build/resources/capabilities.md +573 -0
- package/build/resources/help.md +147 -0
- package/build/resources/projects.md +104 -0
- package/build/schemas/index.d.ts +35 -0
- package/build/schemas/index.js +42 -0
- package/build/schemas/index.js.map +1 -0
- package/build/tools/explainArchitecture.d.ts +11 -0
- package/build/tools/explainArchitecture.js +21 -0
- package/build/tools/explainArchitecture.js.map +1 -0
- package/build/tools/getHelp.d.ts +11 -0
- package/build/tools/getHelp.js +21 -0
- package/build/tools/getHelp.js.map +1 -0
- package/build/tools/listCapabilities.d.ts +11 -0
- package/build/tools/listCapabilities.js +21 -0
- package/build/tools/listCapabilities.js.map +1 -0
- package/build/tools/suggestProjects.d.ts +11 -0
- package/build/tools/suggestProjects.js +21 -0
- package/build/tools/suggestProjects.js.map +1 -0
- package/package.json +43 -0
|
@@ -0,0 +1,573 @@
|
|
|
1
|
+
# Ask Starknet Capabilities
|
|
2
|
+
|
|
3
|
+
Ask Starknet provides comprehensive capabilities across multiple domains on the Starknet blockchain. All capabilities are accessed through natural language requests - no need to memorize tool names or parameters.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Ask Starknet currently supports **21 specialized MCP servers** with **140+ tools** organized across 5 main domains:
|
|
8
|
+
|
|
9
|
+
- **Wallets** - 4 MCPs, 8 tools
|
|
10
|
+
- **DeFi** - 8 MCPs, 80+ tools
|
|
11
|
+
- **Blockchain** - 5 MCPs, 40+ tools
|
|
12
|
+
- **Dev Tools** - 3 MCPs, 12+ tools
|
|
13
|
+
- **Special** - 1 MCP, 1 tool
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Wallets & Account Management
|
|
18
|
+
|
|
19
|
+
Create, deploy, and manage various Starknet wallet types.
|
|
20
|
+
|
|
21
|
+
### Argent (`argent`)
|
|
22
|
+
|
|
23
|
+
**Description:** Management of Argent accounts on Starknet
|
|
24
|
+
|
|
25
|
+
**Tools:**
|
|
26
|
+
|
|
27
|
+
- `create_new_argent_account` - Create a new Argent wallet account
|
|
28
|
+
- `deploy_existing_argent_account` - Deploy an existing Argent account to the network
|
|
29
|
+
|
|
30
|
+
**Environment Variables:**
|
|
31
|
+
|
|
32
|
+
- `STARKNET_RPC_URL`
|
|
33
|
+
|
|
34
|
+
**Example Requests:**
|
|
35
|
+
|
|
36
|
+
- "Create a new Argent wallet"
|
|
37
|
+
- "Deploy my Argent account"
|
|
38
|
+
|
|
39
|
+
### Braavos (`braavos`)
|
|
40
|
+
|
|
41
|
+
**Description:** Management of Braavos wallet accounts on Starknet
|
|
42
|
+
|
|
43
|
+
**Tools:**
|
|
44
|
+
|
|
45
|
+
- `create_new_braavos_account` - Create a new Braavos wallet account
|
|
46
|
+
- `deploy_existing_braavos_account` - Deploy an existing Braavos account
|
|
47
|
+
|
|
48
|
+
**Environment Variables:**
|
|
49
|
+
|
|
50
|
+
- `STARKNET_RPC_URL`
|
|
51
|
+
|
|
52
|
+
**Example Requests:**
|
|
53
|
+
|
|
54
|
+
- "Create a new Braavos wallet"
|
|
55
|
+
- "Deploy my Braavos account to mainnet"
|
|
56
|
+
|
|
57
|
+
### OKX (`okx`)
|
|
58
|
+
|
|
59
|
+
**Description:** OKX wallet account creation and deployment on Starknet
|
|
60
|
+
|
|
61
|
+
**Tools:**
|
|
62
|
+
|
|
63
|
+
- `create_new_okx_account` - Create a new OKX wallet
|
|
64
|
+
- `deploy_existing_okx_account` - Deploy an OKX account
|
|
65
|
+
|
|
66
|
+
**Environment Variables:**
|
|
67
|
+
|
|
68
|
+
- `STARKNET_RPC_URL`
|
|
69
|
+
|
|
70
|
+
**Example Requests:**
|
|
71
|
+
|
|
72
|
+
- "Create an OKX wallet"
|
|
73
|
+
- "Deploy my OKX wallet account"
|
|
74
|
+
|
|
75
|
+
### OpenZeppelin (`openzeppelin`)
|
|
76
|
+
|
|
77
|
+
**Description:** OpenZeppelin account contract creation and deployment on Starknet
|
|
78
|
+
|
|
79
|
+
**Tools:**
|
|
80
|
+
|
|
81
|
+
- `create_new_openzeppelin_account` - Create a new OpenZeppelin account contract
|
|
82
|
+
- `deploy_existing_openzeppelin_account` - Deploy an OpenZeppelin account
|
|
83
|
+
|
|
84
|
+
**Environment Variables:**
|
|
85
|
+
|
|
86
|
+
- `STARKNET_RPC_URL`
|
|
87
|
+
|
|
88
|
+
**Example Requests:**
|
|
89
|
+
|
|
90
|
+
- "Create an OpenZeppelin account"
|
|
91
|
+
- "Deploy my OpenZeppelin account contract"
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## DeFi Protocols
|
|
96
|
+
|
|
97
|
+
Comprehensive DeFi operations including swaps, liquidity provision, lending, staking, and derivatives trading.
|
|
98
|
+
|
|
99
|
+
### AVNU (`avnu`)
|
|
100
|
+
|
|
101
|
+
**Description:** AVNU decentralized exchange integration for token swaps on Starknet
|
|
102
|
+
|
|
103
|
+
**Tools:**
|
|
104
|
+
|
|
105
|
+
- `avnu_swap_tokens` - Execute token swaps through AVNU DEX aggregator
|
|
106
|
+
- `avnu_get_route` - Get the optimal swap route for a token pair
|
|
107
|
+
|
|
108
|
+
**Environment Variables:**
|
|
109
|
+
|
|
110
|
+
- `STARKNET_RPC_URL`
|
|
111
|
+
- `STARKNET_ACCOUNT_ADDRESS`
|
|
112
|
+
- `STARKNET_PRIVATE_KEY`
|
|
113
|
+
|
|
114
|
+
**Example Requests:**
|
|
115
|
+
|
|
116
|
+
- "Swap 100 USDC for ETH on AVNU"
|
|
117
|
+
- "Get the best route to swap STRK for USDT"
|
|
118
|
+
|
|
119
|
+
### Ekubo (`ekubo`)
|
|
120
|
+
|
|
121
|
+
**Description:** Ekubo decentralized exchange for liquidity management and token swaps
|
|
122
|
+
|
|
123
|
+
**Tools:**
|
|
124
|
+
|
|
125
|
+
- `get_pool_info` - Get information about a liquidity pool
|
|
126
|
+
- `get_pool_liquidity` - Get current liquidity in a pool
|
|
127
|
+
- `get_pool_fees_per_liquidity` - Get fees earned per liquidity unit
|
|
128
|
+
- `get_token_price` - Get current token price
|
|
129
|
+
- `swap` - Execute a token swap on Ekubo
|
|
130
|
+
- `create_position` - Create a new liquidity position
|
|
131
|
+
- `add_liquidity` - Add liquidity to an existing position
|
|
132
|
+
- `withdraw_liquidity` - Withdraw liquidity from a position
|
|
133
|
+
- `transfer_position` - Transfer a liquidity position to another address
|
|
134
|
+
|
|
135
|
+
**Environment Variables:**
|
|
136
|
+
|
|
137
|
+
- `STARKNET_RPC_URL`
|
|
138
|
+
- `STARKNET_ACCOUNT_ADDRESS`
|
|
139
|
+
- `STARKNET_PRIVATE_KEY`
|
|
140
|
+
|
|
141
|
+
**Example Requests:**
|
|
142
|
+
|
|
143
|
+
- "Show me liquidity in the ETH/USDC pool on Ekubo"
|
|
144
|
+
- "Add 1000 USDC liquidity to Ekubo"
|
|
145
|
+
- "What's the current price of STRK on Ekubo?"
|
|
146
|
+
|
|
147
|
+
### Fibrous (`fibrous`)
|
|
148
|
+
|
|
149
|
+
**Description:** Fibrous decentralized exchange for single and batch token swaps
|
|
150
|
+
|
|
151
|
+
**Tools:**
|
|
152
|
+
|
|
153
|
+
- `fibrous_swap` - Execute a single token swap
|
|
154
|
+
- `fibrous_batch_swap` - Execute multiple swaps in a single transaction
|
|
155
|
+
- `fibrous_get_route` - Get the optimal route for a swap
|
|
156
|
+
|
|
157
|
+
**Environment Variables:**
|
|
158
|
+
|
|
159
|
+
- `STARKNET_RPC_URL`
|
|
160
|
+
- `STARKNET_ACCOUNT_ADDRESS`
|
|
161
|
+
- `STARKNET_PRIVATE_KEY`
|
|
162
|
+
|
|
163
|
+
**Example Requests:**
|
|
164
|
+
|
|
165
|
+
- "Swap 50 ETH for USDC on Fibrous"
|
|
166
|
+
- "Batch swap: 100 USDC to ETH, 50 ETH to STRK"
|
|
167
|
+
|
|
168
|
+
### Opus (`opus`)
|
|
169
|
+
|
|
170
|
+
**Description:** Opus lending protocol for Trove management and borrowing
|
|
171
|
+
|
|
172
|
+
**Tools:**
|
|
173
|
+
|
|
174
|
+
- `open_trove` - Open a new Trove (collateralized debt position)
|
|
175
|
+
- `get_user_troves` - Get all Troves for a user
|
|
176
|
+
- `get_trove_health` - Check the health factor of a Trove
|
|
177
|
+
- `get_borrow_fee` - Get the current borrowing fee
|
|
178
|
+
- `deposit_trove` - Deposit collateral into a Trove
|
|
179
|
+
- `withdraw_trove` - Withdraw collateral from a Trove
|
|
180
|
+
- `borrow_trove` - Borrow CASH against collateral
|
|
181
|
+
- `repay_trove` - Repay borrowed CASH
|
|
182
|
+
|
|
183
|
+
**Environment Variables:**
|
|
184
|
+
|
|
185
|
+
- `STARKNET_RPC_URL`
|
|
186
|
+
- `STARKNET_ACCOUNT_ADDRESS`
|
|
187
|
+
- `STARKNET_PRIVATE_KEY`
|
|
188
|
+
|
|
189
|
+
**Example Requests:**
|
|
190
|
+
|
|
191
|
+
- "Open a Trove with 1000 USDC collateral"
|
|
192
|
+
- "Borrow 500 CASH from my Opus Trove"
|
|
193
|
+
- "Check my Trove health factor"
|
|
194
|
+
- "Repay 100 CASH to my Trove"
|
|
195
|
+
|
|
196
|
+
### Vesu (`vesu`)
|
|
197
|
+
|
|
198
|
+
**Description:** Vesu protocol for deposit and withdrawal operations for earning positions
|
|
199
|
+
|
|
200
|
+
**Tools:**
|
|
201
|
+
|
|
202
|
+
- `vesu_deposit_earn` - Deposit tokens to earn yield
|
|
203
|
+
- `vesu_withdraw_earn` - Withdraw tokens and accrued yield
|
|
204
|
+
|
|
205
|
+
**Environment Variables:**
|
|
206
|
+
|
|
207
|
+
- `STARKNET_RPC_URL`
|
|
208
|
+
- `STARKNET_ACCOUNT_ADDRESS`
|
|
209
|
+
- `STARKNET_PRIVATE_KEY`
|
|
210
|
+
|
|
211
|
+
**Example Requests:**
|
|
212
|
+
|
|
213
|
+
- "Deposit 1000 USDC to Vesu to earn yield"
|
|
214
|
+
- "Withdraw all my USDC from Vesu"
|
|
215
|
+
|
|
216
|
+
### Endurfi (`endurfi`)
|
|
217
|
+
|
|
218
|
+
**Description:** Endur.fi liquid staking protocol for STRK and BTC tokens (WBTC, tBTC, LBTC) on Starknet
|
|
219
|
+
|
|
220
|
+
**Tools:**
|
|
221
|
+
|
|
222
|
+
- `preview_stake` - Preview staking outcome before execution
|
|
223
|
+
- `preview_unstake` - Preview unstaking outcome
|
|
224
|
+
- `get_user_balance` - Get user's staked balance
|
|
225
|
+
- `get_total_staked` - Get total amount staked in protocol
|
|
226
|
+
- `get_withdraw_request_info` - Get withdrawal request status
|
|
227
|
+
- `stake` - Stake tokens to receive liquid staking tokens (xSTRK, xyWBTC, etc.)
|
|
228
|
+
- `unstake` - Request to unstake tokens
|
|
229
|
+
- `claim` - Claim unstaked tokens after cooldown period
|
|
230
|
+
|
|
231
|
+
**Environment Variables:**
|
|
232
|
+
|
|
233
|
+
- `STARKNET_RPC_URL`
|
|
234
|
+
- `STARKNET_ACCOUNT_ADDRESS`
|
|
235
|
+
- `STARKNET_PRIVATE_KEY`
|
|
236
|
+
|
|
237
|
+
**Example Requests:**
|
|
238
|
+
|
|
239
|
+
- "Stake 100 STRK on Endurfi"
|
|
240
|
+
- "Check my staked STRK balance"
|
|
241
|
+
- "Unstake 50 STRK from Endurfi"
|
|
242
|
+
- "Claim my unstaked tokens"
|
|
243
|
+
|
|
244
|
+
### Extended (`extended`)
|
|
245
|
+
|
|
246
|
+
**Description:** Extended high-performance perpetuals exchange on Starknet for trading derivatives with on-chain settlement
|
|
247
|
+
|
|
248
|
+
**Tools (Account & Position Management):**
|
|
249
|
+
|
|
250
|
+
- `extended_get_balance` - Get account balance
|
|
251
|
+
- `extended_get_user_account_info` - Get complete account information
|
|
252
|
+
- `extended_get_positions` - Get all open positions
|
|
253
|
+
- `extended_get_open_orders` - Get all active orders
|
|
254
|
+
- `extended_get_order_by_id` - Get specific order details
|
|
255
|
+
- `extended_get_trades_history` - Get trade history
|
|
256
|
+
- `extended_get_orders_history` - Get order history
|
|
257
|
+
- `extended_get_positions_history` - Get positions history
|
|
258
|
+
- `extended_get_funding_payments` - Get funding payment history
|
|
259
|
+
- `extended_get_leverage` - Get current leverage settings
|
|
260
|
+
- `extended_get_fees` - Get fee information
|
|
261
|
+
|
|
262
|
+
**Tools (Market Data):**
|
|
263
|
+
|
|
264
|
+
- `extended_get_markets` - Get all available markets
|
|
265
|
+
- `extended_get_market_stats` - Get market statistics
|
|
266
|
+
- `extended_get_market_orderbook` - Get market order book
|
|
267
|
+
- `extended_get_market_trades` - Get recent trades for a market
|
|
268
|
+
- `extended_get_candles_history` - Get price candles/OHLCV data
|
|
269
|
+
- `extended_get_funding_rates_history` - Get funding rate history
|
|
270
|
+
|
|
271
|
+
**Tools (Trading):**
|
|
272
|
+
|
|
273
|
+
- `extended_create_limit_order` - Create a limit order
|
|
274
|
+
- `extended_create_limit_order_with_tpsl` - Create limit order with take-profit/stop-loss
|
|
275
|
+
- `extended_create_market_order` - Create a market order
|
|
276
|
+
- `extended_add_position_tpsl` - Add TP/SL to existing position
|
|
277
|
+
- `extended_cancel_order` - Cancel an open order
|
|
278
|
+
- `extended_update_leverage` - Update leverage settings
|
|
279
|
+
|
|
280
|
+
**Tools (Bridge):**
|
|
281
|
+
|
|
282
|
+
- `extended_get_bridge_config` - Get bridge configuration
|
|
283
|
+
- `extended_get_bridge_quote` - Get bridge quote for deposits/withdrawals
|
|
284
|
+
|
|
285
|
+
**Environment Variables:**
|
|
286
|
+
|
|
287
|
+
- `EXTENDED_API_KEY`
|
|
288
|
+
- `EXTENDED_API_URL`
|
|
289
|
+
- `EXTENDED_PRIVATE_KEY`
|
|
290
|
+
|
|
291
|
+
**Example Requests:**
|
|
292
|
+
|
|
293
|
+
- "Open a 5x long position on ETH/USD with $1000"
|
|
294
|
+
- "Check my open positions on Extended"
|
|
295
|
+
- "Set stop-loss at $3000 for my ETH position"
|
|
296
|
+
- "Get ETH/USD market stats"
|
|
297
|
+
- "Cancel my pending order #12345"
|
|
298
|
+
|
|
299
|
+
### Unruggable (`unruggable`)
|
|
300
|
+
|
|
301
|
+
**Description:** Memecoin creation and analysis with focus on safer token launches
|
|
302
|
+
|
|
303
|
+
**Tools:**
|
|
304
|
+
|
|
305
|
+
- `is_memecoin` - Check if a token is a memecoin
|
|
306
|
+
- `get_locked_liquidity` - Get locked liquidity information
|
|
307
|
+
- `create_memecoin` - Create a new memecoin
|
|
308
|
+
- `launch_on_ekubo` - Launch memecoin on Ekubo with liquidity
|
|
309
|
+
|
|
310
|
+
**Environment Variables:**
|
|
311
|
+
|
|
312
|
+
- `STARKNET_RPC_URL`
|
|
313
|
+
- `STARKNET_ACCOUNT_ADDRESS`
|
|
314
|
+
- `STARKNET_PRIVATE_KEY`
|
|
315
|
+
|
|
316
|
+
**Example Requests:**
|
|
317
|
+
|
|
318
|
+
- "Create a memecoin called DOGE with 1M supply"
|
|
319
|
+
- "Launch my memecoin on Ekubo with 1000 USDC liquidity"
|
|
320
|
+
- "Check if token 0x123... is a memecoin"
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
## Blockchain Operations
|
|
325
|
+
|
|
326
|
+
Core blockchain interactions including token operations, NFTs, transactions, and smart contracts.
|
|
327
|
+
|
|
328
|
+
### ERC20 (`erc20`)
|
|
329
|
+
|
|
330
|
+
**Description:** Management of ERC20 operations (transfer, balance, deployment) on Starknet
|
|
331
|
+
|
|
332
|
+
**Tools:**
|
|
333
|
+
|
|
334
|
+
- `erc20_get_allowance` - Get token allowance between addresses
|
|
335
|
+
- `erc20_get_my_given_allowance` - Get allowances you've given
|
|
336
|
+
- `erc20_get_allowance_given_to_me` - Get allowances given to you
|
|
337
|
+
- `erc20_get_total_supply` - Get token total supply
|
|
338
|
+
- `erc20_transfer_from` - Transfer tokens from another address (with allowance)
|
|
339
|
+
- `erc20_get_own_balance` - Get your token balance
|
|
340
|
+
- `erc20_get_balance` - Get any address's token balance
|
|
341
|
+
- `erc20_approve` - Approve token spending
|
|
342
|
+
- `erc20_transfer` - Transfer tokens
|
|
343
|
+
- `erc20_deploy_new_contract` - Deploy a new ERC20 token
|
|
344
|
+
|
|
345
|
+
**Environment Variables:**
|
|
346
|
+
|
|
347
|
+
- `STARKNET_RPC_URL`
|
|
348
|
+
- `STARKNET_ACCOUNT_ADDRESS`
|
|
349
|
+
- `STARKNET_PRIVATE_KEY`
|
|
350
|
+
|
|
351
|
+
**Example Requests:**
|
|
352
|
+
|
|
353
|
+
- "Check my ETH balance"
|
|
354
|
+
- "Transfer 100 USDC to 0x123..."
|
|
355
|
+
- "Approve AVNU to spend 500 USDC"
|
|
356
|
+
- "Deploy a new ERC20 token called MyToken"
|
|
357
|
+
|
|
358
|
+
### ERC721 (`erc721`)
|
|
359
|
+
|
|
360
|
+
**Description:** Comprehensive ERC721 NFT operations on Starknet
|
|
361
|
+
|
|
362
|
+
**Tools:**
|
|
363
|
+
|
|
364
|
+
- `erc721_owner_of` - Get NFT owner
|
|
365
|
+
- `erc721_get_balance` - Get NFT balance for an address
|
|
366
|
+
- `erc721_is_approved_for_all` - Check operator approval status
|
|
367
|
+
- `erc721_get_approved` - Get approved address for an NFT
|
|
368
|
+
- `erc721_transfer_from` - Transfer NFT from another address
|
|
369
|
+
- `erc721_transfer` - Transfer your NFT
|
|
370
|
+
- `erc721_approve` - Approve NFT transfer
|
|
371
|
+
- `erc721_safe_transfer_from` - Safe transfer with receiver check
|
|
372
|
+
- `erc721_set_approval_for_all` - Set operator approval
|
|
373
|
+
- `deploy_erc721` - Deploy a new ERC721 collection
|
|
374
|
+
|
|
375
|
+
**Environment Variables:**
|
|
376
|
+
|
|
377
|
+
- `STARKNET_RPC_URL`
|
|
378
|
+
- `STARKNET_ACCOUNT_ADDRESS`
|
|
379
|
+
- `STARKNET_PRIVATE_KEY`
|
|
380
|
+
|
|
381
|
+
**Example Requests:**
|
|
382
|
+
|
|
383
|
+
- "Transfer my NFT #42 to 0x456..."
|
|
384
|
+
- "Check who owns NFT #123 from collection 0xabc..."
|
|
385
|
+
- "Deploy a new NFT collection called MyNFTs"
|
|
386
|
+
|
|
387
|
+
### Starknet RPC (`starknet-rpc`)
|
|
388
|
+
|
|
389
|
+
**Description:** Direct blockchain interaction via RPC methods for on-chain data access
|
|
390
|
+
|
|
391
|
+
**Tools:**
|
|
392
|
+
|
|
393
|
+
- `get_chain_id` - Get Starknet chain ID
|
|
394
|
+
- `get_syncing_status` - Get node syncing status
|
|
395
|
+
- `get_class_hash` - Get contract class hash
|
|
396
|
+
- `get_spec_version` - Get spec version
|
|
397
|
+
- `get_block_with_tx_hashes` - Get block with transaction hashes
|
|
398
|
+
- `get_block_with_receipts` - Get block with transaction receipts
|
|
399
|
+
- `get_transaction_status` - Get transaction status
|
|
400
|
+
- `get_block_number` - Get latest block number
|
|
401
|
+
- `get_block_transaction_count` - Get transaction count in a block
|
|
402
|
+
- `get_storage_at` - Get contract storage value
|
|
403
|
+
- `get_class` - Get contract class definition
|
|
404
|
+
- `get_class_at` - Get class at specific address
|
|
405
|
+
|
|
406
|
+
**Environment Variables:**
|
|
407
|
+
|
|
408
|
+
- `STARKNET_RPC_URL`
|
|
409
|
+
|
|
410
|
+
**Example Requests:**
|
|
411
|
+
|
|
412
|
+
- "What's the latest block number on Starknet?"
|
|
413
|
+
- "Get the transaction status for 0xabc..."
|
|
414
|
+
- "Check if the node is syncing"
|
|
415
|
+
|
|
416
|
+
### Transaction (`transaction`)
|
|
417
|
+
|
|
418
|
+
**Description:** Transaction simulation tools for Starknet
|
|
419
|
+
|
|
420
|
+
**Tools:**
|
|
421
|
+
|
|
422
|
+
- `simulate_transaction` - Simulate a transaction before execution
|
|
423
|
+
- `simulate_deploy_transaction` - Simulate contract deployment
|
|
424
|
+
- `simulate_declare_transaction` - Simulate contract declaration
|
|
425
|
+
- `simulate_deploy_account_transaction` - Simulate account deployment
|
|
426
|
+
|
|
427
|
+
**Environment Variables:**
|
|
428
|
+
|
|
429
|
+
- `STARKNET_RPC_URL`
|
|
430
|
+
- `STARKNET_ACCOUNT_ADDRESS`
|
|
431
|
+
- `STARKNET_PRIVATE_KEY`
|
|
432
|
+
|
|
433
|
+
**Example Requests:**
|
|
434
|
+
|
|
435
|
+
- "Simulate this transaction before executing"
|
|
436
|
+
- "Simulate deploying my contract"
|
|
437
|
+
|
|
438
|
+
### Contract (`contract`)
|
|
439
|
+
|
|
440
|
+
**Description:** Starknet contract declaration and deployment operations
|
|
441
|
+
|
|
442
|
+
**Tools:**
|
|
443
|
+
|
|
444
|
+
- `declare_contract` - Declare a smart contract
|
|
445
|
+
- `deploy_contract` - Deploy a declared contract
|
|
446
|
+
- `get_constructor_params` - Get required constructor parameters
|
|
447
|
+
|
|
448
|
+
**Environment Variables:**
|
|
449
|
+
|
|
450
|
+
- `STARKNET_RPC_URL`
|
|
451
|
+
- `STARKNET_ACCOUNT_ADDRESS`
|
|
452
|
+
- `STARKNET_PRIVATE_KEY`
|
|
453
|
+
|
|
454
|
+
**Example Requests:**
|
|
455
|
+
|
|
456
|
+
- "Declare my smart contract"
|
|
457
|
+
- "Deploy the contract at class hash 0x123..."
|
|
458
|
+
- "What constructor params does this contract need?"
|
|
459
|
+
|
|
460
|
+
---
|
|
461
|
+
|
|
462
|
+
## Development Tools
|
|
463
|
+
|
|
464
|
+
Tools for Cairo development, compilation, and AI-powered coding assistance.
|
|
465
|
+
|
|
466
|
+
### Scarb (`scarb`)
|
|
467
|
+
|
|
468
|
+
**Description:** Scarb Cairo compilation and program execution operations
|
|
469
|
+
|
|
470
|
+
**Tools:**
|
|
471
|
+
|
|
472
|
+
- `install_scarb` - Install Scarb toolchain
|
|
473
|
+
- `init_project` - Initialize a new Cairo project
|
|
474
|
+
- `build_project` - Build/compile a Cairo project
|
|
475
|
+
- `execute_program` - Execute a Cairo program
|
|
476
|
+
- `prove_program` - Generate proof for a Cairo program
|
|
477
|
+
- `verify_program` - Verify a Cairo program proof
|
|
478
|
+
|
|
479
|
+
**Environment Variables:** None required
|
|
480
|
+
|
|
481
|
+
**Example Requests:**
|
|
482
|
+
|
|
483
|
+
- "Initialize a new Cairo project"
|
|
484
|
+
- "Build my Cairo project"
|
|
485
|
+
- "Execute my Cairo program"
|
|
486
|
+
|
|
487
|
+
### Cairo Coder (`cairo-coder`)
|
|
488
|
+
|
|
489
|
+
**Description:** AI-powered Cairo code assistance and Starknet general knowledge via Cairo Coder API
|
|
490
|
+
|
|
491
|
+
**Tools:**
|
|
492
|
+
|
|
493
|
+
- `assist_with_cairo` - Get AI assistance for Cairo code development
|
|
494
|
+
- `starknet_general_knowledge` - Ask questions about Starknet ecosystem
|
|
495
|
+
|
|
496
|
+
**Environment Variables:**
|
|
497
|
+
|
|
498
|
+
- `CAIRO_CODER_API_KEY`
|
|
499
|
+
|
|
500
|
+
**Example Requests:**
|
|
501
|
+
|
|
502
|
+
- "How do I implement an ERC20 token in Cairo?"
|
|
503
|
+
- "Help me debug this Cairo contract"
|
|
504
|
+
- "What are the latest updates in Starknet?"
|
|
505
|
+
|
|
506
|
+
### MCP Doc (`mcp-doc`)
|
|
507
|
+
|
|
508
|
+
**Description:** Help and documentation for Ask Starknet: usage guide, architecture explanation, capabilities listing, project ideas, and troubleshooting
|
|
509
|
+
|
|
510
|
+
**Tools:**
|
|
511
|
+
|
|
512
|
+
- `mcp_doc_help` - Get comprehensive help guide
|
|
513
|
+
- `mcp_doc_explain_architecture` - Understand Ask Starknet architecture
|
|
514
|
+
- `mcp_doc_list_capabilities` - List all available capabilities
|
|
515
|
+
- `mcp_doc_suggest_projects` - Get project ideas
|
|
516
|
+
|
|
517
|
+
**Environment Variables:** None required
|
|
518
|
+
|
|
519
|
+
**Example Requests:**
|
|
520
|
+
|
|
521
|
+
- "Help me get started with Ask Starknet"
|
|
522
|
+
- "Explain the Ask Starknet architecture"
|
|
523
|
+
- "What can Ask Starknet do?"
|
|
524
|
+
- "Suggest a DeFi project I can build"
|
|
525
|
+
|
|
526
|
+
---
|
|
527
|
+
|
|
528
|
+
## Special Applications
|
|
529
|
+
|
|
530
|
+
Unique applications and experimental features.
|
|
531
|
+
|
|
532
|
+
### Artpeace (`artpeace`)
|
|
533
|
+
|
|
534
|
+
**Description:** Collaborative pixel art creation on a shared canvas
|
|
535
|
+
|
|
536
|
+
**Tools:**
|
|
537
|
+
|
|
538
|
+
- `place_pixel` - Place a pixel on the collaborative canvas
|
|
539
|
+
|
|
540
|
+
**Environment Variables:**
|
|
541
|
+
|
|
542
|
+
- `STARKNET_RPC_URL`
|
|
543
|
+
- `STARKNET_ACCOUNT_ADDRESS`
|
|
544
|
+
- `STARKNET_PRIVATE_KEY`
|
|
545
|
+
- `PATH_UPLOAD_DIR`
|
|
546
|
+
- `SECRET_PHRASE`
|
|
547
|
+
|
|
548
|
+
**Example Requests:**
|
|
549
|
+
|
|
550
|
+
- "Place a red pixel at coordinates (100, 200)"
|
|
551
|
+
- "Draw on the Artpeace canvas"
|
|
552
|
+
|
|
553
|
+
---
|
|
554
|
+
|
|
555
|
+
## Summary Statistics
|
|
556
|
+
|
|
557
|
+
| Domain | MCPs | Tools (approx.) |
|
|
558
|
+
| ---------- | ------ | --------------- |
|
|
559
|
+
| Wallets | 4 | 8 |
|
|
560
|
+
| DeFi | 8 | 80+ |
|
|
561
|
+
| Blockchain | 5 | 40+ |
|
|
562
|
+
| Dev Tools | 3 | 12+ |
|
|
563
|
+
| Special | 1 | 1 |
|
|
564
|
+
| **Total** | **21** | **140+** |
|
|
565
|
+
|
|
566
|
+
## Getting More Information
|
|
567
|
+
|
|
568
|
+
For detailed information about a specific capability:
|
|
569
|
+
|
|
570
|
+
- Ask "How do I use [MCP name]?"
|
|
571
|
+
- Check environment variable requirements
|
|
572
|
+
- See example requests for each tool
|
|
573
|
+
- Visit the documentation at [docs.kasar.io](https://docs.kasar.io)
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# Ask Starknet Help Guide
|
|
2
|
+
|
|
3
|
+
Welcome to Ask Starknet! This guide will help you get started with using Ask Starknet's comprehensive Model Context Protocol (MCP) servers for Starknet blockchain applications.
|
|
4
|
+
|
|
5
|
+
## What is Ask Starknet?
|
|
6
|
+
|
|
7
|
+
Ask Starknet is a unified MCP router that provides intelligent, AI-powered routing to specialized MCP servers. Simply describe what you want to do in natural language, and the AI router automatically selects the right specialized agent and executes the appropriate tools.
|
|
8
|
+
|
|
9
|
+
## Quick Start
|
|
10
|
+
|
|
11
|
+
### Basic Usage
|
|
12
|
+
|
|
13
|
+
Just ask questions or request actions in plain English. The AI router will automatically select the right specialized agent and execute the appropriate tools.
|
|
14
|
+
|
|
15
|
+
**Example requests:**
|
|
16
|
+
|
|
17
|
+
- "Check my ETH balance"
|
|
18
|
+
- "Swap 100 USDC for ETH on AVNU"
|
|
19
|
+
- "Transfer my NFT #123 to address 0x456..."
|
|
20
|
+
- "Create a new Argent wallet"
|
|
21
|
+
- "Open a long position on ETH/USD with 5x leverage"
|
|
22
|
+
- "Show me the liquidity in the ETH/USDC pool on Ekubo"
|
|
23
|
+
- "Help me implement an ERC20 token in Cairo"
|
|
24
|
+
|
|
25
|
+
### How It Works
|
|
26
|
+
|
|
27
|
+
1. **You make a request** in natural language
|
|
28
|
+
2. **AI Router analyzes** your request and selects the best specialized MCP agent
|
|
29
|
+
3. **Specialized agent executes** the appropriate tools for your request
|
|
30
|
+
4. **You receive** a clear response with results or transaction hashes
|
|
31
|
+
|
|
32
|
+
## Setup Instructions
|
|
33
|
+
|
|
34
|
+
To use Ask Starknet, you need to configure it in your MCP client (like Claude Desktop).
|
|
35
|
+
|
|
36
|
+
### Minimal Setup (Read-Only Operations)
|
|
37
|
+
|
|
38
|
+
For basic queries and read-only operations:
|
|
39
|
+
|
|
40
|
+
**Required Environment Variables:**
|
|
41
|
+
|
|
42
|
+
- `ANTHROPIC_API_KEY` or `GEMINI_API_KEY` or `OPENAI_API_KEY` - At least one LLM API key is required
|
|
43
|
+
- `STARKNET_RPC_URL` - Starknet RPC endpoint (optional for some operations)
|
|
44
|
+
|
|
45
|
+
**Configuration Example:**
|
|
46
|
+
|
|
47
|
+
```json
|
|
48
|
+
{
|
|
49
|
+
"mcpServers": {
|
|
50
|
+
"ask-starknet": {
|
|
51
|
+
"command": "npx",
|
|
52
|
+
"args": ["-y", "@kasarlabs/ask-starknet-mcp"],
|
|
53
|
+
"env": {
|
|
54
|
+
"ANTHROPIC_API_KEY": "sk-...",
|
|
55
|
+
"STARKNET_RPC_URL": "https://your-rpc-url"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Full Setup (All Operations Including Transactions)
|
|
63
|
+
|
|
64
|
+
For complete functionality including transaction signing:
|
|
65
|
+
|
|
66
|
+
**Required Environment Variables:**
|
|
67
|
+
|
|
68
|
+
- `ANTHROPIC_API_KEY` (or `GEMINI_API_KEY` or `OPENAI_API_KEY`)
|
|
69
|
+
- `STARKNET_RPC_URL`
|
|
70
|
+
- `STARKNET_ACCOUNT_ADDRESS` - Your wallet address
|
|
71
|
+
- `STARKNET_PRIVATE_KEY` - Your private key for signing transactions
|
|
72
|
+
|
|
73
|
+
**Optional Environment Variables:**
|
|
74
|
+
|
|
75
|
+
- `EXTENDED_API_KEY` - For perpetuals trading on Extended
|
|
76
|
+
- `EXTENDED_API_URL` - Extended API endpoint
|
|
77
|
+
- `EXTENDED_PRIVATE_KEY` - Stark key for Extended
|
|
78
|
+
- `CAIRO_CODER_API_KEY` - For AI-powered Cairo development assistance
|
|
79
|
+
- `PATH_UPLOAD_DIR` - For Artpeace pixel art
|
|
80
|
+
- `SECRET_PHRASE` - For Artpeace authentication
|
|
81
|
+
|
|
82
|
+
**Model Selection:**
|
|
83
|
+
|
|
84
|
+
- `MODEL_NAME` - Specify which LLM model to use (optional, defaults based on API key provider)
|
|
85
|
+
- Default for Anthropic: `claude-sonnet-4-20250514`
|
|
86
|
+
- Default for Gemini: `gemini-2.5-flash`
|
|
87
|
+
- Default for OpenAI: `gpt-4o-mini`
|
|
88
|
+
|
|
89
|
+
## Best Practices
|
|
90
|
+
|
|
91
|
+
**Be specific:** Include token amounts, addresses, and specific protocols when relevant
|
|
92
|
+
|
|
93
|
+
- ✅ "Swap 100 USDC for ETH on AVNU"
|
|
94
|
+
- ❌ "Swap tokens"
|
|
95
|
+
|
|
96
|
+
**Use natural language:** No need to memorize tool names or parameters
|
|
97
|
+
|
|
98
|
+
- ✅ "What's the latest block number?"
|
|
99
|
+
- ❌ "Execute get_block_number"
|
|
100
|
+
|
|
101
|
+
**Ask for help:** You can ask "What can you do?" or "How do I trade on Extended?"
|
|
102
|
+
|
|
103
|
+
**Chain operations:** You can describe complex workflows
|
|
104
|
+
|
|
105
|
+
- "Approve USDC then swap for ETH"
|
|
106
|
+
|
|
107
|
+
**Check balances first:** Before transactions, ask to check your balance
|
|
108
|
+
|
|
109
|
+
- "Check my USDC balance, then swap 100 USDC for ETH"
|
|
110
|
+
|
|
111
|
+
**Environment variables:** Make sure required env vars are set for the operations you need
|
|
112
|
+
|
|
113
|
+
## Troubleshooting
|
|
114
|
+
|
|
115
|
+
### Missing Environment Variables
|
|
116
|
+
|
|
117
|
+
**Problem:** Error about missing environment variables
|
|
118
|
+
|
|
119
|
+
**Solution:** Check that all required env vars are set in your MCP client configuration. At minimum, you need one LLM API key.
|
|
120
|
+
|
|
121
|
+
### Transaction Operations Failing
|
|
122
|
+
|
|
123
|
+
**Problem:** Cannot execute transactions or sign operations
|
|
124
|
+
|
|
125
|
+
**Solution:** Ensure `STARKNET_ACCOUNT_ADDRESS` and `STARKNET_PRIVATE_KEY` are set for write operations.
|
|
126
|
+
|
|
127
|
+
### Specific Protocol Not Working
|
|
128
|
+
|
|
129
|
+
**Problem:** Extended, Cairo Coder, or Artpeace operations failing
|
|
130
|
+
|
|
131
|
+
**Solution:** Some protocols require additional API keys (e.g., Extended needs `EXTENDED_API_KEY`, Cairo Coder needs `CAIRO_CODER_API_KEY`).
|
|
132
|
+
|
|
133
|
+
### Not Sure What Ask Starknet Can Do
|
|
134
|
+
|
|
135
|
+
**Problem:** Want to know available capabilities
|
|
136
|
+
|
|
137
|
+
**Solution:** Use the `ask_starknet_list_capabilities` tool or ask "What can you help me with?"
|
|
138
|
+
|
|
139
|
+
## Support
|
|
140
|
+
|
|
141
|
+
For more detailed information:
|
|
142
|
+
|
|
143
|
+
- **Architecture:** Ask "Explain Ask Starknet architecture"
|
|
144
|
+
- **Capabilities:** Ask "List all Ask Starknet capabilities"
|
|
145
|
+
- **Project Ideas:** Ask "Suggest projects I can build with Ask Starknet"
|
|
146
|
+
- **Documentation:** Visit [docs.kasar.io](https://docs.kasar.io)
|
|
147
|
+
- **GitHub:** [github.com/KasarLabs/ask-starknet](https://github.com/KasarLabs/ask-starknet)
|