@paylobster/mcp-server 1.3.0 → 1.5.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 (135) hide show
  1. package/BUILD_SUMMARY.md +294 -0
  2. package/CHANGELOG.md +77 -0
  3. package/COMPLETION_REPORT.md +284 -0
  4. package/INTEGRATION.md +286 -0
  5. package/QUICKSTART.md +226 -0
  6. package/README.md +232 -127
  7. package/dist/index.d.ts +2 -2
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +19 -3
  10. package/dist/index.js.map +1 -1
  11. package/dist/lib/config.d.ts +7 -0
  12. package/dist/lib/config.d.ts.map +1 -0
  13. package/dist/lib/config.js +16 -0
  14. package/dist/lib/config.js.map +1 -0
  15. package/dist/lib/contracts.d.ts +15 -0
  16. package/dist/lib/contracts.d.ts.map +1 -0
  17. package/dist/lib/contracts.js +148 -0
  18. package/dist/lib/contracts.js.map +1 -0
  19. package/dist/lib/types.d.ts +39 -0
  20. package/dist/lib/types.d.ts.map +1 -0
  21. package/dist/{types/index.js → lib/types.js} +1 -1
  22. package/dist/lib/types.js.map +1 -0
  23. package/dist/resources/agent.d.ts +3 -0
  24. package/dist/resources/agent.d.ts.map +1 -0
  25. package/dist/resources/agent.js +36 -0
  26. package/dist/resources/agent.js.map +1 -0
  27. package/dist/resources/escrow.d.ts +3 -0
  28. package/dist/resources/escrow.d.ts.map +1 -0
  29. package/dist/resources/escrow.js +33 -0
  30. package/dist/resources/escrow.js.map +1 -0
  31. package/dist/resources/services.d.ts +2 -0
  32. package/dist/resources/services.d.ts.map +1 -0
  33. package/dist/resources/services.js +55 -0
  34. package/dist/resources/services.js.map +1 -0
  35. package/dist/server.d.ts +6 -3
  36. package/dist/server.d.ts.map +1 -1
  37. package/dist/server.js +114 -834
  38. package/dist/server.js.map +1 -1
  39. package/dist/tools/agent.d.ts +17 -0
  40. package/dist/tools/agent.d.ts.map +1 -0
  41. package/dist/tools/agent.js +51 -0
  42. package/dist/tools/agent.js.map +1 -0
  43. package/dist/tools/balance.d.ts +16 -5
  44. package/dist/tools/balance.d.ts.map +1 -1
  45. package/dist/tools/balance.js +44 -26
  46. package/dist/tools/balance.js.map +1 -1
  47. package/dist/tools/escrow.d.ts +31 -90
  48. package/dist/tools/escrow.d.ts.map +1 -1
  49. package/dist/tools/escrow.js +98 -215
  50. package/dist/tools/escrow.js.map +1 -1
  51. package/dist/tools/reputation.d.ts +15 -49
  52. package/dist/tools/reputation.d.ts.map +1 -1
  53. package/dist/tools/reputation.js +45 -107
  54. package/dist/tools/reputation.js.map +1 -1
  55. package/dist/tools/search.d.ts +30 -54
  56. package/dist/tools/search.d.ts.map +1 -1
  57. package/dist/tools/search.js +122 -85
  58. package/dist/tools/search.js.map +1 -1
  59. package/examples/test-server.ts +36 -0
  60. package/examples/test-tools.ts +64 -0
  61. package/package.json +20 -11
  62. package/src/__tests__/server.test.ts +24 -0
  63. package/src/index.ts +24 -0
  64. package/src/lib/config.ts +22 -0
  65. package/src/lib/contracts.ts +164 -0
  66. package/src/lib/types.ts +44 -0
  67. package/src/resources/agent.ts +40 -0
  68. package/src/resources/escrow.ts +35 -0
  69. package/src/resources/services.ts +53 -0
  70. package/src/server.ts +190 -0
  71. package/src/tools/agent.ts +56 -0
  72. package/src/tools/balance.ts +61 -0
  73. package/src/tools/escrow.ts +142 -0
  74. package/src/tools/reputation.ts +69 -0
  75. package/src/tools/search.ts +148 -0
  76. package/tsconfig.json +20 -0
  77. package/dist/cli.d.ts +0 -3
  78. package/dist/cli.d.ts.map +0 -1
  79. package/dist/cli.js +0 -86
  80. package/dist/cli.js.map +0 -1
  81. package/dist/resources/index.d.ts +0 -9
  82. package/dist/resources/index.d.ts.map +0 -1
  83. package/dist/resources/index.js +0 -159
  84. package/dist/resources/index.js.map +0 -1
  85. package/dist/tools/bridge.d.ts +0 -142
  86. package/dist/tools/bridge.d.ts.map +0 -1
  87. package/dist/tools/bridge.js +0 -121
  88. package/dist/tools/bridge.js.map +0 -1
  89. package/dist/tools/cascade.d.ts +0 -59
  90. package/dist/tools/cascade.d.ts.map +0 -1
  91. package/dist/tools/cascade.js +0 -119
  92. package/dist/tools/cascade.js.map +0 -1
  93. package/dist/tools/compliance.d.ts +0 -36
  94. package/dist/tools/compliance.d.ts.map +0 -1
  95. package/dist/tools/compliance.js +0 -57
  96. package/dist/tools/compliance.js.map +0 -1
  97. package/dist/tools/credit.d.ts +0 -46
  98. package/dist/tools/credit.d.ts.map +0 -1
  99. package/dist/tools/credit.js +0 -102
  100. package/dist/tools/credit.js.map +0 -1
  101. package/dist/tools/disputes.d.ts +0 -71
  102. package/dist/tools/disputes.d.ts.map +0 -1
  103. package/dist/tools/disputes.js +0 -121
  104. package/dist/tools/disputes.js.map +0 -1
  105. package/dist/tools/intent.d.ts +0 -78
  106. package/dist/tools/intent.d.ts.map +0 -1
  107. package/dist/tools/intent.js +0 -192
  108. package/dist/tools/intent.js.map +0 -1
  109. package/dist/tools/portfolio.d.ts +0 -44
  110. package/dist/tools/portfolio.d.ts.map +0 -1
  111. package/dist/tools/portfolio.js +0 -166
  112. package/dist/tools/portfolio.js.map +0 -1
  113. package/dist/tools/revenue.d.ts +0 -42
  114. package/dist/tools/revenue.d.ts.map +0 -1
  115. package/dist/tools/revenue.js +0 -67
  116. package/dist/tools/revenue.js.map +0 -1
  117. package/dist/tools/streaming.d.ts +0 -60
  118. package/dist/tools/streaming.d.ts.map +0 -1
  119. package/dist/tools/streaming.js +0 -163
  120. package/dist/tools/streaming.js.map +0 -1
  121. package/dist/tools/swap.d.ts +0 -93
  122. package/dist/tools/swap.d.ts.map +0 -1
  123. package/dist/tools/swap.js +0 -150
  124. package/dist/tools/swap.js.map +0 -1
  125. package/dist/tools/treasury.d.ts +0 -169
  126. package/dist/tools/treasury.d.ts.map +0 -1
  127. package/dist/tools/treasury.js +0 -475
  128. package/dist/tools/treasury.js.map +0 -1
  129. package/dist/types/index.d.ts +0 -83
  130. package/dist/types/index.d.ts.map +0 -1
  131. package/dist/types/index.js.map +0 -1
  132. package/dist/utils/contracts.d.ts +0 -552
  133. package/dist/utils/contracts.d.ts.map +0 -1
  134. package/dist/utils/contracts.js +0 -401
  135. package/dist/utils/contracts.js.map +0 -1
package/README.md CHANGED
@@ -1,11 +1,14 @@
1
- # PayLobster MCP Server
1
+ # @paylobster/mcp-server
2
2
 
3
- > Model Context Protocol (MCP) server for PayLobster agent payment infrastructure
3
+ Model Context Protocol (MCP) server for PayLobster's agent payment infrastructure. This package allows any MCP-compatible AI agent framework to interact with PayLobster's on-chain payment and reputation system.
4
4
 
5
- [![npm version](https://img.shields.io/npm/v/@paylobster/mcp-server)](https://www.npmjs.com/package/@paylobster/mcp-server)
6
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
+ ## Features
7
6
 
8
- Enables any MCP-compatible agent framework (Claude Desktop, LangChain, AutoGen, CrewAI, etc.) to discover services, manage payments, and interact with the PayLobster protocol on Base.
7
+ - 🔍 **Service Discovery** - Search and browse AI agent services
8
+ - 💰 **Payment Management** - Check balances and manage escrows
9
+ - ⭐ **Reputation System** - Query agent reputation scores and trust metrics
10
+ - 🔗 **Blockchain Integration** - Direct interaction with Base mainnet and Sepolia contracts
11
+ - 🛠️ **MCP Compliance** - Standard protocol compatible with all major agent frameworks
9
12
 
10
13
  ## Installation
11
14
 
@@ -13,39 +16,41 @@ Enables any MCP-compatible agent framework (Claude Desktop, LangChain, AutoGen,
13
16
  npm install @paylobster/mcp-server
14
17
  ```
15
18
 
16
- Or run directly:
19
+ ## Quick Start
20
+
21
+ ### Running the Server
22
+
23
+ The server runs in stdio mode (standard MCP transport):
17
24
 
18
25
  ```bash
26
+ # Using mainnet (default)
19
27
  npx @paylobster/mcp-server
20
- ```
21
28
 
22
- ## Quick Start
29
+ # Using Sepolia testnet
30
+ PAYLOBSTER_NETWORK=sepolia npx @paylobster/mcp-server
31
+
32
+ # With custom RPC URL
33
+ PAYLOBSTER_RPC_URL=https://your-rpc.url npx @paylobster/mcp-server
34
+ ```
23
35
 
24
- ### 1. Configure
36
+ ### Configuration
25
37
 
26
- Set environment variables:
38
+ Configure via environment variables:
27
39
 
28
40
  ```bash
29
- export PAYLOBSTER_PRIVATE_KEY=0x...
30
- export PAYLOBSTER_NETWORK=mainnet
31
- export PAYLOBSTER_RPC_URL=https://base-rpc.publicnode.com
32
- ```
41
+ # Network selection
42
+ PAYLOBSTER_NETWORK=mainnet # or 'sepolia'
33
43
 
34
- Or create `paylobster-mcp.json`:
44
+ # Custom RPC endpoint (optional)
45
+ PAYLOBSTER_RPC_URL=https://mainnet.base.org
35
46
 
36
- ```json
37
- {
38
- "network": "mainnet",
39
- "rpcUrl": "https://base-rpc.publicnode.com",
40
- "wallet": {
41
- "privateKey": "${PAYLOBSTER_PRIVATE_KEY}"
42
- }
43
- }
47
+ # API base URL (optional)
48
+ PAYLOBSTER_API_URL=https://paylobster.com
44
49
  ```
45
50
 
46
- ### 2. Connect to Claude Desktop
51
+ ### Using with Claude Desktop
47
52
 
48
- Add to `claude_desktop_config.json`:
53
+ Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
49
54
 
50
55
  ```json
51
56
  {
@@ -54,7 +59,6 @@ Add to `claude_desktop_config.json`:
54
59
  "command": "npx",
55
60
  "args": ["@paylobster/mcp-server"],
56
61
  "env": {
57
- "PAYLOBSTER_PRIVATE_KEY": "0x...",
58
62
  "PAYLOBSTER_NETWORK": "mainnet"
59
63
  }
60
64
  }
@@ -62,162 +66,263 @@ Add to `claude_desktop_config.json`:
62
66
  }
63
67
  ```
64
68
 
65
- ### 3. Connect to LangChain
69
+ ### Programmatic Usage
66
70
 
67
71
  ```typescript
68
- import { MCPToolkit } from '@langchain/community/agent_toolkits/mcp';
72
+ import { PayLobsterMCPServer } from '@paylobster/mcp-server';
69
73
 
70
- const toolkit = new MCPToolkit({
71
- serverCommand: 'npx',
72
- serverArgs: ['@paylobster/mcp-server'],
74
+ const server = new PayLobsterMCPServer({
75
+ network: 'mainnet',
76
+ rpcUrl: 'https://mainnet.base.org',
73
77
  });
74
78
 
75
- const tools = await toolkit.getTools();
79
+ await server.start();
76
80
  ```
77
81
 
78
- ### 4. Connect to CrewAI
82
+ ## Available Tools
79
83
 
80
- ```python
81
- from crewai import Agent
82
- from mcp import MCPClient
84
+ ### `paylobster_get_reputation`
83
85
 
84
- paylobster = MCPClient(command=["npx", "@paylobster/mcp-server"])
86
+ Get reputation score and trust metrics for any agent address.
85
87
 
86
- agent = Agent(
87
- role="Service Buyer",
88
- tools=paylobster.get_tools(),
89
- )
88
+ ```json
89
+ {
90
+ "address": "0x..."
91
+ }
90
92
  ```
91
93
 
92
- ## Available Tools (8)
94
+ Returns:
95
+ ```json
96
+ {
97
+ "address": "0x...",
98
+ "reputation": {
99
+ "score": 4.5,
100
+ "trustVector": "12345",
101
+ "verified": true
102
+ },
103
+ "agentInfo": {
104
+ "name": "MyAgent",
105
+ "tokenId": "1",
106
+ "registered": true
107
+ }
108
+ }
109
+ ```
93
110
 
94
- | Tool | Description |
95
- |------|-------------|
96
- | `register_agent` | Register agent identity on-chain |
97
- | `search_services` | Find services by capability, category, or price |
98
- | `create_escrow` | Create a payment escrow |
99
- | `release_escrow` | Release funds from an escrow |
100
- | `get_escrow` | Get escrow details |
101
- | `list_escrows` | List escrows by creator or provider |
102
- | `get_reputation` | Check agent reputation score |
103
- | `get_balance` | Query USDC and credit balance |
111
+ ### `paylobster_get_balance`
104
112
 
105
- ### Tool Examples
113
+ Check USDC balance for an address.
106
114
 
107
- **Register an agent:**
108
115
  ```json
109
116
  {
110
- "name": "MyCodeReviewer",
111
- "capabilities": ["typescript", "react", "security"]
117
+ "address": "0x..."
112
118
  }
113
119
  ```
114
120
 
115
- **Create an escrow:**
121
+ Returns:
116
122
  ```json
117
123
  {
118
- "to": "0x1234...5678",
119
- "amount": "5.00",
120
- "terms": {
121
- "releaseOn": "delivery-confirmed",
122
- "timeout": "P7D"
124
+ "address": "0x...",
125
+ "balance": {
126
+ "usdc": "100.50",
127
+ "raw": "100500000"
123
128
  }
124
129
  }
125
130
  ```
126
131
 
127
- **Search services:**
132
+ ### `paylobster_get_agent`
133
+
134
+ Get agent identity information.
135
+
128
136
  ```json
129
137
  {
130
- "query": "code review",
131
- "filters": {
132
- "category": "development",
133
- "maxPrice": "10.00",
134
- "minReputation": 4.0
135
- }
138
+ "address": "0x..."
136
139
  }
137
140
  ```
138
141
 
139
- ## MCP Resources (3)
142
+ Returns:
143
+ ```json
144
+ {
145
+ "address": "0x...",
146
+ "name": "MyAgent",
147
+ "tokenId": "1",
148
+ "registered": true
149
+ }
150
+ ```
140
151
 
141
- | URI | Description |
142
- |-----|-------------|
143
- | `paylobster://agent/{address}` | Agent profile and reputation |
144
- | `paylobster://escrow/{id}` | Escrow status and details |
145
- | `paylobster://reputation/{address}` | Reputation metrics |
152
+ ### `paylobster_list_escrows`
146
153
 
147
- ## Programmatic Usage
154
+ List all escrows for a given address.
148
155
 
149
- ```typescript
150
- import { PayLobsterMCPServer } from '@paylobster/mcp-server';
156
+ ```json
157
+ {
158
+ "address": "0x..."
159
+ }
160
+ ```
151
161
 
152
- const server = new PayLobsterMCPServer({
153
- network: 'mainnet',
154
- rpcUrl: 'https://base-rpc.publicnode.com',
155
- wallet: { privateKey: process.env.PAYLOBSTER_PRIVATE_KEY },
156
- });
162
+ ### `paylobster_get_escrow`
157
163
 
158
- await server.start();
164
+ Get details for a specific escrow.
165
+
166
+ ```json
167
+ {
168
+ "escrowId": "123"
169
+ }
159
170
  ```
160
171
 
172
+ ### `paylobster_search_services`
173
+
174
+ Search for AI agent services (currently returns mock data).
175
+
176
+ ```json
177
+ {
178
+ "query": "code review",
179
+ "category": "code-review",
180
+ "maxPrice": "50.00",
181
+ "minReputation": 4.0,
182
+ "limit": 20
183
+ }
184
+ ```
185
+
186
+ ## Available Resources
187
+
188
+ ### `paylobster://services`
189
+
190
+ Browse the service catalog.
191
+
192
+ ### `paylobster://agent/{address}`
193
+
194
+ Get agent profile and reputation.
195
+
196
+ ### `paylobster://escrow/{id}`
197
+
198
+ Get escrow details by ID.
199
+
161
200
  ## Contract Addresses
162
201
 
163
202
  ### Base Mainnet
164
-
165
- | Contract | Address |
166
- |----------|---------|
167
- | Identity | `0xA174ee274F870631B3c330a85EBCad74120BE662` |
168
- | Reputation | `0x02bb4132a86134684976E2a52E43D59D89E64b29` |
169
- | Credit | `0xD9241Ce8a721Ef5fcCAc5A11983addC526eC80E1` |
170
- | Escrow V3 | `0x49EdEe04c78B7FeD5248A20706c7a6c540748806` |
203
+ - Identity: `0xA174f250380c4B5C37F6709bBa719E662b77E662`
204
+ - Reputation: `0x02bb4c4cd10EeaCD04DF7631c81d6E7c1d0c4b29`
205
+ - Credit: `0xD924B81F2d8EFF3E0A3Bf0a4b9D77d37CC0980E1`
206
+ - Escrow: `0x49Ed7003C6941a033E7dD8b44552e4E18cf28806`
207
+ - USDC: `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913`
171
208
 
172
209
  ### Base Sepolia
210
+ - Identity: `0x3dfA02Ed4F0e4F10E8031d7a4cB8Ea0bBbFbCB8c`
211
+ - Reputation: `0xb0033901e3b94f4F36dA0b3e59A1F4AD9f4f1697`
212
+ - Credit: `0xBA64e2b2F2a80D03A4B13b3396942C1e78205C7d`
213
+ - Escrow: `0x78D1f50a1965dE34f6b5a3D3546C94FE1809Cd82`
214
+ - USDC: `0x036CbD53842c5426634e7929541eC2318f3dCF7e`
173
215
 
174
- | Contract | Address |
175
- |----------|---------|
176
- | Identity | `0x3dfA02Ed4F0e4F10E8031d7a4cB8Ea0bBbFbCB8c` |
177
- | Reputation | `0xb0033901e3b94f4F36dA0b3e59A1F4AD9f4f1697` |
178
- | Credit | `0xBA64e2b2F2a80D03A4B13b3396942C1e78205C7d` |
179
- | Escrow V3 | `0x78D1f50a1965dE34f6b5a3D3546C94FE1809Cd82` |
216
+ ## Development
180
217
 
181
- ## Architecture
218
+ ```bash
219
+ # Install dependencies
220
+ npm install
221
+
222
+ # Build
223
+ npm run build
224
+
225
+ # Run in development mode with auto-reload
226
+ npm run dev
227
+
228
+ # Run tests
229
+ npm test
182
230
 
231
+ # Lint
232
+ npm run lint
183
233
  ```
184
- ┌─────────────────────────────┐
185
- │ Agent Framework │
186
- │ (Claude, LangChain, etc.) │
187
- └─────────────┬───────────────┘
188
- │ MCP Protocol (stdio)
189
- ┌─────────────▼───────────────┐
190
- │ PayLobster MCP Server │
191
- │ - 8 Tools │
192
- │ - 3 Resources │
193
- - Viem Client │
194
- └─────────────┬───────────────┘
195
-
196
- ┌─────────────▼───────────────┐
197
- │ Base L2 Blockchain │
198
- │ - Smart Contracts │
199
- │ - USDC Payments │
200
- └─────────────────────────────┘
234
+
235
+ ## Error Handling
236
+
237
+ All errors follow this structure:
238
+
239
+ ```json
240
+ {
241
+ "error": {
242
+ "code": "ERR_INVALID_INPUT",
243
+ "message": "Human-readable error message",
244
+ "details": {},
245
+ "retryable": false
246
+ }
247
+ }
201
248
  ```
202
249
 
203
- ## Security
250
+ Common error codes:
251
+ - `ERR_INVALID_INPUT` - Invalid parameters (not retryable)
252
+ - `ERR_NETWORK_ERROR` - RPC/network failure (retryable)
253
+ - `ERR_RESOURCE_NOT_FOUND` - Resource doesn't exist (not retryable)
254
+ - `ERR_UNKNOWN_TOOL` - Tool not found (not retryable)
204
255
 
205
- ⚠️ **Never commit your private key.** Use environment variables or encrypted key management.
256
+ ## Framework Integration
206
257
 
207
- For production: use agent mandates with spending limits to cap autonomous spending.
258
+ ### LangChain
208
259
 
209
- ## Resources
260
+ ```typescript
261
+ import { MCPToolkit } from '@langchain/community/agent_toolkits/mcp';
210
262
 
211
- - **Website**: [paylobster.com](https://paylobster.com)
212
- - **Docs**: [paylobster.com/docs](https://paylobster.com/docs)
213
- - **Discord**: [discord.gg/ntWQB6g2jt](https://discord.gg/ntWQB6g2jt)
214
- - **SDK**: [npmjs.com/package/pay-lobster](https://www.npmjs.com/package/pay-lobster)
215
- - **CLI**: [npmjs.com/package/@paylobster/cli](https://www.npmjs.com/package/@paylobster/cli)
263
+ const toolkit = new MCPToolkit({
264
+ serverCommand: 'npx',
265
+ serverArgs: ['@paylobster/mcp-server'],
266
+ });
267
+
268
+ const tools = await toolkit.getTools();
269
+ ```
270
+
271
+ ### OpenAI Agents SDK
272
+
273
+ ```typescript
274
+ import { Agent } from '@openai/agents-sdk';
275
+ import { PayLobsterMCPServer } from '@paylobster/mcp-server';
276
+
277
+ const paylobster = new PayLobsterMCPServer({ network: 'mainnet' });
278
+ await paylobster.start();
279
+
280
+ const agent = new Agent({
281
+ model: 'gpt-4',
282
+ tools: paylobster.getTools(),
283
+ });
284
+ ```
285
+
286
+ ## Architecture
287
+
288
+ ```
289
+ ┌─────────────────────────────────┐
290
+ │ Agent Framework │
291
+ │ (Claude, GPT, LangChain, etc.) │
292
+ └───────────┬─────────────────────┘
293
+ │ MCP Protocol (stdio)
294
+ ┌───────────▼─────────────────────┐
295
+ │ PayLobster MCP Server │
296
+ │ ┌──────────────────────────┐ │
297
+ │ │ Tool Handlers │ │
298
+ │ │ Resource Handlers │ │
299
+ │ └───────┬──────────────────┘ │
300
+ │ │ │
301
+ │ ┌───────▼──────────────────┐ │
302
+ │ │ Viem Client │ │
303
+ │ │ (Contract Interactions) │ │
304
+ │ └──────────────────────────┘ │
305
+ └───────────┬─────────────────────┘
306
+
307
+ ┌───────────▼─────────────────────┐
308
+ │ Base Blockchain │
309
+ │ Smart Contracts (V3) │
310
+ └─────────────────────────────────┘
311
+ ```
216
312
 
217
313
  ## License
218
314
 
219
- MIT © PayLobster
315
+ MIT
316
+
317
+ ## Links
318
+
319
+ - [PayLobster Website](https://paylobster.com)
320
+ - [Documentation](https://docs.paylobster.com)
321
+ - [GitHub](https://github.com/paylobster/paylobster)
322
+ - [MCP Specification](https://modelcontextprotocol.io)
220
323
 
221
- ---
324
+ ## Support
222
325
 
223
- **Built for the agent economy** 🦞
326
+ For issues and questions:
327
+ - GitHub Issues: https://github.com/paylobster/paylobster/issues
328
+ - Discord: https://discord.gg/paylobster
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export { PayLobsterMCPServer } from './server.js';
2
- export type { PayLobsterConfig, ServiceListing, ReputationData, EscrowData, BalanceData } from './types/index.js';
1
+ #!/usr/bin/env node
2
+ export {};
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js CHANGED
@@ -1,6 +1,22 @@
1
+ #!/usr/bin/env node
1
2
  "use strict";
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PayLobsterMCPServer = void 0;
4
- var server_js_1 = require("./server.js");
5
- Object.defineProperty(exports, "PayLobsterMCPServer", { enumerable: true, get: function () { return server_js_1.PayLobsterMCPServer; } });
4
+ const server_js_1 = require("./server.js");
5
+ async function main() {
6
+ const server = new server_js_1.PayLobsterMCPServer();
7
+ await server.start();
8
+ // Handle graceful shutdown
9
+ process.on('SIGINT', () => {
10
+ console.error('Shutting down...');
11
+ process.exit(0);
12
+ });
13
+ process.on('SIGTERM', () => {
14
+ console.error('Shutting down...');
15
+ process.exit(0);
16
+ });
17
+ }
18
+ main().catch((error) => {
19
+ console.error('Fatal error:', error);
20
+ process.exit(1);
21
+ });
6
22
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAAkD;AAAzC,gHAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,2CAAkD;AAElD,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,IAAI,+BAAmB,EAAE,CAAC;IACzC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAErB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export interface MCPServerConfig {
2
+ network: 'mainnet' | 'sepolia';
3
+ rpcUrl?: string;
4
+ apiUrl?: string;
5
+ }
6
+ export declare function getConfig(): MCPServerConfig;
7
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,SAAS,IAAI,eAAe,CAa3C"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getConfig = getConfig;
4
+ function getConfig() {
5
+ const network = (process.env.PAYLOBSTER_NETWORK || 'mainnet');
6
+ const defaultRpcUrls = {
7
+ mainnet: 'https://mainnet.base.org',
8
+ sepolia: 'https://sepolia.base.org',
9
+ };
10
+ return {
11
+ network,
12
+ rpcUrl: process.env.PAYLOBSTER_RPC_URL || defaultRpcUrls[network],
13
+ apiUrl: process.env.PAYLOBSTER_API_URL || 'https://paylobster.com',
14
+ };
15
+ }
16
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":";;AAQA,8BAaC;AAbD,SAAgB,SAAS;IACvB,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,SAAS,CAA0B,CAAC;IAEvF,MAAM,cAAc,GAAG;QACrB,OAAO,EAAE,0BAA0B;QACnC,OAAO,EAAE,0BAA0B;KACpC,CAAC;IAEF,OAAO;QACL,OAAO;QACP,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,cAAc,CAAC,OAAO,CAAC;QACjE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,wBAAwB;KACnE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { type Address } from 'viem';
2
+ import type { MCPServerConfig } from './config.js';
3
+ import type { AgentInfo, ReputationData, EscrowData } from './types.js';
4
+ export declare class ContractsClient {
5
+ private publicClient;
6
+ private contracts;
7
+ constructor(config: MCPServerConfig);
8
+ getAgentInfo(address: Address): Promise<AgentInfo>;
9
+ getReputation(address: Address): Promise<ReputationData>;
10
+ getBalance(address: Address): Promise<bigint>;
11
+ getEscrow(escrowId: bigint): Promise<EscrowData>;
12
+ getUserTransactionCount(address: Address): Promise<bigint>;
13
+ getContractAddress(name: 'IDENTITY' | 'REPUTATION' | 'CREDIT' | 'ESCROW' | 'USDC'): Address;
14
+ }
15
+ //# sourceMappingURL=contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/lib/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAE9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAiFxE,qBAAa,eAAe;IAC1B,OAAO,CAAC,YAAY,CAAC;IACrB,OAAO,CAAC,SAAS,CAAC;gBAEN,MAAM,EAAE,eAAe;IAU7B,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAelD,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IAcxD,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAW7C,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAiBhD,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAKhE,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO;CAG5F"}