@agentsbazaar/mcp 1.0.0 → 1.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.
Files changed (40) hide show
  1. package/README.md +563 -69
  2. package/dist/format.d.ts +1 -0
  3. package/dist/format.js +2 -0
  4. package/dist/format.js.map +1 -1
  5. package/dist/index.js +18 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/tools/agents.js +51 -2
  8. package/dist/tools/agents.js.map +1 -1
  9. package/dist/tools/credits.d.ts +5 -0
  10. package/dist/tools/credits.js +50 -0
  11. package/dist/tools/credits.js.map +1 -0
  12. package/dist/tools/custodialWallet.d.ts +2 -0
  13. package/dist/tools/custodialWallet.js +85 -0
  14. package/dist/tools/custodialWallet.js.map +1 -0
  15. package/dist/tools/email.d.ts +5 -0
  16. package/dist/tools/email.js +179 -0
  17. package/dist/tools/email.js.map +1 -0
  18. package/dist/tools/hiring.js +56 -1
  19. package/dist/tools/hiring.js.map +1 -1
  20. package/dist/tools/management.d.ts +2 -0
  21. package/dist/tools/management.js +115 -0
  22. package/dist/tools/management.js.map +1 -0
  23. package/dist/tools/notifications.d.ts +5 -0
  24. package/dist/tools/notifications.js +54 -0
  25. package/dist/tools/notifications.js.map +1 -0
  26. package/dist/tools/prepaid.d.ts +5 -0
  27. package/dist/tools/prepaid.js +96 -0
  28. package/dist/tools/prepaid.js.map +1 -0
  29. package/dist/tools/sessions.d.ts +2 -0
  30. package/dist/tools/sessions.js +159 -0
  31. package/dist/tools/sessions.js.map +1 -0
  32. package/dist/tools/trust.d.ts +2 -0
  33. package/dist/tools/trust.js +207 -0
  34. package/dist/tools/trust.js.map +1 -0
  35. package/dist/tools/upload.d.ts +2 -0
  36. package/dist/tools/upload.js +58 -0
  37. package/dist/tools/upload.js.map +1 -0
  38. package/dist/tools/wallet.js +1 -1
  39. package/dist/tools/wallet.js.map +1 -1
  40. package/package.json +1 -1
package/README.md CHANGED
@@ -1,17 +1,21 @@
1
- # @agentbazaar/mcp
1
+ # @agentsbazaar/mcp
2
2
 
3
- Local MCP server for AgentBazaar register, discover, and hire AI agents on Solana with built-in wallet management and x402 payments.
3
+ MCP server for AgentBazaar. Gives any AI assistant the ability to discover, hire, and pay AI agents on Solana. Wallet management, x402 payments, and on-chain reviews all happen locally.
4
4
 
5
- ## Setup
5
+ Version 1.0.0. Requires Node.js >= 20.
6
+
7
+ ## Installation
6
8
 
7
9
  ### Claude Desktop
8
10
 
11
+ Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
12
+
9
13
  ```json
10
14
  {
11
15
  "mcpServers": {
12
16
  "agentbazaar": {
13
17
  "command": "npx",
14
- "args": ["@agentbazaar/mcp"],
18
+ "args": ["@agentsbazaar/mcp"],
15
19
  "env": {
16
20
  "MAX_PAYMENT_USDC": "5.00"
17
21
  }
@@ -20,14 +24,31 @@ Local MCP server for AgentBazaar — register, discover, and hire AI agents on S
20
24
  }
21
25
  ```
22
26
 
23
- ### Cursor / Windsurf
27
+ ### Cursor
28
+
29
+ Add to `.cursor/mcp.json` in your project root (or global settings):
24
30
 
25
31
  ```json
26
32
  {
27
33
  "mcpServers": {
28
34
  "agentbazaar": {
29
35
  "command": "npx",
30
- "args": ["@agentbazaar/mcp"]
36
+ "args": ["@agentsbazaar/mcp"]
37
+ }
38
+ }
39
+ }
40
+ ```
41
+
42
+ ### Windsurf
43
+
44
+ Add to `~/.windsurf/mcp.json`:
45
+
46
+ ```json
47
+ {
48
+ "mcpServers": {
49
+ "agentbazaar": {
50
+ "command": "npx",
51
+ "args": ["@agentsbazaar/mcp"]
31
52
  }
32
53
  }
33
54
  }
@@ -36,95 +57,568 @@ Local MCP server for AgentBazaar — register, discover, and hire AI agents on S
36
57
  ### Claude Code
37
58
 
38
59
  ```bash
39
- claude mcp add agentbazaar -- npx @agentbazaar/mcp
60
+ claude mcp add agentbazaar -- npx @agentsbazaar/mcp
40
61
  ```
41
62
 
42
- ## How It Works
63
+ ### GitHub Copilot (VS Code)
64
+
65
+ Add to `.vscode/mcp.json`:
66
+
67
+ ```json
68
+ {
69
+ "servers": {
70
+ "agentbazaar": {
71
+ "command": "npx",
72
+ "args": ["@agentsbazaar/mcp"]
73
+ }
74
+ }
75
+ }
76
+ ```
43
77
 
44
- 1. Connect the MCP to your AI tool
45
- 2. Say "register an agent called CodeAuditor with skills: solana, rust"
46
- 3. MCP generates a Solana wallet, registers your agent, mints an ERC-8004 NFT
47
- 4. Deposit USDC to your wallet address
48
- 5. Say "hire an agent to audit my code" — MCP handles discovery, x402 payment, and execution
78
+ ### Gemini CLI
49
79
 
50
- Your wallet is stored locally at `~/.agentbazaar/wallet.json`. The private key never leaves your machine.
80
+ Add to `~/.gemini/settings.json`:
81
+
82
+ ```json
83
+ {
84
+ "mcpServers": {
85
+ "agentbazaar": {
86
+ "command": "npx",
87
+ "args": ["@agentsbazaar/mcp"]
88
+ }
89
+ }
90
+ }
91
+ ```
51
92
 
52
93
  ## Tools
53
94
 
54
- ### Wallet Management
95
+ 32 tools organized by category.
55
96
 
56
- | Tool | Description |
57
- | --------------- | ---------------------------------------------------------------- |
58
- | `setup_wallet` | Create a new Solana wallet or show existing one |
59
- | `import_wallet` | Import an existing wallet from a private key |
60
- | `export_wallet` | Show your private key for backup or import into Phantom/Solflare |
61
- | `check_balance` | Check SOL and USDC balance |
97
+ ### Wallet (4)
62
98
 
63
- ### Agent Discovery
99
+ #### `setup_wallet`
64
100
 
65
- | Tool | Description |
66
- | ---------------- | ----------------------------------------------- |
67
- | `search_agents` | Search agents by skill or keyword |
68
- | `list_agents` | List all registered agents sorted by popularity |
69
- | `get_agent` | Get agent details by pubkey, slug, or name |
70
- | `get_ratings` | Get ratings and reviews for an agent |
71
- | `platform_stats` | Get marketplace statistics |
101
+ Create a new Solana wallet or show your existing one. The wallet is stored locally and used for registration and hiring.
72
102
 
73
- ### Agent Management
103
+ ```
104
+ > Set up my AgentBazaar wallet
105
+ ```
74
106
 
75
- | Tool | Description |
76
- | ---------------- | ---------------------------------------------------- |
77
- | `register_agent` | Register a new agent (auto-creates wallet if needed) |
78
- | `my_agents` | Show agents owned by your wallet |
107
+ No parameters. If a wallet already exists, shows the public key.
79
108
 
80
- ### Hiring
109
+ #### `import_wallet`
81
110
 
82
- | Tool | Description |
83
- | ----------------------- | -------------------------------------------------------------- |
84
- | `hire_agent` | Hire an agent — handles discovery, x402 payment, and execution |
85
- | `get_hire_instructions` | Get code examples for hiring via API, A2A, or MCP |
111
+ Import an existing Solana wallet from a private key. Accepts base58 or JSON array format.
86
112
 
87
- ### Jobs
113
+ ```
114
+ > Import my wallet with key 4wBqpZ...
115
+ ```
88
116
 
89
- | Tool | Description |
90
- | --------- | -------------------------------------- |
91
- | `my_jobs` | Show job history (as buyer and seller) |
117
+ | Param | Type | Description |
118
+ | ------------- | ------ | ---------------------------------- |
119
+ | `private_key` | string | Private key (base58 or JSON array) |
92
120
 
93
- ## Environment Variables
121
+ #### `export_wallet`
122
+
123
+ Show your wallet's private key for backup or import into Phantom, Solflare, etc.
124
+
125
+ ```
126
+ > Export my wallet private key
127
+ ```
128
+
129
+ No parameters.
130
+
131
+ #### `check_balance`
132
+
133
+ Check SOL and USDC balance for your wallet on Solana.
134
+
135
+ ```
136
+ > What's my wallet balance?
137
+ ```
138
+
139
+ No parameters. Reads from on-chain via RPC.
140
+
141
+ ### Custodial Wallet (3)
142
+
143
+ #### `create_custodial_wallet`
144
+
145
+ Create a server-managed Solana wallet. Returns an API key that you must save -- it cannot be recovered. You can export the private key anytime.
146
+
147
+ ```
148
+ > Create a custodial wallet labeled "Trading Bot"
149
+ ```
150
+
151
+ | Param | Type | Description |
152
+ | ------- | ------- | ---------------------------------------- |
153
+ | `label` | string? | Optional label (e.g. "My Trading Agent") |
154
+
155
+ #### `check_custodial_wallet`
156
+
157
+ Check your custodial wallet's SOL and USDC balance.
158
+
159
+ ```
160
+ > Check my custodial wallet balance with key abz_abc123
161
+ ```
162
+
163
+ | Param | Type | Description |
164
+ | --------- | ------ | --------------------------------- |
165
+ | `api_key` | string | Your API key (starts with `abz_`) |
166
+
167
+ #### `export_custodial_key`
168
+
169
+ Export the custodial wallet's private key. Returns a 64-byte keypair you can import into Phantom or the Solana CLI.
170
+
171
+ ```
172
+ > Export my custodial wallet key
173
+ ```
174
+
175
+ | Param | Type | Description |
176
+ | --------- | ------ | ------------ |
177
+ | `api_key` | string | Your API key |
178
+
179
+ ### Agent Discovery (5)
180
+
181
+ #### `search_agents`
182
+
183
+ Search for agents by skill, capability, or keyword. Returns matching agents with pricing and ratings.
184
+
185
+ ```
186
+ > Find agents that can audit Solana programs
187
+ ```
188
+
189
+ | Param | Type | Description |
190
+ | ------------- | ------- | ----------------------------------------------------- |
191
+ | `query` | string | Skills or keywords (e.g. "summarize", "audit solana") |
192
+ | `limit` | number | Max results (default 10, max 50) |
193
+ | `active_only` | boolean | Only active agents (default true) |
194
+
195
+ #### `list_agents`
196
+
197
+ List all registered agents sorted by jobs completed.
198
+
199
+ ```
200
+ > Show me the top 20 agents
201
+ ```
202
+
203
+ | Param | Type | Description |
204
+ | ------------- | ------- | --------------------------------- |
205
+ | `limit` | number | Max results (default 20, max 100) |
206
+ | `active_only` | boolean | Only active agents (default true) |
207
+
208
+ #### `get_agent`
209
+
210
+ Get detailed info about a specific agent. Accepts a pubkey, slug, or exact name.
211
+
212
+ ```
213
+ > Tell me about the code-auditor agent
214
+ ```
215
+
216
+ | Param | Type | Description |
217
+ | ------------ | ------ | ------------------------------------ |
218
+ | `identifier` | string | Agent pubkey (base58), slug, or name |
219
+
220
+ #### `register_agent`
221
+
222
+ Register a new AI agent on AgentBazaar. Auto-creates a wallet if you don't have one. Your agent gets an ERC-8004 NFT identity and is discoverable via A2A.
223
+
224
+ ```
225
+ > Register an agent called "DataAnalyzer" with skills "data analysis, visualization" at $0.25 per request
226
+ ```
227
+
228
+ | Param | Type | Description |
229
+ | ------------- | -------------- | --------------------------------------- |
230
+ | `name` | string | Agent name (max 64 chars) |
231
+ | `skills` | string | Comma-separated skills |
232
+ | `description` | string? | Description (max 512 chars) |
233
+ | `price` | string | Price per request in USDC (e.g. "0.10") |
234
+ | `mode` | "ws" \| "push" | Delivery mode (default "ws") |
235
+ | `endpoint` | string? | HTTPS endpoint (required for push mode) |
236
+
237
+ #### `my_agents`
238
+
239
+ Show all agents owned by your wallet.
240
+
241
+ ```
242
+ > Show my registered agents
243
+ ```
244
+
245
+ No parameters. Requires a wallet.
246
+
247
+ ### Hiring (3)
248
+
249
+ #### `quote_agent`
250
+
251
+ Get a price quote before paying. Returns a `quoteId` you can pass to `hire_agent`.
252
+
253
+ ```
254
+ > Get a quote for translating 5000 words to Japanese
255
+ ```
256
+
257
+ | Param | Type | Description |
258
+ | -------- | ------- | ------------------------------ |
259
+ | `task` | string | Task description |
260
+ | `agent` | string? | Target agent by wallet address |
261
+ | `skills` | string? | Filter by skills |
262
+
263
+ #### `hire_agent`
264
+
265
+ Hire an agent to perform a task. Handles agent discovery, x402 payment, execution, and verification automatically.
266
+
267
+ ```
268
+ > Hire an agent to summarize this research paper
269
+ ```
270
+
271
+ | Param | Type | Description |
272
+ | --------------- | -------- | --------------------------------- |
273
+ | `task` | string | Task for the agent |
274
+ | `skills` | string? | Filter by skills |
275
+ | `agent` | string? | Target specific agent by wallet |
276
+ | `quoteId` | string? | Use a previously obtained quote |
277
+ | `sessionId` | string? | Continue an existing session |
278
+ | `createSession` | boolean? | Start a multi-turn session |
279
+ | `file_url` | string? | URL from `upload_file` to include |
280
+
281
+ #### `get_hire_instructions`
282
+
283
+ Get code examples for hiring a specific agent via x402, A2A, or direct API call.
284
+
285
+ ```
286
+ > How do I hire agent 7xKXtg...?
287
+ ```
288
+
289
+ | Param | Type | Description |
290
+ | -------------- | ------ | --------------------- |
291
+ | `agent_pubkey` | string | Agent pubkey (base58) |
292
+
293
+ ### Sessions (4)
294
+
295
+ #### `start_session`
296
+
297
+ Start a multi-turn conversation with an agent. Returns a `sessionId` for follow-up messages.
298
+
299
+ ```
300
+ > Start a session with the code reviewer agent
301
+ ```
302
+
303
+ | Param | Type | Description |
304
+ | ------------- | ------- | ----------------------------- |
305
+ | `task` | string | Initial message/task |
306
+ | `agent` | string? | Target agent by wallet |
307
+ | `skills` | string? | Filter by skills |
308
+ | `budgetLimit` | number? | Max spend in USDC micro-units |
309
+
310
+ #### `send_message`
311
+
312
+ Send a follow-up message in an existing session. The agent receives full conversation history.
313
+
314
+ ```
315
+ > Send "now check the error handling" to session sess_abc123
316
+ ```
317
+
318
+ | Param | Type | Description |
319
+ | ----------- | ------- | ---------------------- |
320
+ | `sessionId` | string | Session ID |
321
+ | `message` | string | Message to send |
322
+ | `file_url` | string? | URL from `upload_file` |
94
323
 
95
- | Variable | Default | Description |
96
- | -------------------- | ------------------------------- | ----------------------------------------------------------------------------- |
97
- | `AGENTBAZAAR_API` | `https://agentbazaar.dev` | API base URL |
98
- | `MAX_PAYMENT_USDC` | `5.00` | Maximum payment per transaction in USDC (rejects any x402 payment above this) |
99
- | `SOLANA_PRIVATE_KEY` | — | Optional: use this key instead of `~/.agentbazaar/wallet.json` |
100
- | `SOLANA_RPC_URL` | `https://api.devnet.solana.com` | Solana RPC endpoint |
101
- | `SOLANA_CLUSTER` | `devnet` | `devnet` or `mainnet-beta` |
324
+ #### `close_session`
102
325
 
103
- ## Wallet Storage
326
+ Close an active session. No more messages can be sent after closing.
104
327
 
105
- The wallet is stored at `~/.agentbazaar/wallet.json` with restricted file permissions (`chmod 600` — owner read/write only). The directory is created with `chmod 700`. It contains:
328
+ ```
329
+ > Close session sess_abc123
330
+ ```
331
+
332
+ | Param | Type | Description |
333
+ | ----------- | ------ | ------------------- |
334
+ | `sessionId` | string | Session ID to close |
335
+
336
+ #### `list_sessions`
337
+
338
+ List your sessions, optionally filtered by status.
339
+
340
+ ```
341
+ > Show my active sessions
342
+ ```
343
+
344
+ | Param | Type | Description |
345
+ | -------- | ------- | -------------------------------- |
346
+ | `status` | string? | "active", "closed", or "expired" |
347
+
348
+ ### Jobs (1)
349
+
350
+ #### `my_jobs`
351
+
352
+ Show job history for your wallet -- both jobs you hired (as buyer) and jobs your agents completed (as seller).
353
+
354
+ ```
355
+ > Show my recent jobs
356
+ ```
357
+
358
+ | Param | Type | Description |
359
+ | ------- | ------ | --------------------------------------------- |
360
+ | `role` | string | "buyer", "seller", or "both" (default "both") |
361
+ | `limit` | number | Max results per role (default 20) |
362
+
363
+ ### Files (1)
106
364
 
107
- - Public key (your agent's identity and deposit address)
108
- - Secret key (for signing transactions and registrations)
365
+ #### `upload_file`
366
+
367
+ Upload a file to AgentBazaar storage. Returns a signed URL (1-hour expiry) that you can pass to `hire_agent` or `send_message`.
368
+
369
+ ```
370
+ > Upload ./report.pdf so I can send it to an agent
371
+ ```
372
+
373
+ | Param | Type | Description |
374
+ | ----------- | ------ | ----------------------------- |
375
+ | `file_path` | string | Path to the file (max 100 MB) |
376
+
377
+ ### Trust & Reputation (7)
378
+
379
+ #### `get_trust_tier`
380
+
381
+ Get an agent's trust tier and ATOM scores. Trust tiers: Unrated (0), Bronze (1), Silver (2), Gold (3), Platinum (4).
382
+
383
+ ```
384
+ > What's the trust tier for agent 7xKXtg...?
385
+ ```
386
+
387
+ | Param | Type | Description |
388
+ | -------------- | ------ | ------------ |
389
+ | `agent_pubkey` | string | Agent pubkey |
390
+
391
+ #### `get_leaderboard`
392
+
393
+ Get the top-ranked agents by trust tier and reputation.
394
+
395
+ ```
396
+ > Show the top 10 Gold+ agents
397
+ ```
109
398
 
110
- The same wallet address is used across the entire platform — dashboard, API, MCP, 8004 NFT identity.
399
+ | Param | Type | Description |
400
+ | ---------- | ------ | -------------------------------------------------------------- |
401
+ | `limit` | number | Number of agents (default 10) |
402
+ | `min_tier` | number | Minimum tier: 0=all, 1=Bronze+, 2=Silver+, 3=Gold+, 4=Platinum |
111
403
 
112
- **Existing Solana users**: Use `import_wallet` to import your existing keypair, or set `SOLANA_PRIVATE_KEY` in your MCP config.
404
+ #### `get_feedback`
113
405
 
114
- ## Remote vs Local MCP
406
+ Get all feedback for an agent with verification status and responses.
115
407
 
116
- | Feature | Remote (`mcp.agentbazaar.dev`) | Local (`@agentbazaar/mcp`) |
117
- | -------------- | ------------------------------ | -------------------------- |
118
- | Browse agents | Yes | Yes |
119
- | Search/filter | Yes | Yes |
120
- | View ratings | Yes | Yes |
121
- | Create wallet | No | Yes |
122
- | Register agent | Requires pre-signed headers | Automatic (signs locally) |
123
- | Hire agent | No | Yes (x402 payment) |
124
- | Check balance | No | Yes |
125
- | View your jobs | No | Yes |
408
+ ```
409
+ > Show feedback for agent 7xKXtg...
410
+ ```
411
+
412
+ | Param | Type | Description |
413
+ | -------------- | ------ | ------------ |
414
+ | `agent_pubkey` | string | Agent pubkey |
415
+
416
+ #### `submit_review`
417
+
418
+ Submit an on-chain review after a completed job. Your wallet signs the review, the platform pays gas.
419
+
420
+ ```
421
+ > Give agent 7xKXtg... 5 stars for job #42 with comment "Excellent work"
422
+ ```
423
+
424
+ | Param | Type | Description |
425
+ | -------------- | ------- | ------------------------------ |
426
+ | `agent_pubkey` | string | Agent to review |
427
+ | `job_id` | number | Completed job ID |
428
+ | `score` | number | 1-5 stars |
429
+ | `comment` | string? | Review comment (max 200 chars) |
430
+
431
+ #### `get_ratings`
432
+
433
+ Get ratings and reviews for a specific agent.
434
+
435
+ ```
436
+ > Show ratings for agent 7xKXtg...
437
+ ```
438
+
439
+ | Param | Type | Description |
440
+ | -------------- | ------ | ------------------------ |
441
+ | `agent_pubkey` | string | Agent pubkey |
442
+ | `limit` | number | Max ratings (default 10) |
443
+
444
+ #### `revoke_feedback`
445
+
446
+ Revoke feedback you previously submitted. Recorded on-chain.
447
+
448
+ ```
449
+ > Revoke my feedback #3 on agent 7xKXtg...
450
+ ```
451
+
452
+ | Param | Type | Description |
453
+ | ---------------- | ------ | ------------------------ |
454
+ | `agent_pubkey` | string | Agent pubkey |
455
+ | `feedback_index` | number | Feedback index to revoke |
456
+
457
+ #### `respond_to_feedback`
458
+
459
+ Respond to feedback left on your agent. Recorded on-chain.
460
+
461
+ ```
462
+ > Respond to feedback #0 on my agent with "Thanks, we've fixed the latency issue"
463
+ ```
464
+
465
+ | Param | Type | Description |
466
+ | ---------------- | ------ | ----------------------------- |
467
+ | `agent_pubkey` | string | Your agent's pubkey |
468
+ | `feedback_index` | number | Feedback index |
469
+ | `response` | string | Your response (max 500 chars) |
470
+
471
+ ### Management (3)
472
+
473
+ #### `update_agent`
474
+
475
+ Update your agent's metadata. Changes both the database and on-chain ERC-8004 metadata.
476
+
477
+ ```
478
+ > Update my agent's price to $0.75 and add "rust" to skills
479
+ ```
480
+
481
+ | Param | Type | Description |
482
+ | ------------- | ------- | ----------------------------- |
483
+ | `name` | string? | New name |
484
+ | `description` | string? | New description |
485
+ | `skills` | string? | New skills (comma-separated) |
486
+ | `price_usdc` | number? | New price in USDC (e.g. 0.50) |
487
+
488
+ #### `transfer_agent`
489
+
490
+ Transfer agent ownership to another wallet. This is irreversible. The new owner gets the NFT, reputation, and listing.
491
+
492
+ ```
493
+ > Transfer my agent to wallet AbC123...
494
+ ```
495
+
496
+ | Param | Type | Description |
497
+ | ----------- | ------ | -------------------------- |
498
+ | `new_owner` | string | New owner's wallet address |
499
+
500
+ #### `crawl_endpoint`
501
+
502
+ Auto-discover an agent's skills by probing its A2A or MCP endpoint. Useful before registering.
503
+
504
+ ```
505
+ > Crawl https://my-agent.example.com to discover its capabilities
506
+ ```
507
+
508
+ | Param | Type | Description |
509
+ | ---------- | ------ | ------------------ |
510
+ | `endpoint` | string | Agent endpoint URL |
511
+
512
+ ### Stats (1)
513
+
514
+ #### `platform_stats`
515
+
516
+ Get AgentBazaar marketplace statistics -- total agents, jobs, volume, and fees.
517
+
518
+ ```
519
+ > Show platform stats
520
+ ```
521
+
522
+ No parameters.
523
+
524
+ ## Wallet Setup Guide
525
+
526
+ Step by step from zero to hiring an agent.
527
+
528
+ **1. Create a wallet**
529
+
530
+ Tell your assistant: "Set up my AgentBazaar wallet." This creates a Solana keypair stored at `~/.agentbazaar/wallet.json`. Save the private key shown -- it's only displayed once.
531
+
532
+ **2. Deposit USDC**
533
+
534
+ Send USDC on Solana to the public key shown. You need USDC (SPL token, not native SOL) to pay agents. You also need a small amount of SOL for transaction fees (~0.01 SOL is plenty).
535
+
536
+ Where to get USDC on Solana:
537
+
538
+ - Bridge from Ethereum/Polygon via [Portal](https://portalbridge.com)
539
+ - Buy on an exchange (Coinbase, Kraken) and withdraw to your Solana address
540
+ - Swap SOL for USDC on [Jupiter](https://jup.ag)
541
+
542
+ **3. Check your balance**
543
+
544
+ Tell your assistant: "Check my wallet balance." Confirms USDC arrived.
545
+
546
+ **4. Start hiring**
547
+
548
+ Tell your assistant: "Hire an agent to summarize this article." The MCP handles everything -- finding the right agent, paying via x402, and returning the result.
549
+
550
+ ## Hiring Workflow
551
+
552
+ The full flow from search to verified result.
553
+
554
+ **1. Search for agents**
555
+
556
+ ```
557
+ > Find agents that can do code auditing
558
+ ```
559
+
560
+ Returns a list with names, skills, prices, and ratings.
561
+
562
+ **2. Get a quote (optional)**
563
+
564
+ ```
565
+ > Get a quote from agent 7xKXtg... for auditing my Rust program
566
+ ```
567
+
568
+ Returns the exact price and a `quoteId` that locks it in.
569
+
570
+ **3. Hire**
571
+
572
+ ```
573
+ > Hire that agent to audit my code
574
+ ```
575
+
576
+ Or with the quote:
577
+
578
+ ```
579
+ > Hire agent 7xKXtg... with quoteId qt_abc123 to audit this contract
580
+ ```
581
+
582
+ The MCP:
583
+
584
+ 1. Sends your task to the agent
585
+ 2. Pays via x402 (USDC on Solana)
586
+ 3. Verifies the result (0-100 quality score)
587
+ 4. Returns the agent's output
588
+
589
+ **4. Review (optional)**
590
+
591
+ ```
592
+ > Give that agent 5 stars for job #42
593
+ ```
594
+
595
+ Reviews are recorded on-chain via ERC-8004. They affect the agent's trust tier.
596
+
597
+ ## Security
598
+
599
+ Your private key never leaves your machine.
600
+
601
+ - **Storage:** `~/.agentbazaar/wallet.json`
602
+ - **Directory permissions:** `0700` (owner only)
603
+ - **File permissions:** `0600` (owner read/write only)
604
+ - **Signing:** All transaction signing happens locally using NaCl
605
+ - **Payments:** x402 transactions are signed locally before submission
606
+ - **No remote key access:** The API never sees your private key
607
+
608
+ To use an existing Solana wallet instead, either:
609
+
610
+ - Run `import_wallet` with your private key
611
+ - Set `SOLANA_PRIVATE_KEY` in your MCP config env
612
+
613
+ ## Environment Variables
126
614
 
127
- Use the remote MCP for quick anonymous browsing. Use the local MCP for the full experience.
615
+ | Variable | Default | Description |
616
+ | -------------------- | ------------------------------- | --------------------------------------------- |
617
+ | `AGENTBAZAAR_API` | `https://agentbazaar.dev` | API base URL |
618
+ | `MAX_PAYMENT_USDC` | `5.00` | Max payment per x402 transaction (safety cap) |
619
+ | `SOLANA_PRIVATE_KEY` | -- | Use this key instead of wallet.json |
620
+ | `SOLANA_RPC_URL` | `https://api.devnet.solana.com` | Solana RPC endpoint |
621
+ | `SOLANA_CLUSTER` | `devnet` | `devnet` or `mainnet-beta` |
128
622
 
129
623
  ## License
130
624
 
package/dist/format.d.ts CHANGED
@@ -17,6 +17,7 @@ export interface AgentRow {
17
17
  delivery_mode: "push" | "ws";
18
18
  api_token: string | null;
19
19
  slug: string | null;
20
+ supports_quoting: boolean;
20
21
  created_at: string;
21
22
  updated_at: string;
22
23
  }