@sardis/mcp-server 0.2.6 → 1.0.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/CHANGELOG.md +11 -1
- package/CLAUDE_DESKTOP_CONFIG.md +10 -19
- package/README.md +179 -221
- package/dist/api.d.ts +1 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +4 -2
- package/dist/api.js.map +1 -1
- package/dist/cli.js +185 -20
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/tools/events.d.ts +7 -0
- package/dist/tools/events.d.ts.map +1 -0
- package/dist/tools/events.js +413 -0
- package/dist/tools/events.js.map +1 -0
- package/dist/tools/fiat.d.ts +2 -2
- package/dist/tools/fiat.d.ts.map +1 -1
- package/dist/tools/fiat.js +649 -266
- package/dist/tools/fiat.js.map +1 -1
- package/dist/tools/groups.d.ts +7 -0
- package/dist/tools/groups.d.ts.map +1 -0
- package/dist/tools/groups.js +312 -0
- package/dist/tools/groups.js.map +1 -0
- package/dist/tools/guardrails.d.ts +7 -0
- package/dist/tools/guardrails.d.ts.map +1 -0
- package/dist/tools/guardrails.js +379 -0
- package/dist/tools/guardrails.js.map +1 -0
- package/dist/tools/index.d.ts +27 -8
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +91 -5
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/payments.d.ts +2 -0
- package/dist/tools/payments.d.ts.map +1 -1
- package/dist/tools/payments.js +2 -0
- package/dist/tools/payments.js.map +1 -1
- package/dist/tools/policy.d.ts.map +1 -1
- package/dist/tools/policy.js +32 -4
- package/dist/tools/policy.js.map +1 -1
- package/dist/tools/sandbox.js +1 -1
- package/dist/tools/types.d.ts +51 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js +20 -0
- package/dist/tools/types.js.map +1 -1
- package/dist/tools/wallet-management.d.ts.map +1 -1
- package/dist/tools/wallet-management.js +55 -45
- package/dist/tools/wallet-management.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/mcp.json +139 -53
- package/package.json +39 -24
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Guardrails tools for MCP server
|
|
3
|
+
*/
|
|
4
|
+
import { getConfig } from '../config.js';
|
|
5
|
+
import { apiRequest } from '../api.js';
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
// Schemas
|
|
8
|
+
const CheckCircuitBreakerSchema = z.object({
|
|
9
|
+
wallet_id: z.string().optional(),
|
|
10
|
+
});
|
|
11
|
+
const ActivateKillSwitchSchema = z.object({
|
|
12
|
+
wallet_id: z.string().optional(),
|
|
13
|
+
reason: z.string(),
|
|
14
|
+
});
|
|
15
|
+
const DeactivateKillSwitchSchema = z.object({
|
|
16
|
+
wallet_id: z.string().optional(),
|
|
17
|
+
});
|
|
18
|
+
const CheckRateLimitsSchema = z.object({
|
|
19
|
+
wallet_id: z.string().optional(),
|
|
20
|
+
});
|
|
21
|
+
const GetBehavioralAlertsSchema = z.object({
|
|
22
|
+
wallet_id: z.string().optional(),
|
|
23
|
+
severity: z.enum(['low', 'medium', 'high', 'critical']).optional(),
|
|
24
|
+
limit: z.number().min(1).max(100).optional(),
|
|
25
|
+
since: z.string().optional(),
|
|
26
|
+
});
|
|
27
|
+
// Tool definitions
|
|
28
|
+
export const guardrailsToolDefinitions = [
|
|
29
|
+
{
|
|
30
|
+
name: 'sardis_check_circuit_breaker',
|
|
31
|
+
description: 'Check circuit breaker and kill switch status for a wallet. Returns operational status and any active safety controls.',
|
|
32
|
+
inputSchema: {
|
|
33
|
+
type: 'object',
|
|
34
|
+
properties: {
|
|
35
|
+
wallet_id: {
|
|
36
|
+
type: 'string',
|
|
37
|
+
description: 'Wallet ID to check. Uses default wallet if not specified.',
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
required: [],
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: 'sardis_activate_kill_switch',
|
|
45
|
+
description: 'EMERGENCY: Activate kill switch to halt ALL transactions for a wallet. Use only in security emergencies.',
|
|
46
|
+
inputSchema: {
|
|
47
|
+
type: 'object',
|
|
48
|
+
properties: {
|
|
49
|
+
wallet_id: {
|
|
50
|
+
type: 'string',
|
|
51
|
+
description: 'Wallet ID to halt. Uses default wallet if not specified.',
|
|
52
|
+
},
|
|
53
|
+
reason: {
|
|
54
|
+
type: 'string',
|
|
55
|
+
description: 'Reason for activating kill switch (required for audit trail)',
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
required: ['reason'],
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: 'sardis_deactivate_kill_switch',
|
|
63
|
+
description: 'Deactivate kill switch to resume normal wallet operations. Use after security issue is resolved.',
|
|
64
|
+
inputSchema: {
|
|
65
|
+
type: 'object',
|
|
66
|
+
properties: {
|
|
67
|
+
wallet_id: {
|
|
68
|
+
type: 'string',
|
|
69
|
+
description: 'Wallet ID to resume. Uses default wallet if not specified.',
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
required: [],
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
name: 'sardis_check_rate_limits',
|
|
77
|
+
description: 'Check transaction rate limits and spending velocity. Monitor for approaching thresholds.',
|
|
78
|
+
inputSchema: {
|
|
79
|
+
type: 'object',
|
|
80
|
+
properties: {
|
|
81
|
+
wallet_id: {
|
|
82
|
+
type: 'string',
|
|
83
|
+
description: 'Wallet ID to check. Uses default wallet if not specified.',
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
required: [],
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
name: 'sardis_get_behavioral_alerts',
|
|
91
|
+
description: 'Get behavioral anomaly alerts for a wallet. Identifies unusual spending patterns and security threats.',
|
|
92
|
+
inputSchema: {
|
|
93
|
+
type: 'object',
|
|
94
|
+
properties: {
|
|
95
|
+
wallet_id: {
|
|
96
|
+
type: 'string',
|
|
97
|
+
description: 'Wallet ID to check. Uses default wallet if not specified.',
|
|
98
|
+
},
|
|
99
|
+
severity: {
|
|
100
|
+
type: 'string',
|
|
101
|
+
enum: ['low', 'medium', 'high', 'critical'],
|
|
102
|
+
description: 'Filter by alert severity',
|
|
103
|
+
},
|
|
104
|
+
limit: {
|
|
105
|
+
type: 'number',
|
|
106
|
+
description: 'Maximum number of alerts to return (1-100)',
|
|
107
|
+
},
|
|
108
|
+
since: {
|
|
109
|
+
type: 'string',
|
|
110
|
+
description: 'ISO 8601 timestamp - only return alerts after this time',
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
required: [],
|
|
114
|
+
},
|
|
115
|
+
},
|
|
116
|
+
];
|
|
117
|
+
// Tool handlers
|
|
118
|
+
export const guardrailsToolHandlers = {
|
|
119
|
+
sardis_check_circuit_breaker: async (args) => {
|
|
120
|
+
const parsed = CheckCircuitBreakerSchema.safeParse(args);
|
|
121
|
+
const config = getConfig();
|
|
122
|
+
const walletId = parsed.success && parsed.data.wallet_id
|
|
123
|
+
? parsed.data.wallet_id
|
|
124
|
+
: config.walletId || 'wallet_default';
|
|
125
|
+
if (!config.apiKey || config.mode === 'simulated') {
|
|
126
|
+
// Simulated response
|
|
127
|
+
const mockStatus = {
|
|
128
|
+
wallet_id: walletId,
|
|
129
|
+
circuit_breaker: {
|
|
130
|
+
active: false,
|
|
131
|
+
reason: null,
|
|
132
|
+
triggered_at: null,
|
|
133
|
+
auto_recovery: true,
|
|
134
|
+
},
|
|
135
|
+
kill_switch: {
|
|
136
|
+
active: false,
|
|
137
|
+
activated_by: null,
|
|
138
|
+
activated_at: null,
|
|
139
|
+
requires_manual_reset: true,
|
|
140
|
+
},
|
|
141
|
+
rate_limits: {
|
|
142
|
+
tx_per_minute: {
|
|
143
|
+
limit: 5,
|
|
144
|
+
current: 1.2,
|
|
145
|
+
percentage_used: 24.0,
|
|
146
|
+
breached: false,
|
|
147
|
+
},
|
|
148
|
+
tx_per_hour: {
|
|
149
|
+
limit: 100,
|
|
150
|
+
current: 23,
|
|
151
|
+
percentage_used: 23.0,
|
|
152
|
+
breached: false,
|
|
153
|
+
},
|
|
154
|
+
spend_per_hour_usd: {
|
|
155
|
+
limit: 1000.0,
|
|
156
|
+
current: 125.5,
|
|
157
|
+
percentage_used: 12.55,
|
|
158
|
+
breached: false,
|
|
159
|
+
},
|
|
160
|
+
},
|
|
161
|
+
status: 'operational',
|
|
162
|
+
last_checked: new Date().toISOString(),
|
|
163
|
+
};
|
|
164
|
+
return {
|
|
165
|
+
content: [{ type: 'text', text: JSON.stringify(mockStatus, null, 2) }],
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
try {
|
|
169
|
+
const status = await apiRequest('GET', '/api/v2/guardrails/status', undefined, { 'X-Wallet-ID': walletId });
|
|
170
|
+
return {
|
|
171
|
+
content: [{ type: 'text', text: JSON.stringify(status, null, 2) }],
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
catch (error) {
|
|
175
|
+
return {
|
|
176
|
+
content: [{
|
|
177
|
+
type: 'text',
|
|
178
|
+
text: `Failed to check circuit breaker: ${error instanceof Error ? error.message : 'Unknown error'}`,
|
|
179
|
+
}],
|
|
180
|
+
isError: true,
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
sardis_activate_kill_switch: async (args) => {
|
|
185
|
+
const parsed = ActivateKillSwitchSchema.safeParse(args);
|
|
186
|
+
if (!parsed.success) {
|
|
187
|
+
return {
|
|
188
|
+
content: [{ type: 'text', text: `Invalid request: ${parsed.error.message}` }],
|
|
189
|
+
isError: true,
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
const config = getConfig();
|
|
193
|
+
const walletId = parsed.data.wallet_id || config.walletId || 'wallet_default';
|
|
194
|
+
if (!config.apiKey || config.mode === 'simulated') {
|
|
195
|
+
// Simulated response
|
|
196
|
+
return {
|
|
197
|
+
content: [{
|
|
198
|
+
type: 'text',
|
|
199
|
+
text: JSON.stringify({
|
|
200
|
+
wallet_id: walletId,
|
|
201
|
+
kill_switch_active: true,
|
|
202
|
+
activated_by: 'simulated_user',
|
|
203
|
+
activated_at: new Date().toISOString(),
|
|
204
|
+
reason: parsed.data.reason,
|
|
205
|
+
message: '⚠️ KILL SWITCH ACTIVATED - All transactions halted',
|
|
206
|
+
status: 'halted',
|
|
207
|
+
}, null, 2),
|
|
208
|
+
}],
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
try {
|
|
212
|
+
const result = await apiRequest('POST', '/api/v2/guardrails/kill-switch/activate', {
|
|
213
|
+
wallet_id: walletId,
|
|
214
|
+
reason: parsed.data.reason,
|
|
215
|
+
});
|
|
216
|
+
return {
|
|
217
|
+
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
catch (error) {
|
|
221
|
+
return {
|
|
222
|
+
content: [{
|
|
223
|
+
type: 'text',
|
|
224
|
+
text: `Failed to activate kill switch: ${error instanceof Error ? error.message : 'Unknown error'}`,
|
|
225
|
+
}],
|
|
226
|
+
isError: true,
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
sardis_deactivate_kill_switch: async (args) => {
|
|
231
|
+
const parsed = DeactivateKillSwitchSchema.safeParse(args);
|
|
232
|
+
const config = getConfig();
|
|
233
|
+
const walletId = parsed.success && parsed.data.wallet_id
|
|
234
|
+
? parsed.data.wallet_id
|
|
235
|
+
: config.walletId || 'wallet_default';
|
|
236
|
+
if (!config.apiKey || config.mode === 'simulated') {
|
|
237
|
+
// Simulated response
|
|
238
|
+
return {
|
|
239
|
+
content: [{
|
|
240
|
+
type: 'text',
|
|
241
|
+
text: JSON.stringify({
|
|
242
|
+
wallet_id: walletId,
|
|
243
|
+
kill_switch_active: false,
|
|
244
|
+
deactivated_at: new Date().toISOString(),
|
|
245
|
+
message: '✓ Kill switch deactivated - Wallet operational',
|
|
246
|
+
status: 'operational',
|
|
247
|
+
}, null, 2),
|
|
248
|
+
}],
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
try {
|
|
252
|
+
const result = await apiRequest('POST', '/api/v2/guardrails/kill-switch/deactivate', { wallet_id: walletId });
|
|
253
|
+
return {
|
|
254
|
+
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
catch (error) {
|
|
258
|
+
return {
|
|
259
|
+
content: [{
|
|
260
|
+
type: 'text',
|
|
261
|
+
text: `Failed to deactivate kill switch: ${error instanceof Error ? error.message : 'Unknown error'}`,
|
|
262
|
+
}],
|
|
263
|
+
isError: true,
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
},
|
|
267
|
+
sardis_check_rate_limits: async (args) => {
|
|
268
|
+
const parsed = CheckRateLimitsSchema.safeParse(args);
|
|
269
|
+
const config = getConfig();
|
|
270
|
+
const walletId = parsed.success && parsed.data.wallet_id
|
|
271
|
+
? parsed.data.wallet_id
|
|
272
|
+
: config.walletId || 'wallet_default';
|
|
273
|
+
if (!config.apiKey || config.mode === 'simulated') {
|
|
274
|
+
// Simulated response
|
|
275
|
+
const mockLimits = {
|
|
276
|
+
wallet_id: walletId,
|
|
277
|
+
limits: {
|
|
278
|
+
tx_per_minute: {
|
|
279
|
+
limit: 5,
|
|
280
|
+
current: 1.2,
|
|
281
|
+
percentage_used: 24.0,
|
|
282
|
+
breached: false,
|
|
283
|
+
},
|
|
284
|
+
tx_per_hour: {
|
|
285
|
+
limit: 100,
|
|
286
|
+
current: 23,
|
|
287
|
+
percentage_used: 23.0,
|
|
288
|
+
breached: false,
|
|
289
|
+
},
|
|
290
|
+
spend_per_hour_usd: {
|
|
291
|
+
limit: '1000.00',
|
|
292
|
+
current: '125.50',
|
|
293
|
+
percentage_used: 12.55,
|
|
294
|
+
breached: false,
|
|
295
|
+
},
|
|
296
|
+
},
|
|
297
|
+
status: 'healthy',
|
|
298
|
+
last_checked: new Date().toISOString(),
|
|
299
|
+
};
|
|
300
|
+
return {
|
|
301
|
+
content: [{ type: 'text', text: JSON.stringify(mockLimits, null, 2) }],
|
|
302
|
+
};
|
|
303
|
+
}
|
|
304
|
+
try {
|
|
305
|
+
const limits = await apiRequest('GET', '/api/v2/guardrails/rate-limits', undefined, { 'X-Wallet-ID': walletId });
|
|
306
|
+
return {
|
|
307
|
+
content: [{ type: 'text', text: JSON.stringify(limits, null, 2) }],
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
catch (error) {
|
|
311
|
+
return {
|
|
312
|
+
content: [{
|
|
313
|
+
type: 'text',
|
|
314
|
+
text: `Failed to check rate limits: ${error instanceof Error ? error.message : 'Unknown error'}`,
|
|
315
|
+
}],
|
|
316
|
+
isError: true,
|
|
317
|
+
};
|
|
318
|
+
}
|
|
319
|
+
},
|
|
320
|
+
sardis_get_behavioral_alerts: async (args) => {
|
|
321
|
+
const parsed = GetBehavioralAlertsSchema.safeParse(args);
|
|
322
|
+
const config = getConfig();
|
|
323
|
+
const walletId = parsed.success && parsed.data.wallet_id
|
|
324
|
+
? parsed.data.wallet_id
|
|
325
|
+
: config.walletId || 'wallet_default';
|
|
326
|
+
const queryParams = new URLSearchParams();
|
|
327
|
+
if (parsed.success) {
|
|
328
|
+
if (parsed.data.severity)
|
|
329
|
+
queryParams.set('severity', parsed.data.severity);
|
|
330
|
+
if (parsed.data.limit)
|
|
331
|
+
queryParams.set('limit', parsed.data.limit.toString());
|
|
332
|
+
if (parsed.data.since)
|
|
333
|
+
queryParams.set('since', parsed.data.since);
|
|
334
|
+
}
|
|
335
|
+
if (!config.apiKey || config.mode === 'simulated') {
|
|
336
|
+
// Simulated response
|
|
337
|
+
const mockAlerts = {
|
|
338
|
+
wallet_id: walletId,
|
|
339
|
+
alerts: [
|
|
340
|
+
{
|
|
341
|
+
alert_id: 'alert_sim1',
|
|
342
|
+
severity: 'medium',
|
|
343
|
+
type: 'velocity_increase',
|
|
344
|
+
message: 'Transaction rate slightly elevated',
|
|
345
|
+
details: {
|
|
346
|
+
normal_rate: '2.5 tx/min',
|
|
347
|
+
current_rate: '3.2 tx/min',
|
|
348
|
+
duration: '10 minutes',
|
|
349
|
+
},
|
|
350
|
+
timestamp: new Date(Date.now() - 600000).toISOString(),
|
|
351
|
+
auto_blocked: false,
|
|
352
|
+
requires_review: false,
|
|
353
|
+
},
|
|
354
|
+
],
|
|
355
|
+
total: 1,
|
|
356
|
+
has_critical: false,
|
|
357
|
+
};
|
|
358
|
+
return {
|
|
359
|
+
content: [{ type: 'text', text: JSON.stringify(mockAlerts, null, 2) }],
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
try {
|
|
363
|
+
const alerts = await apiRequest('GET', `/api/v2/guardrails/alerts?${queryParams.toString()}`, undefined, { 'X-Wallet-ID': walletId });
|
|
364
|
+
return {
|
|
365
|
+
content: [{ type: 'text', text: JSON.stringify(alerts, null, 2) }],
|
|
366
|
+
};
|
|
367
|
+
}
|
|
368
|
+
catch (error) {
|
|
369
|
+
return {
|
|
370
|
+
content: [{
|
|
371
|
+
type: 'text',
|
|
372
|
+
text: `Failed to get behavioral alerts: ${error instanceof Error ? error.message : 'Unknown error'}`,
|
|
373
|
+
}],
|
|
374
|
+
isError: true,
|
|
375
|
+
};
|
|
376
|
+
}
|
|
377
|
+
},
|
|
378
|
+
};
|
|
379
|
+
//# sourceMappingURL=guardrails.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guardrails.js","sourceRoot":"","sources":["../../src/tools/guardrails.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Sardis MCP Server - Tool Registry
|
|
3
3
|
*
|
|
4
4
|
* Aggregates all tool definitions and handlers from domain-specific modules.
|
|
5
|
-
* Total:
|
|
5
|
+
* Total: 50+ tools across 12 modules.
|
|
6
6
|
*/
|
|
7
7
|
import type { ToolDefinition, ToolHandler } from './types.js';
|
|
8
8
|
export * from './types.js';
|
|
@@ -33,15 +33,19 @@ export declare function getAllToolNames(): string[];
|
|
|
33
33
|
* Tool categories for organization
|
|
34
34
|
*/
|
|
35
35
|
export declare const toolCategories: {
|
|
36
|
-
readonly wallet: readonly ["sardis_get_wallet", "sardis_get_balance", "sardis_create_wallet", "
|
|
36
|
+
readonly wallet: readonly ["sardis_get_wallet", "sardis_get_balance", "sardis_create_wallet", "sardis_list_wallets"];
|
|
37
37
|
readonly payment: readonly ["sardis_pay", "sardis_get_transaction", "sardis_list_transactions"];
|
|
38
|
-
readonly policy: readonly ["sardis_check_policy", "sardis_validate_limits", "sardis_check_compliance"];
|
|
39
|
-
readonly hold: readonly ["sardis_create_hold", "sardis_capture_hold", "sardis_void_hold", "sardis_get_hold", "sardis_list_holds", "sardis_extend_hold"];
|
|
38
|
+
readonly policy: readonly ["sardis_check_policy", "sardis_validate_limits", "sardis_check_compliance", "sardis_get_policies"];
|
|
39
|
+
readonly hold: readonly ["sardis_create_hold", "sardis_capture_hold", "sardis_void_hold", "sardis_release_hold", "sardis_get_hold", "sardis_list_holds", "sardis_extend_hold"];
|
|
40
40
|
readonly agent: readonly ["sardis_create_agent", "sardis_get_agent", "sardis_list_agents", "sardis_update_agent"];
|
|
41
|
-
readonly card: readonly ["sardis_issue_card", "sardis_get_card", "sardis_list_cards", "sardis_freeze_card", "sardis_unfreeze_card", "sardis_cancel_card"];
|
|
42
|
-
readonly fiat: readonly ["sardis_fund_wallet", "sardis_withdraw_to_bank", "sardis_get_funding_status", "sardis_get_withdrawal_status"];
|
|
43
|
-
readonly approval: readonly ["sardis_request_approval", "sardis_get_approval_status"];
|
|
44
|
-
readonly
|
|
41
|
+
readonly card: readonly ["sardis_issue_card", "sardis_create_card", "sardis_get_card", "sardis_list_cards", "sardis_freeze_card", "sardis_unfreeze_card", "sardis_cancel_card"];
|
|
42
|
+
readonly fiat: readonly ["sardis_sync_treasury_account_holder", "sardis_list_financial_accounts", "sardis_link_external_bank_account", "sardis_verify_micro_deposits", "sardis_fund_wallet", "sardis_withdraw_to_bank", "sardis_withdraw", "sardis_get_funding_status", "sardis_get_withdrawal_status", "sardis_get_treasury_balances", "sardis_list_funding_transactions", "sardis_get_multi_balance", "sardis_offramp_usdc_to_fiat", "sardis_onramp_fiat_to_usdc", "sardis_get_ramp_quote"];
|
|
43
|
+
readonly approval: readonly ["sardis_request_approval", "sardis_get_approval_status", "sardis_check_approval", "sardis_list_pending_approvals", "sardis_cancel_approval"];
|
|
44
|
+
readonly sandbox: readonly ["sardis_sandbox_demo"];
|
|
45
|
+
readonly group: readonly ["sardis_create_group", "sardis_get_group", "sardis_list_groups", "sardis_add_agent_to_group", "sardis_remove_agent_from_group", "sardis_get_group_spending"];
|
|
46
|
+
readonly spending: readonly ["sardis_get_spending_summary", "sardis_get_spending", "sardis_get_spending_by_vendor", "sardis_get_spending_by_category", "sardis_get_spending_trends"];
|
|
47
|
+
readonly event: readonly ["sardis_subscribe_events", "sardis_list_event_types", "sardis_get_event_history", "sardis_configure_webhook"];
|
|
48
|
+
readonly guardrails: readonly ["sardis_check_circuit_breaker", "sardis_activate_kill_switch", "sardis_deactivate_kill_switch", "sardis_check_rate_limits", "sardis_get_behavioral_alerts"];
|
|
45
49
|
};
|
|
46
50
|
/**
|
|
47
51
|
* Get tools by category
|
|
@@ -51,6 +55,21 @@ export declare function getToolsByCategory(category: keyof typeof toolCategories
|
|
|
51
55
|
* Get total tool count
|
|
52
56
|
*/
|
|
53
57
|
export declare function getToolCount(): number;
|
|
58
|
+
export type ToolRegistryValidationResult = {
|
|
59
|
+
definitionCount: number;
|
|
60
|
+
handlerCount: number;
|
|
61
|
+
isValid: boolean;
|
|
62
|
+
missingHandlersForDefinitions: string[];
|
|
63
|
+
missingDefinitionsForHandlers: string[];
|
|
64
|
+
duplicateDefinitions: string[];
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Validate tool registry consistency between definitions and handlers.
|
|
68
|
+
*
|
|
69
|
+
* This is the authoritative source for all "tool count" claims in docs/CLI.
|
|
70
|
+
*/
|
|
71
|
+
export declare function validateToolRegistry(): ToolRegistryValidationResult;
|
|
72
|
+
export declare function getValidatedToolCount(): number;
|
|
54
73
|
/**
|
|
55
74
|
* Get tool summary for documentation
|
|
56
75
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA4B9D,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,cAAc,EAe9C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAevD,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEpE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAE1C;AAED;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;CAsFjB,CAAC;AAEX;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,OAAO,cAAc,GAAG,cAAc,EAAE,CAG1F;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,6BAA6B,EAAE,MAAM,EAAE,CAAC;IACxC,6BAA6B,EAAE,MAAM,EAAE,CAAC;IACxC,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAChC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,4BAA4B,CA8BnE;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,CAMvF;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,cAAc,EAAE,CAE9C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAEhE"}
|
package/dist/tools/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Sardis MCP Server - Tool Registry
|
|
3
3
|
*
|
|
4
4
|
* Aggregates all tool definitions and handlers from domain-specific modules.
|
|
5
|
-
* Total:
|
|
5
|
+
* Total: 50+ tools across 12 modules.
|
|
6
6
|
*/
|
|
7
7
|
// Import tool definitions and handlers from each module
|
|
8
8
|
import { walletToolDefinitions, walletToolHandlers } from './wallets.js';
|
|
@@ -16,6 +16,13 @@ import { approvalToolDefinitions, approvalToolHandlers } from './approvals.js';
|
|
|
16
16
|
import { spendingToolDefinitions, spendingToolHandlers } from './spending.js';
|
|
17
17
|
import { walletManagementToolDefinitions, walletManagementToolHandlers } from './wallet-management.js';
|
|
18
18
|
import { sandboxToolDefinitions, sandboxToolHandlers } from './sandbox.js';
|
|
19
|
+
import { groupToolDefinitions, groupToolHandlers } from './groups.js';
|
|
20
|
+
import { eventToolDefinitions, eventToolHandlers } from './events.js';
|
|
21
|
+
import { guardrailsToolDefinitions, guardrailsToolHandlers } from './guardrails.js';
|
|
22
|
+
// Handlers below are intentionally blocked for agent-facing use and excluded
|
|
23
|
+
// from the aggregate registry to keep definition/handler parity.
|
|
24
|
+
const { sardis_get_rules: _blockedGetRules, ...policyToolHandlersFiltered } = policyToolHandlers;
|
|
25
|
+
const { sardis_update_wallet_limits: _blockedUpdateWalletLimits, sardis_archive_wallet: _blockedArchiveWallet, ...walletManagementToolHandlersFiltered } = walletManagementToolHandlers;
|
|
19
26
|
// Re-export types
|
|
20
27
|
export * from './types.js';
|
|
21
28
|
// Re-export domain functions for direct use
|
|
@@ -37,6 +44,9 @@ export const allToolDefinitions = [
|
|
|
37
44
|
...spendingToolDefinitions,
|
|
38
45
|
...walletManagementToolDefinitions,
|
|
39
46
|
...sandboxToolDefinitions,
|
|
47
|
+
...groupToolDefinitions,
|
|
48
|
+
...eventToolDefinitions,
|
|
49
|
+
...guardrailsToolDefinitions,
|
|
40
50
|
];
|
|
41
51
|
/**
|
|
42
52
|
* All tool handlers aggregated from modules
|
|
@@ -46,13 +56,16 @@ export const allToolHandlers = {
|
|
|
46
56
|
...holdToolHandlers,
|
|
47
57
|
...agentToolHandlers,
|
|
48
58
|
...paymentToolHandlers,
|
|
49
|
-
...
|
|
59
|
+
...policyToolHandlersFiltered,
|
|
50
60
|
...cardToolHandlers,
|
|
51
61
|
...fiatToolHandlers,
|
|
52
62
|
...approvalToolHandlers,
|
|
53
63
|
...spendingToolHandlers,
|
|
54
|
-
...
|
|
64
|
+
...walletManagementToolHandlersFiltered,
|
|
55
65
|
...sandboxToolHandlers,
|
|
66
|
+
...groupToolHandlers,
|
|
67
|
+
...eventToolHandlers,
|
|
68
|
+
...guardrailsToolHandlers,
|
|
56
69
|
};
|
|
57
70
|
/**
|
|
58
71
|
* Get tool handler by name
|
|
@@ -76,13 +89,19 @@ export function getAllToolNames() {
|
|
|
76
89
|
* Tool categories for organization
|
|
77
90
|
*/
|
|
78
91
|
export const toolCategories = {
|
|
79
|
-
wallet: ['sardis_get_wallet', 'sardis_get_balance', 'sardis_create_wallet', '
|
|
92
|
+
wallet: ['sardis_get_wallet', 'sardis_get_balance', 'sardis_create_wallet', 'sardis_list_wallets'],
|
|
80
93
|
payment: ['sardis_pay', 'sardis_get_transaction', 'sardis_list_transactions'],
|
|
81
|
-
policy: [
|
|
94
|
+
policy: [
|
|
95
|
+
'sardis_check_policy',
|
|
96
|
+
'sardis_validate_limits',
|
|
97
|
+
'sardis_check_compliance',
|
|
98
|
+
'sardis_get_policies',
|
|
99
|
+
],
|
|
82
100
|
hold: [
|
|
83
101
|
'sardis_create_hold',
|
|
84
102
|
'sardis_capture_hold',
|
|
85
103
|
'sardis_void_hold',
|
|
104
|
+
'sardis_release_hold',
|
|
86
105
|
'sardis_get_hold',
|
|
87
106
|
'sardis_list_holds',
|
|
88
107
|
'sardis_extend_hold',
|
|
@@ -95,6 +114,7 @@ export const toolCategories = {
|
|
|
95
114
|
],
|
|
96
115
|
card: [
|
|
97
116
|
'sardis_issue_card',
|
|
117
|
+
'sardis_create_card',
|
|
98
118
|
'sardis_get_card',
|
|
99
119
|
'sardis_list_cards',
|
|
100
120
|
'sardis_freeze_card',
|
|
@@ -102,19 +122,57 @@ export const toolCategories = {
|
|
|
102
122
|
'sardis_cancel_card',
|
|
103
123
|
],
|
|
104
124
|
fiat: [
|
|
125
|
+
'sardis_sync_treasury_account_holder',
|
|
126
|
+
'sardis_list_financial_accounts',
|
|
127
|
+
'sardis_link_external_bank_account',
|
|
128
|
+
'sardis_verify_micro_deposits',
|
|
105
129
|
'sardis_fund_wallet',
|
|
106
130
|
'sardis_withdraw_to_bank',
|
|
131
|
+
'sardis_withdraw',
|
|
107
132
|
'sardis_get_funding_status',
|
|
108
133
|
'sardis_get_withdrawal_status',
|
|
134
|
+
'sardis_get_treasury_balances',
|
|
135
|
+
'sardis_list_funding_transactions',
|
|
136
|
+
'sardis_get_multi_balance',
|
|
137
|
+
'sardis_offramp_usdc_to_fiat',
|
|
138
|
+
'sardis_onramp_fiat_to_usdc',
|
|
139
|
+
'sardis_get_ramp_quote',
|
|
109
140
|
],
|
|
110
141
|
approval: [
|
|
111
142
|
'sardis_request_approval',
|
|
112
143
|
'sardis_get_approval_status',
|
|
144
|
+
'sardis_check_approval',
|
|
145
|
+
'sardis_list_pending_approvals',
|
|
146
|
+
'sardis_cancel_approval',
|
|
147
|
+
],
|
|
148
|
+
sandbox: ['sardis_sandbox_demo'],
|
|
149
|
+
group: [
|
|
150
|
+
'sardis_create_group',
|
|
151
|
+
'sardis_get_group',
|
|
152
|
+
'sardis_list_groups',
|
|
153
|
+
'sardis_add_agent_to_group',
|
|
154
|
+
'sardis_remove_agent_from_group',
|
|
155
|
+
'sardis_get_group_spending',
|
|
113
156
|
],
|
|
114
157
|
spending: [
|
|
115
158
|
'sardis_get_spending_summary',
|
|
159
|
+
'sardis_get_spending',
|
|
116
160
|
'sardis_get_spending_by_vendor',
|
|
117
161
|
'sardis_get_spending_by_category',
|
|
162
|
+
'sardis_get_spending_trends',
|
|
163
|
+
],
|
|
164
|
+
event: [
|
|
165
|
+
'sardis_subscribe_events',
|
|
166
|
+
'sardis_list_event_types',
|
|
167
|
+
'sardis_get_event_history',
|
|
168
|
+
'sardis_configure_webhook',
|
|
169
|
+
],
|
|
170
|
+
guardrails: [
|
|
171
|
+
'sardis_check_circuit_breaker',
|
|
172
|
+
'sardis_activate_kill_switch',
|
|
173
|
+
'sardis_deactivate_kill_switch',
|
|
174
|
+
'sardis_check_rate_limits',
|
|
175
|
+
'sardis_get_behavioral_alerts',
|
|
118
176
|
],
|
|
119
177
|
};
|
|
120
178
|
/**
|
|
@@ -130,6 +188,34 @@ export function getToolsByCategory(category) {
|
|
|
130
188
|
export function getToolCount() {
|
|
131
189
|
return allToolDefinitions.length;
|
|
132
190
|
}
|
|
191
|
+
/**
|
|
192
|
+
* Validate tool registry consistency between definitions and handlers.
|
|
193
|
+
*
|
|
194
|
+
* This is the authoritative source for all "tool count" claims in docs/CLI.
|
|
195
|
+
*/
|
|
196
|
+
export function validateToolRegistry() {
|
|
197
|
+
const definitionNames = allToolDefinitions.map((d) => d.name);
|
|
198
|
+
const definitionSet = new Set(definitionNames);
|
|
199
|
+
const handlerNames = Object.keys(allToolHandlers);
|
|
200
|
+
const handlerSet = new Set(handlerNames);
|
|
201
|
+
const duplicateDefinitions = definitionNames.filter((name, idx) => definitionNames.indexOf(name) !== idx);
|
|
202
|
+
const missingHandlersForDefinitions = definitionNames.filter((name) => !handlerSet.has(name));
|
|
203
|
+
const missingDefinitionsForHandlers = handlerNames.filter((name) => !definitionSet.has(name));
|
|
204
|
+
const isValid = duplicateDefinitions.length === 0 &&
|
|
205
|
+
missingHandlersForDefinitions.length === 0 &&
|
|
206
|
+
missingDefinitionsForHandlers.length === 0;
|
|
207
|
+
return {
|
|
208
|
+
definitionCount: definitionNames.length,
|
|
209
|
+
handlerCount: handlerNames.length,
|
|
210
|
+
isValid,
|
|
211
|
+
missingHandlersForDefinitions,
|
|
212
|
+
missingDefinitionsForHandlers,
|
|
213
|
+
duplicateDefinitions,
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
export function getValidatedToolCount() {
|
|
217
|
+
return validateToolRegistry().definitionCount;
|
|
218
|
+
}
|
|
133
219
|
/**
|
|
134
220
|
* Get tool summary for documentation
|
|
135
221
|
*/
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,wDAAwD;AACxD,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,+BAA+B,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACvG,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|