@agent-sh/computer-use-linux 0.4.10 → 0.6.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.
@@ -0,0 +1,1334 @@
1
+ // Generated by scripts/generate_pi_tool_catalog.py. Do not edit by hand.
2
+
3
+ export interface GeneratedMcpToolDefinition {
4
+ name: string;
5
+ description: string;
6
+ inputSchema: Record<string, unknown>;
7
+ annotations: Record<string, unknown>;
8
+ }
9
+
10
+ export const GENERATED_SERVER_VERSION = "0.6.0";
11
+ export const GENERATED_TOOL_CATALOG_HASH = "9107297df765ce3b907540db172cc7823b7664586255db1064a40a44483d6fd6";
12
+ export const GENERATED_SHELL_TOOL_CATALOG_HASH = "e0bc41db617ea6d10d812cbddce6ef78036e44251360f5fac9c207dd0d5ce392";
13
+ export const GENERATED_MCP_TOOLS =
14
+ [
15
+ {
16
+ "annotations": {
17
+ "destructiveHint": false,
18
+ "idempotentHint": true,
19
+ "openWorldHint": true,
20
+ "readOnlyHint": false
21
+ },
22
+ "description": "Focus a Linux desktop window by window_id, pid, app_id, wm_class, title, or terminal selectors when the compositor permits it.",
23
+ "inputSchema": {
24
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
25
+ "properties": {
26
+ "app_id": {
27
+ "default": null,
28
+ "type": [
29
+ "string",
30
+ "null"
31
+ ]
32
+ },
33
+ "pid": {
34
+ "default": null,
35
+ "minimum": 0,
36
+ "type": [
37
+ "integer",
38
+ "null"
39
+ ]
40
+ },
41
+ "terminal_command": {
42
+ "default": null,
43
+ "type": [
44
+ "string",
45
+ "null"
46
+ ]
47
+ },
48
+ "terminal_cwd": {
49
+ "default": null,
50
+ "type": [
51
+ "string",
52
+ "null"
53
+ ]
54
+ },
55
+ "terminal_pid": {
56
+ "default": null,
57
+ "minimum": 0,
58
+ "type": [
59
+ "integer",
60
+ "null"
61
+ ]
62
+ },
63
+ "title": {
64
+ "default": null,
65
+ "type": [
66
+ "string",
67
+ "null"
68
+ ]
69
+ },
70
+ "tty": {
71
+ "default": null,
72
+ "type": [
73
+ "string",
74
+ "null"
75
+ ]
76
+ },
77
+ "window_id": {
78
+ "default": null,
79
+ "minimum": 0,
80
+ "type": [
81
+ "integer",
82
+ "null"
83
+ ]
84
+ },
85
+ "wm_class": {
86
+ "default": null,
87
+ "type": [
88
+ "string",
89
+ "null"
90
+ ]
91
+ }
92
+ },
93
+ "title": "ActivateWindowParams",
94
+ "type": "object"
95
+ },
96
+ "name": "activate_window"
97
+ },
98
+ {
99
+ "annotations": {
100
+ "destructiveHint": true,
101
+ "idempotentHint": false,
102
+ "openWorldHint": true,
103
+ "readOnlyHint": false
104
+ },
105
+ "description": "Click an element by index, semantic selector, or desktop coordinate pixels from screenshot metadata. Plain left activation prefers a native AT-SPI click/press/toggle action, avoiding toolkit coordinate scaling. Entry activate and slider jump actions are not substituted for pointer clicks. Explicit coordinates, right clicks, and multi-clicks retain pointer semantics.",
106
+ "inputSchema": {
107
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
108
+ "properties": {
109
+ "app_id": {
110
+ "default": null,
111
+ "type": [
112
+ "string",
113
+ "null"
114
+ ]
115
+ },
116
+ "button": {
117
+ "default": null,
118
+ "type": [
119
+ "string",
120
+ "null"
121
+ ]
122
+ },
123
+ "click_count": {
124
+ "default": null,
125
+ "minimum": 0,
126
+ "type": [
127
+ "integer",
128
+ "null"
129
+ ]
130
+ },
131
+ "element_index": {
132
+ "default": null,
133
+ "minimum": 0,
134
+ "type": [
135
+ "integer",
136
+ "null"
137
+ ]
138
+ },
139
+ "name": {
140
+ "default": null,
141
+ "type": [
142
+ "string",
143
+ "null"
144
+ ]
145
+ },
146
+ "pid": {
147
+ "default": null,
148
+ "minimum": 0,
149
+ "type": [
150
+ "integer",
151
+ "null"
152
+ ]
153
+ },
154
+ "relative": {
155
+ "default": null,
156
+ "description": "Interpret `x`/`y` from the clipped window screenshot crop origin, in\ncoordinate pixels before preview resizing. Divide preview pixels by its\nscale first. This is not a toolkit widget or raw GDK surface origin.\nRequires a window target; missing targets are rejected.",
157
+ "type": [
158
+ "boolean",
159
+ "null"
160
+ ]
161
+ },
162
+ "role": {
163
+ "default": null,
164
+ "type": [
165
+ "string",
166
+ "null"
167
+ ]
168
+ },
169
+ "states": {
170
+ "default": [],
171
+ "items": {
172
+ "type": "string"
173
+ },
174
+ "type": "array"
175
+ },
176
+ "text": {
177
+ "default": null,
178
+ "type": [
179
+ "string",
180
+ "null"
181
+ ]
182
+ },
183
+ "window_id": {
184
+ "default": null,
185
+ "minimum": 0,
186
+ "type": [
187
+ "integer",
188
+ "null"
189
+ ]
190
+ },
191
+ "window_title": {
192
+ "default": null,
193
+ "type": [
194
+ "string",
195
+ "null"
196
+ ]
197
+ },
198
+ "wm_class": {
199
+ "default": null,
200
+ "type": [
201
+ "string",
202
+ "null"
203
+ ]
204
+ },
205
+ "x": {
206
+ "default": null,
207
+ "format": "int32",
208
+ "type": [
209
+ "integer",
210
+ "null"
211
+ ]
212
+ },
213
+ "y": {
214
+ "default": null,
215
+ "format": "int32",
216
+ "type": [
217
+ "integer",
218
+ "null"
219
+ ]
220
+ }
221
+ },
222
+ "title": "ClickParams",
223
+ "type": "object"
224
+ },
225
+ "name": "click"
226
+ },
227
+ {
228
+ "annotations": {
229
+ "destructiveHint": false,
230
+ "idempotentHint": true,
231
+ "openWorldHint": false,
232
+ "readOnlyHint": true
233
+ },
234
+ "description": "Report Linux Computer Use desktop integration readiness.",
235
+ "inputSchema": {
236
+ "properties": {},
237
+ "type": "object"
238
+ },
239
+ "name": "doctor"
240
+ },
241
+ {
242
+ "annotations": {
243
+ "destructiveHint": true,
244
+ "idempotentHint": false,
245
+ "openWorldHint": true,
246
+ "readOnlyHint": false
247
+ },
248
+ "description": "Drag from one point to another using pixel coordinates.",
249
+ "inputSchema": {
250
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
251
+ "properties": {
252
+ "end_x": {
253
+ "format": "int32",
254
+ "type": "integer"
255
+ },
256
+ "end_y": {
257
+ "format": "int32",
258
+ "type": "integer"
259
+ },
260
+ "start_x": {
261
+ "format": "int32",
262
+ "type": "integer"
263
+ },
264
+ "start_y": {
265
+ "format": "int32",
266
+ "type": "integer"
267
+ }
268
+ },
269
+ "required": [
270
+ "start_x",
271
+ "start_y",
272
+ "end_x",
273
+ "end_y"
274
+ ],
275
+ "title": "DragParams",
276
+ "type": "object"
277
+ },
278
+ "name": "drag"
279
+ },
280
+ {
281
+ "annotations": {
282
+ "destructiveHint": false,
283
+ "idempotentHint": true,
284
+ "openWorldHint": true,
285
+ "readOnlyHint": true
286
+ },
287
+ "description": "Return the compositor window that currently has keyboard focus.",
288
+ "inputSchema": {
289
+ "properties": {},
290
+ "type": "object"
291
+ },
292
+ "name": "focused_window"
293
+ },
294
+ {
295
+ "annotations": {
296
+ "destructiveHint": false,
297
+ "idempotentHint": true,
298
+ "openWorldHint": true,
299
+ "readOnlyHint": true
300
+ },
301
+ "description": "Start an app use session if needed, then get a size-bounded screenshot and accessibility state for a Linux app. Screenshot results include coordinate_width, coordinate_height, scale, format, and quality when the returned image is downscaled or compressed; callers can request jpeg/quality for compression before resizing.",
302
+ "inputSchema": {
303
+ "$defs": {
304
+ "ScreenshotOutputFormat": {
305
+ "enum": [
306
+ "png",
307
+ "jpeg"
308
+ ],
309
+ "type": "string"
310
+ }
311
+ },
312
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
313
+ "properties": {
314
+ "app_id": {
315
+ "default": null,
316
+ "type": [
317
+ "string",
318
+ "null"
319
+ ]
320
+ },
321
+ "app_name_or_bundle_identifier": {
322
+ "default": null,
323
+ "type": [
324
+ "string",
325
+ "null"
326
+ ]
327
+ },
328
+ "format": {
329
+ "anyOf": [
330
+ {
331
+ "$ref": "#/$defs/ScreenshotOutputFormat"
332
+ },
333
+ {
334
+ "type": "null"
335
+ }
336
+ ],
337
+ "default": null,
338
+ "description": "Output image format (default png). Use jpeg with quality to trade exact pixels for smaller payloads."
339
+ },
340
+ "include_screenshot": {
341
+ "default": null,
342
+ "type": [
343
+ "boolean",
344
+ "null"
345
+ ]
346
+ },
347
+ "max_bytes": {
348
+ "default": null,
349
+ "description": "Maximum returned screenshot image bytes before base64 (default 2 MiB, hard-capped).",
350
+ "minimum": 0,
351
+ "type": [
352
+ "integer",
353
+ "null"
354
+ ]
355
+ },
356
+ "max_depth": {
357
+ "default": null,
358
+ "description": "Maximum AT-SPI traversal depth (default 32, hard max 64).",
359
+ "minimum": 0,
360
+ "type": [
361
+ "integer",
362
+ "null"
363
+ ]
364
+ },
365
+ "max_height": {
366
+ "default": null,
367
+ "description": "Maximum returned screenshot height in pixels (default 1920, hard-capped).",
368
+ "minimum": 0,
369
+ "type": [
370
+ "integer",
371
+ "null"
372
+ ]
373
+ },
374
+ "max_nodes": {
375
+ "default": null,
376
+ "description": "Maximum raw AT-SPI nodes to inspect before compaction (default 1000, hard max 2000).",
377
+ "minimum": 0,
378
+ "type": [
379
+ "integer",
380
+ "null"
381
+ ]
382
+ },
383
+ "max_width": {
384
+ "default": null,
385
+ "description": "Maximum returned screenshot width in pixels (default 1920, hard-capped).",
386
+ "minimum": 0,
387
+ "type": [
388
+ "integer",
389
+ "null"
390
+ ]
391
+ },
392
+ "pid": {
393
+ "default": null,
394
+ "minimum": 0,
395
+ "type": [
396
+ "integer",
397
+ "null"
398
+ ]
399
+ },
400
+ "quality": {
401
+ "default": null,
402
+ "description": "JPEG quality from 1 to 95 (default 80). Ignored for png.",
403
+ "maximum": 95,
404
+ "minimum": 1,
405
+ "type": [
406
+ "integer",
407
+ "null"
408
+ ]
409
+ },
410
+ "scale": {
411
+ "default": null,
412
+ "description": "Additional downscale factor from 0.0 to 1.0, applied before max dimensions.",
413
+ "format": "float",
414
+ "type": [
415
+ "number",
416
+ "null"
417
+ ]
418
+ },
419
+ "terminal_command": {
420
+ "default": null,
421
+ "type": [
422
+ "string",
423
+ "null"
424
+ ]
425
+ },
426
+ "terminal_cwd": {
427
+ "default": null,
428
+ "type": [
429
+ "string",
430
+ "null"
431
+ ]
432
+ },
433
+ "terminal_pid": {
434
+ "default": null,
435
+ "minimum": 0,
436
+ "type": [
437
+ "integer",
438
+ "null"
439
+ ]
440
+ },
441
+ "title": {
442
+ "default": null,
443
+ "type": [
444
+ "string",
445
+ "null"
446
+ ]
447
+ },
448
+ "tty": {
449
+ "default": null,
450
+ "type": [
451
+ "string",
452
+ "null"
453
+ ]
454
+ },
455
+ "verbose": {
456
+ "default": null,
457
+ "description": "Include the full diagnostics report (large). Default false: only the\ncompact readiness block is returned.",
458
+ "type": [
459
+ "boolean",
460
+ "null"
461
+ ]
462
+ },
463
+ "window_id": {
464
+ "default": null,
465
+ "minimum": 0,
466
+ "type": [
467
+ "integer",
468
+ "null"
469
+ ]
470
+ },
471
+ "wm_class": {
472
+ "default": null,
473
+ "type": [
474
+ "string",
475
+ "null"
476
+ ]
477
+ }
478
+ },
479
+ "title": "GetAppStateParams",
480
+ "type": "object"
481
+ },
482
+ "name": "get_app_state"
483
+ },
484
+ {
485
+ "annotations": {
486
+ "destructiveHint": false,
487
+ "idempotentHint": true,
488
+ "openWorldHint": true,
489
+ "readOnlyHint": true
490
+ },
491
+ "description": "List running Linux desktop app candidates visible to the Computer Use backend.",
492
+ "inputSchema": {
493
+ "properties": {},
494
+ "type": "object"
495
+ },
496
+ "name": "list_apps"
497
+ },
498
+ {
499
+ "annotations": {
500
+ "destructiveHint": false,
501
+ "idempotentHint": true,
502
+ "openWorldHint": true,
503
+ "readOnlyHint": true
504
+ },
505
+ "description": "List compositor windows with title, app id, class, focus state, client type, and known bounds.",
506
+ "inputSchema": {
507
+ "properties": {},
508
+ "type": "object"
509
+ },
510
+ "name": "list_windows"
511
+ },
512
+ {
513
+ "annotations": {
514
+ "destructiveHint": false,
515
+ "idempotentHint": true,
516
+ "openWorldHint": true,
517
+ "readOnlyHint": false
518
+ },
519
+ "description": "Move a window to a new desktop position (frame top-left in desktop coordinates). Useful to recover windows that are partially off-screen. Works through the computer-use-linux GNOME Shell extension or a generic X11/EWMH window manager (wmctrl).",
520
+ "inputSchema": {
521
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
522
+ "properties": {
523
+ "app_id": {
524
+ "default": null,
525
+ "type": [
526
+ "string",
527
+ "null"
528
+ ]
529
+ },
530
+ "pid": {
531
+ "default": null,
532
+ "minimum": 0,
533
+ "type": [
534
+ "integer",
535
+ "null"
536
+ ]
537
+ },
538
+ "terminal_command": {
539
+ "default": null,
540
+ "type": [
541
+ "string",
542
+ "null"
543
+ ]
544
+ },
545
+ "terminal_cwd": {
546
+ "default": null,
547
+ "type": [
548
+ "string",
549
+ "null"
550
+ ]
551
+ },
552
+ "terminal_pid": {
553
+ "default": null,
554
+ "minimum": 0,
555
+ "type": [
556
+ "integer",
557
+ "null"
558
+ ]
559
+ },
560
+ "title": {
561
+ "default": null,
562
+ "type": [
563
+ "string",
564
+ "null"
565
+ ]
566
+ },
567
+ "tty": {
568
+ "default": null,
569
+ "type": [
570
+ "string",
571
+ "null"
572
+ ]
573
+ },
574
+ "window_id": {
575
+ "default": null,
576
+ "minimum": 0,
577
+ "type": [
578
+ "integer",
579
+ "null"
580
+ ]
581
+ },
582
+ "wm_class": {
583
+ "default": null,
584
+ "type": [
585
+ "string",
586
+ "null"
587
+ ]
588
+ },
589
+ "x": {
590
+ "description": "New frame-left in desktop coordinates.",
591
+ "format": "int32",
592
+ "type": "integer"
593
+ },
594
+ "y": {
595
+ "description": "New frame-top in desktop coordinates.",
596
+ "format": "int32",
597
+ "type": "integer"
598
+ }
599
+ },
600
+ "required": [
601
+ "x",
602
+ "y"
603
+ ],
604
+ "title": "MoveWindowParams",
605
+ "type": "object"
606
+ },
607
+ "name": "move_window"
608
+ },
609
+ {
610
+ "annotations": {
611
+ "destructiveHint": true,
612
+ "idempotentHint": false,
613
+ "openWorldHint": true,
614
+ "readOnlyHint": false
615
+ },
616
+ "description": "Invoke an accessibility action exposed by an element selected by index, identifier, or semantic selector. Defaults to the primary action unless action is provided.",
617
+ "inputSchema": {
618
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
619
+ "properties": {
620
+ "action": {
621
+ "default": null,
622
+ "type": [
623
+ "string",
624
+ "null"
625
+ ]
626
+ },
627
+ "element_identifier": {
628
+ "default": null,
629
+ "type": [
630
+ "string",
631
+ "null"
632
+ ]
633
+ },
634
+ "element_index": {
635
+ "default": null,
636
+ "minimum": 0,
637
+ "type": [
638
+ "integer",
639
+ "null"
640
+ ]
641
+ },
642
+ "name": {
643
+ "default": null,
644
+ "type": [
645
+ "string",
646
+ "null"
647
+ ]
648
+ },
649
+ "role": {
650
+ "default": null,
651
+ "type": [
652
+ "string",
653
+ "null"
654
+ ]
655
+ },
656
+ "states": {
657
+ "default": [],
658
+ "items": {
659
+ "type": "string"
660
+ },
661
+ "type": "array"
662
+ },
663
+ "text": {
664
+ "default": null,
665
+ "type": [
666
+ "string",
667
+ "null"
668
+ ]
669
+ }
670
+ },
671
+ "title": "ActionParams",
672
+ "type": "object"
673
+ },
674
+ "name": "perform_action"
675
+ },
676
+ {
677
+ "annotations": {
678
+ "destructiveHint": true,
679
+ "idempotentHint": false,
680
+ "openWorldHint": true,
681
+ "readOnlyHint": false
682
+ },
683
+ "description": "Press a key or key-combination on the keyboard, optionally after focusing a target window or terminal selector. Key grammar (case-insensitive; hyphens/spaces ignored): combos join with '+', e.g. Ctrl+L or Ctrl+Shift+T. Modifiers: ctrl/control, alt/option, shift, meta/super/cmd/command. Named keys: enter/return, escape/esc, tab, backspace, delete/del, space, home, end, pageup, pagedown, arrowleft/left, arrowright/right, arrowup/up, arrowdown/down, f1-f12. Plus single US letters a-z and digits 0-9. Anything else returns an error (never silently dropped). On Wayland, chords are sent through an active remote desktop portal keyboard session when one is available (or when ydotool is absent), falling back to ydotool otherwise. Note: compositor-level shortcuts (e.g. Super+Up) may be consumed by GNOME before reaching the app.",
684
+ "inputSchema": {
685
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
686
+ "properties": {
687
+ "app_id": {
688
+ "default": null,
689
+ "type": [
690
+ "string",
691
+ "null"
692
+ ]
693
+ },
694
+ "key": {
695
+ "type": "string"
696
+ },
697
+ "pid": {
698
+ "default": null,
699
+ "minimum": 0,
700
+ "type": [
701
+ "integer",
702
+ "null"
703
+ ]
704
+ },
705
+ "terminal_command": {
706
+ "default": null,
707
+ "type": [
708
+ "string",
709
+ "null"
710
+ ]
711
+ },
712
+ "terminal_cwd": {
713
+ "default": null,
714
+ "type": [
715
+ "string",
716
+ "null"
717
+ ]
718
+ },
719
+ "terminal_pid": {
720
+ "default": null,
721
+ "minimum": 0,
722
+ "type": [
723
+ "integer",
724
+ "null"
725
+ ]
726
+ },
727
+ "title": {
728
+ "default": null,
729
+ "type": [
730
+ "string",
731
+ "null"
732
+ ]
733
+ },
734
+ "tty": {
735
+ "default": null,
736
+ "type": [
737
+ "string",
738
+ "null"
739
+ ]
740
+ },
741
+ "window_id": {
742
+ "default": null,
743
+ "minimum": 0,
744
+ "type": [
745
+ "integer",
746
+ "null"
747
+ ]
748
+ },
749
+ "wm_class": {
750
+ "default": null,
751
+ "type": [
752
+ "string",
753
+ "null"
754
+ ]
755
+ }
756
+ },
757
+ "required": [
758
+ "key"
759
+ ],
760
+ "title": "PressKeyParams",
761
+ "type": "object"
762
+ },
763
+ "name": "press_key"
764
+ },
765
+ {
766
+ "annotations": {
767
+ "destructiveHint": false,
768
+ "idempotentHint": true,
769
+ "openWorldHint": true,
770
+ "readOnlyHint": false
771
+ },
772
+ "description": "Resize a window to a new frame width/height in desktop pixels, unmaximizing it first if needed. Useful to fit a window fully on-screen. Works through the computer-use-linux GNOME Shell extension or a generic X11/EWMH window manager (wmctrl).",
773
+ "inputSchema": {
774
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
775
+ "properties": {
776
+ "app_id": {
777
+ "default": null,
778
+ "type": [
779
+ "string",
780
+ "null"
781
+ ]
782
+ },
783
+ "height": {
784
+ "description": "New frame height in desktop pixels.",
785
+ "format": "int32",
786
+ "type": "integer"
787
+ },
788
+ "pid": {
789
+ "default": null,
790
+ "minimum": 0,
791
+ "type": [
792
+ "integer",
793
+ "null"
794
+ ]
795
+ },
796
+ "terminal_command": {
797
+ "default": null,
798
+ "type": [
799
+ "string",
800
+ "null"
801
+ ]
802
+ },
803
+ "terminal_cwd": {
804
+ "default": null,
805
+ "type": [
806
+ "string",
807
+ "null"
808
+ ]
809
+ },
810
+ "terminal_pid": {
811
+ "default": null,
812
+ "minimum": 0,
813
+ "type": [
814
+ "integer",
815
+ "null"
816
+ ]
817
+ },
818
+ "title": {
819
+ "default": null,
820
+ "type": [
821
+ "string",
822
+ "null"
823
+ ]
824
+ },
825
+ "tty": {
826
+ "default": null,
827
+ "type": [
828
+ "string",
829
+ "null"
830
+ ]
831
+ },
832
+ "width": {
833
+ "description": "New frame width in desktop pixels.",
834
+ "format": "int32",
835
+ "type": "integer"
836
+ },
837
+ "window_id": {
838
+ "default": null,
839
+ "minimum": 0,
840
+ "type": [
841
+ "integer",
842
+ "null"
843
+ ]
844
+ },
845
+ "wm_class": {
846
+ "default": null,
847
+ "type": [
848
+ "string",
849
+ "null"
850
+ ]
851
+ }
852
+ },
853
+ "required": [
854
+ "width",
855
+ "height"
856
+ ],
857
+ "title": "ResizeWindowParams",
858
+ "type": "object"
859
+ },
860
+ "name": "resize_window"
861
+ },
862
+ {
863
+ "annotations": {
864
+ "destructiveHint": false,
865
+ "idempotentHint": false,
866
+ "openWorldHint": true,
867
+ "readOnlyHint": false
868
+ },
869
+ "description": "Capture the screen and return it as a viewable, size-bounded image. Optionally target a window (window_id/pid/wm_class/title/app_id): the window is raised to the front and the image is cropped before any resize. Returns the image plus a short caption with returned dimensions, coordinate dimensions, scale, format, quality, source, and crop bounds; callers can request jpeg/quality for compression before resizing.",
870
+ "inputSchema": {
871
+ "$defs": {
872
+ "ScreenshotOutputFormat": {
873
+ "enum": [
874
+ "png",
875
+ "jpeg"
876
+ ],
877
+ "type": "string"
878
+ }
879
+ },
880
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
881
+ "properties": {
882
+ "app_id": {
883
+ "default": null,
884
+ "type": [
885
+ "string",
886
+ "null"
887
+ ]
888
+ },
889
+ "format": {
890
+ "anyOf": [
891
+ {
892
+ "$ref": "#/$defs/ScreenshotOutputFormat"
893
+ },
894
+ {
895
+ "type": "null"
896
+ }
897
+ ],
898
+ "default": null,
899
+ "description": "Output image format (default png). Use jpeg with quality to trade exact pixels for smaller payloads."
900
+ },
901
+ "full_screen": {
902
+ "default": null,
903
+ "description": "Capture the whole desktop even when a window is targeted (default false).",
904
+ "type": [
905
+ "boolean",
906
+ "null"
907
+ ]
908
+ },
909
+ "max_bytes": {
910
+ "default": null,
911
+ "description": "Maximum returned screenshot image bytes before base64 (default 2 MiB, hard-capped).",
912
+ "minimum": 0,
913
+ "type": [
914
+ "integer",
915
+ "null"
916
+ ]
917
+ },
918
+ "max_height": {
919
+ "default": null,
920
+ "description": "Maximum returned screenshot height in pixels (default 1920, hard-capped).",
921
+ "minimum": 0,
922
+ "type": [
923
+ "integer",
924
+ "null"
925
+ ]
926
+ },
927
+ "max_width": {
928
+ "default": null,
929
+ "description": "Maximum returned screenshot width in pixels (default 1920, hard-capped).",
930
+ "minimum": 0,
931
+ "type": [
932
+ "integer",
933
+ "null"
934
+ ]
935
+ },
936
+ "pid": {
937
+ "default": null,
938
+ "minimum": 0,
939
+ "type": [
940
+ "integer",
941
+ "null"
942
+ ]
943
+ },
944
+ "quality": {
945
+ "default": null,
946
+ "description": "JPEG quality from 1 to 95 (default 80). Ignored for png.",
947
+ "maximum": 95,
948
+ "minimum": 1,
949
+ "type": [
950
+ "integer",
951
+ "null"
952
+ ]
953
+ },
954
+ "raise_window": {
955
+ "default": null,
956
+ "description": "Raise the targeted window before capture (default true). Ignored without\na window target.",
957
+ "type": [
958
+ "boolean",
959
+ "null"
960
+ ]
961
+ },
962
+ "scale": {
963
+ "default": null,
964
+ "description": "Additional downscale factor from 0.0 to 1.0, applied before max dimensions.",
965
+ "format": "float",
966
+ "type": [
967
+ "number",
968
+ "null"
969
+ ]
970
+ },
971
+ "title": {
972
+ "default": null,
973
+ "type": [
974
+ "string",
975
+ "null"
976
+ ]
977
+ },
978
+ "window_id": {
979
+ "default": null,
980
+ "minimum": 0,
981
+ "type": [
982
+ "integer",
983
+ "null"
984
+ ]
985
+ },
986
+ "wm_class": {
987
+ "default": null,
988
+ "type": [
989
+ "string",
990
+ "null"
991
+ ]
992
+ }
993
+ },
994
+ "title": "ScreenshotParams",
995
+ "type": "object"
996
+ },
997
+ "name": "screenshot"
998
+ },
999
+ {
1000
+ "annotations": {
1001
+ "destructiveHint": false,
1002
+ "idempotentHint": false,
1003
+ "openWorldHint": true,
1004
+ "readOnlyHint": false
1005
+ },
1006
+ "description": "Scroll an element in a direction by a number of pages. With a window target and no x/y/element_index, scrolls at the centre of the targeted window.",
1007
+ "inputSchema": {
1008
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1009
+ "properties": {
1010
+ "app_id": {
1011
+ "default": null,
1012
+ "type": [
1013
+ "string",
1014
+ "null"
1015
+ ]
1016
+ },
1017
+ "direction": {
1018
+ "type": "string"
1019
+ },
1020
+ "element_index": {
1021
+ "default": null,
1022
+ "minimum": 0,
1023
+ "type": [
1024
+ "integer",
1025
+ "null"
1026
+ ]
1027
+ },
1028
+ "pages": {
1029
+ "default": null,
1030
+ "format": "double",
1031
+ "type": [
1032
+ "number",
1033
+ "null"
1034
+ ]
1035
+ },
1036
+ "pid": {
1037
+ "default": null,
1038
+ "minimum": 0,
1039
+ "type": [
1040
+ "integer",
1041
+ "null"
1042
+ ]
1043
+ },
1044
+ "relative": {
1045
+ "default": null,
1046
+ "description": "Interpret `x`/`y` from the clipped window screenshot crop origin, in\ncoordinate pixels before preview resizing. Divide preview pixels by its\nscale first. This is not a toolkit widget or raw GDK surface origin.\nRequires a window target; missing targets are rejected.",
1047
+ "type": [
1048
+ "boolean",
1049
+ "null"
1050
+ ]
1051
+ },
1052
+ "window_id": {
1053
+ "default": null,
1054
+ "minimum": 0,
1055
+ "type": [
1056
+ "integer",
1057
+ "null"
1058
+ ]
1059
+ },
1060
+ "window_title": {
1061
+ "default": null,
1062
+ "type": [
1063
+ "string",
1064
+ "null"
1065
+ ]
1066
+ },
1067
+ "wm_class": {
1068
+ "default": null,
1069
+ "type": [
1070
+ "string",
1071
+ "null"
1072
+ ]
1073
+ },
1074
+ "x": {
1075
+ "default": null,
1076
+ "format": "int32",
1077
+ "type": [
1078
+ "integer",
1079
+ "null"
1080
+ ]
1081
+ },
1082
+ "y": {
1083
+ "default": null,
1084
+ "format": "int32",
1085
+ "type": [
1086
+ "integer",
1087
+ "null"
1088
+ ]
1089
+ }
1090
+ },
1091
+ "required": [
1092
+ "direction"
1093
+ ],
1094
+ "title": "ScrollParams",
1095
+ "type": "object"
1096
+ },
1097
+ "name": "scroll"
1098
+ },
1099
+ {
1100
+ "annotations": {
1101
+ "destructiveHint": true,
1102
+ "idempotentHint": false,
1103
+ "openWorldHint": true,
1104
+ "readOnlyHint": false
1105
+ },
1106
+ "description": "Set the value of a settable accessibility element selected by index, identifier, or semantic selector.",
1107
+ "inputSchema": {
1108
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1109
+ "properties": {
1110
+ "element_identifier": {
1111
+ "default": null,
1112
+ "type": [
1113
+ "string",
1114
+ "null"
1115
+ ]
1116
+ },
1117
+ "element_index": {
1118
+ "default": null,
1119
+ "minimum": 0,
1120
+ "type": [
1121
+ "integer",
1122
+ "null"
1123
+ ]
1124
+ },
1125
+ "name": {
1126
+ "default": null,
1127
+ "type": [
1128
+ "string",
1129
+ "null"
1130
+ ]
1131
+ },
1132
+ "role": {
1133
+ "default": null,
1134
+ "type": [
1135
+ "string",
1136
+ "null"
1137
+ ]
1138
+ },
1139
+ "states": {
1140
+ "default": [],
1141
+ "items": {
1142
+ "type": "string"
1143
+ },
1144
+ "type": "array"
1145
+ },
1146
+ "text": {
1147
+ "default": null,
1148
+ "type": [
1149
+ "string",
1150
+ "null"
1151
+ ]
1152
+ },
1153
+ "value": {
1154
+ "type": "string"
1155
+ }
1156
+ },
1157
+ "required": [
1158
+ "value"
1159
+ ],
1160
+ "title": "SetValueParams",
1161
+ "type": "object"
1162
+ },
1163
+ "name": "set_value"
1164
+ },
1165
+ {
1166
+ "annotations": {
1167
+ "destructiveHint": false,
1168
+ "idempotentHint": true,
1169
+ "openWorldHint": false,
1170
+ "readOnlyHint": false
1171
+ },
1172
+ "description": "Enable GNOME accessibility through gsettings so Linux Computer Use can read AT-SPI trees.",
1173
+ "inputSchema": {
1174
+ "properties": {},
1175
+ "type": "object"
1176
+ },
1177
+ "name": "setup_accessibility"
1178
+ },
1179
+ {
1180
+ "annotations": {
1181
+ "destructiveHint": false,
1182
+ "idempotentHint": true,
1183
+ "openWorldHint": false,
1184
+ "readOnlyHint": false
1185
+ },
1186
+ "description": "Install and enable the optional GNOME Shell extension used for exact window list/focus targeting when GNOME blocks native introspection.",
1187
+ "inputSchema": {
1188
+ "properties": {},
1189
+ "type": "object"
1190
+ },
1191
+ "name": "setup_window_targeting"
1192
+ },
1193
+ {
1194
+ "annotations": {
1195
+ "destructiveHint": true,
1196
+ "idempotentHint": false,
1197
+ "openWorldHint": true,
1198
+ "readOnlyHint": false
1199
+ },
1200
+ "description": "Type literal text using keyboard input, optionally after focusing a target window or terminal selector.",
1201
+ "inputSchema": {
1202
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1203
+ "properties": {
1204
+ "app_id": {
1205
+ "default": null,
1206
+ "type": [
1207
+ "string",
1208
+ "null"
1209
+ ]
1210
+ },
1211
+ "pid": {
1212
+ "default": null,
1213
+ "minimum": 0,
1214
+ "type": [
1215
+ "integer",
1216
+ "null"
1217
+ ]
1218
+ },
1219
+ "terminal_command": {
1220
+ "default": null,
1221
+ "type": [
1222
+ "string",
1223
+ "null"
1224
+ ]
1225
+ },
1226
+ "terminal_cwd": {
1227
+ "default": null,
1228
+ "type": [
1229
+ "string",
1230
+ "null"
1231
+ ]
1232
+ },
1233
+ "terminal_pid": {
1234
+ "default": null,
1235
+ "minimum": 0,
1236
+ "type": [
1237
+ "integer",
1238
+ "null"
1239
+ ]
1240
+ },
1241
+ "text": {
1242
+ "type": "string"
1243
+ },
1244
+ "title": {
1245
+ "default": null,
1246
+ "type": [
1247
+ "string",
1248
+ "null"
1249
+ ]
1250
+ },
1251
+ "tty": {
1252
+ "default": null,
1253
+ "type": [
1254
+ "string",
1255
+ "null"
1256
+ ]
1257
+ },
1258
+ "window_id": {
1259
+ "default": null,
1260
+ "minimum": 0,
1261
+ "type": [
1262
+ "integer",
1263
+ "null"
1264
+ ]
1265
+ },
1266
+ "wm_class": {
1267
+ "default": null,
1268
+ "type": [
1269
+ "string",
1270
+ "null"
1271
+ ]
1272
+ }
1273
+ },
1274
+ "required": [
1275
+ "text"
1276
+ ],
1277
+ "title": "TypeTextParams",
1278
+ "type": "object"
1279
+ },
1280
+ "name": "type_text"
1281
+ }
1282
+ ] as const satisfies readonly GeneratedMcpToolDefinition[];
1283
+ export const GENERATED_OPTIONAL_MCP_TOOLS =
1284
+ [
1285
+ {
1286
+ "annotations": {
1287
+ "destructiveHint": true,
1288
+ "idempotentHint": false,
1289
+ "openWorldHint": true,
1290
+ "readOnlyHint": false
1291
+ },
1292
+ "description": "Execute one explicitly approved /bin/sh command with same-user host authority. This tool is absent unless the server operator starts computer-use-linux with COMPUTER_USE_LINUX_ENABLE_SHELL=1. It is not sandboxed: the command can read or modify files and use the network with the server user's permissions. The inherited environment is cleared to a small desktop/runtime allowlist; pass any additional variables explicitly. Execution time and output are bounded: returned streams are truncated to 512 KiB, while a stream exceeding the 8 MiB collection ceiling fails the call without returning partial output. An audit digest is written to server stderr.",
1293
+ "inputSchema": {
1294
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1295
+ "properties": {
1296
+ "command": {
1297
+ "description": "Shell program text passed to `/bin/sh -c` without loading login profiles.",
1298
+ "type": "string"
1299
+ },
1300
+ "cwd": {
1301
+ "default": null,
1302
+ "description": "Existing directory in which to start the shell. Symlinks are resolved.",
1303
+ "type": [
1304
+ "string",
1305
+ "null"
1306
+ ]
1307
+ },
1308
+ "env": {
1309
+ "additionalProperties": {
1310
+ "type": "string"
1311
+ },
1312
+ "default": {},
1313
+ "description": "Additional environment entries. The ambient process environment is not inherited wholesale.",
1314
+ "type": "object"
1315
+ },
1316
+ "timeout_seconds": {
1317
+ "default": null,
1318
+ "description": "Wall-clock timeout in seconds (default 30, maximum 120).",
1319
+ "minimum": 0,
1320
+ "type": [
1321
+ "integer",
1322
+ "null"
1323
+ ]
1324
+ }
1325
+ },
1326
+ "required": [
1327
+ "command"
1328
+ ],
1329
+ "title": "RunShellParams",
1330
+ "type": "object"
1331
+ },
1332
+ "name": "run_shell"
1333
+ }
1334
+ ] as const satisfies readonly GeneratedMcpToolDefinition[];