You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -61,17 +61,13 @@ export function registerDEXTools(agent: CloudflareDEXMCP) {
61
61
name: 'dex_http_test_details',
62
62
description: 'Retrieve detailed time series results for an HTTP DEX test by id.',
63
63
schema: {
64
-
testId: z.string().describe('The HTTP DEX Test ID to get details for.'),
65
-
deviceId: z
66
-
.string()
64
+
testId: testIdParam.describe('The HTTP DEX Test ID to get details for.'),
65
+
deviceId: deviceIdParam
67
66
.optional()
68
67
.describe(
69
68
"Optionally limit results to specific device(s). Can't be used in conjunction with the colo parameter."
70
69
),
71
-
colo: z
72
-
.string()
73
-
.optional()
74
-
.describe('Optionally limit results to a specific Cloudflare colo.'),
70
+
colo: coloParam.optional(),
75
71
from: timeStartParam,
76
72
to: timeEndParam,
77
73
interval: aggregationIntervalParam,
@@ -96,17 +92,13 @@ export function registerDEXTools(agent: CloudflareDEXMCP) {
96
92
name: 'dex_traceroute_test_details',
97
93
description: 'Retrieve detailed time series results for a Traceroute DEX test by id.',
98
94
schema: {
99
-
testId: z.string().describe('The traceroute DEX Test ID to get details for.'),
100
-
deviceId: z
101
-
.string()
95
+
testId: testIdParam.describe('The traceroute DEX Test ID to get details for.'),
96
+
deviceId: deviceIdParam
102
97
.optional()
103
98
.describe(
104
99
"Optionally limit results to specific device(s). Can't be used in conjunction with the colo parameter."
105
100
),
106
-
colo: z
107
-
.string()
108
-
.optional()
109
-
.describe('Optionally limit results to a specific Cloudflare colo.'),
101
+
colo: coloParam.optional(),
110
102
timeStart: timeStartParam,
111
103
timeEnd: timeEndParam,
112
104
interval: aggregationIntervalParam,
@@ -132,8 +124,8 @@ export function registerDEXTools(agent: CloudflareDEXMCP) {
132
124
description:
133
125
'Retrieve aggregate network path data for a Traceroute DEX test by id. Use the dex_traceroute_test_result_network_path tool to further explore individual test runs hop-by-hop.',
134
126
schema: {
135
-
testId: z.string().describe('The traceroute DEX Test ID to get network path details for.'),
136
-
deviceId: z.string().describe('The ID of the device to get network path details for.'),
127
+
testId: testIdParam.describe('The traceroute DEX Test ID to get network path details for.'),
128
+
deviceId: deviceIdParam.describe('The ID of the device to get network path details for.'),
137
129
from: timeStartParam,
138
130
to: timeEndParam,
139
131
interval: aggregationIntervalParam,
@@ -161,6 +153,7 @@ export function registerDEXTools(agent: CloudflareDEXMCP) {
161
153
schema: {
162
154
testResultId: z
163
155
.string()
156
+
.uuid()
164
157
.describe('The traceroute DEX Test Result ID to get network path details for.'),
165
158
},
166
159
agent,
@@ -211,8 +204,8 @@ export function registerDEXTools(agent: CloudflareDEXMCP) {
211
204
'Create a remote packet capture (PCAP) for a device. This is a resource intensive and privacy-sensitive operation on a real user device.'+
212
205
'Always ask for confirmation from the user that the targeted email and device are correct before executing a capture',
213
206
schema: {
214
-
device_id: z.string().describe('The device ID to target.'),
215
-
user_email: z.string().describe('The email of the user associated with the device.'),
207
+
device_id: z.string().uuid().describe('The device ID to target.'),
208
+
user_email: z.string().email().describe('The email of the user associated with the device.'),
216
209
'max-file-size-mb': z
217
210
.number()
218
211
.min(1)
@@ -269,8 +262,8 @@ export function registerDEXTools(agent: CloudflareDEXMCP) {
269
262
'Create a remote Warp Diagnostic (WARP-diag) for a device. This is a resource intensive and privacy-sensitive operation on a real user device.'+
270
263
'Always ask for confirmation from the user that the targeted email and device are correct before executing a capture',
271
264
schema: {
272
-
device_id: z.string().describe('The device ID to target.'),
273
-
user_email: z.string().describe('The email of the user associated with the device.'),
265
+
device_id: z.string().uuid().describe('The device ID to target.'),
266
+
user_email: z.string().email().describe('The email of the user associated with the device.'),
274
267
'test-all-routes': z
275
268
.boolean()
276
269
.default(true)
@@ -317,7 +310,7 @@ export function registerDEXTools(agent: CloudflareDEXMCP) {
0 commit comments