@@ -256,6 +256,53 @@ export const createMcpServer = (): McpServer => {
256256 ) ;
257257
258258
259+ if ( process . env . MOBILEFLEET_ENABLE === "1" ) {
260+ tool (
261+ "mobile_list_fleet_devices" ,
262+ "List Fleet Devices" ,
263+ "List devices available in the remote fleet" ,
264+ {
265+ noParams
266+ } ,
267+ { readOnlyHint : true } ,
268+ async ( { } ) => {
269+ ensureMobilecliAvailable ( ) ;
270+ const result = mobilecli . fleetListDevices ( ) ;
271+ return result ;
272+ }
273+ ) ;
274+
275+ tool (
276+ "mobile_allocate_fleet_device" ,
277+ "Allocate Fleet Device" ,
278+ "Reserve a device from the remote fleet" ,
279+ {
280+ platform : z . enum ( [ "ios" , "android" ] ) . describe ( "The platform to allocate a device for" ) ,
281+ } ,
282+ { destructiveHint : true } ,
283+ async ( { platform } ) => {
284+ ensureMobilecliAvailable ( ) ;
285+ const result = mobilecli . fleetAllocate ( platform ) ;
286+ return result ;
287+ }
288+ ) ;
289+
290+ tool (
291+ "mobile_release_fleet_device" ,
292+ "Release Fleet Device" ,
293+ "Release a device back to the remote fleet" ,
294+ {
295+ device : z . string ( ) . describe ( "The device identifier to release back to the fleet" ) ,
296+ } ,
297+ { destructiveHint : true } ,
298+ async ( { device } ) => {
299+ ensureMobilecliAvailable ( ) ;
300+ const result = mobilecli . fleetRelease ( device ) ;
301+ return result ;
302+ }
303+ ) ;
304+ }
305+
259306 tool (
260307 "mobile_list_apps" ,
261308 "List Apps" ,
0 commit comments