terminator-mcp-agent 0.16.1 → 0.16.4
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/README.md +16 -14
- package/package.json +7 -6
package/README.md
CHANGED
|
@@ -95,6 +95,9 @@ terminator mcp run workflow.yml --start-from "step_12" --end-at "step_13"
|
|
|
95
95
|
|
|
96
96
|
# Run single step
|
|
97
97
|
terminator mcp run workflow.yml --start-from "read_json" --end-at "read_json"
|
|
98
|
+
|
|
99
|
+
# Execute jumps at end boundary (by default jumps are skipped at --end-at-step)
|
|
100
|
+
terminator mcp run workflow.yml --end-at "step_5" --execute-jumps-at-end
|
|
98
101
|
```
|
|
99
102
|
|
|
100
103
|
**Workflow File Formats:**
|
|
@@ -233,9 +236,9 @@ The Terminator MCP agent offers two primary workflows for automating desktop tas
|
|
|
233
236
|
This is the most powerful and flexible method. You build a workflow step-by-step, using MCP tools to inspect the UI and refine your actions.
|
|
234
237
|
|
|
235
238
|
1. **Inspect the UI**: Start by using `get_focused_window_tree` to understand the structure of your target application. This gives you the roles, names, and IDs of all elements. For performance optimization:
|
|
236
|
-
- Use `
|
|
237
|
-
- Use `
|
|
238
|
-
- Use `
|
|
239
|
+
- Use `tree_max_depth: 2` to limit tree depth when you only need shallow inspection
|
|
240
|
+
- Use `tree_from_selector: "role:Dialog"` to get subtree from a specific element
|
|
241
|
+
- Use `tree_from_selector: "true"` to start from the currently focused element
|
|
239
242
|
2. **Build a Sequence**: Create an `execute_sequence` tool call with a series of actions (`click_element`, `type_into_element`, etc.). Use robust selectors (like `role|name` or stable `properties:AutomationId:value` selectors) whenever possible.
|
|
240
243
|
3. **Capture the Final State**: Ensure the last step in your sequence is an action that returns a UI tree. The `wait_for_element` tool with `include_tree: true` is perfect for this, as it captures the application's state after your automation has run.
|
|
241
244
|
4. **Extract Structured Data with `output_parser`**: Add the `output_parser` argument to your `execute_sequence` call. Write JavaScript code to parse the final UI tree and extract structured data. If successful, the tool result will contain a `parsed_output` field with your clean JSON data.
|
|
@@ -717,9 +720,9 @@ The virtual display manager creates a memory-based display context that satisfie
|
|
|
717
720
|
- Implement delays between rapid operations
|
|
718
721
|
- Consider using `include_tree: false` for intermediate steps
|
|
719
722
|
- For tree extraction tools, optimize with:
|
|
720
|
-
- `
|
|
721
|
-
- `
|
|
722
|
-
- `
|
|
723
|
+
- `tree_max_depth: 2` - Limit depth for large trees
|
|
724
|
+
- `tree_from_selector: "role:List"` - Get subtree from specific element
|
|
725
|
+
- `tree_from_selector: "true"` - Start from focused element
|
|
723
726
|
|
|
724
727
|
**JavaScript Performance**:
|
|
725
728
|
|
|
@@ -856,7 +859,8 @@ You can run specific portions of a workflow using `start_from_step` and `end_at_
|
|
|
856
859
|
"url": "file://path/to/workflow.yml",
|
|
857
860
|
"start_from_step": "read_json_file", // Start from this step ID
|
|
858
861
|
"end_at_step": "fill_journal_entries", // Stop after this step (inclusive)
|
|
859
|
-
"follow_fallback": false
|
|
862
|
+
"follow_fallback": false, // Don't follow fallback_id beyond end_at_step (default: false)
|
|
863
|
+
"execute_jumps_at_end": false // Don't execute jumps at end_at_step boundary (default: false)
|
|
860
864
|
}
|
|
861
865
|
}
|
|
862
866
|
```
|
|
@@ -867,6 +871,7 @@ You can run specific portions of a workflow using `start_from_step` and `end_at_
|
|
|
867
871
|
- Run from step to end: Only set `start_from_step`
|
|
868
872
|
- Run from beginning to step: Only set `end_at_step`
|
|
869
873
|
- Debug without fallback: Use `follow_fallback: false` to prevent jumping to troubleshooting steps when a bounded step fails
|
|
874
|
+
- Allow jumps at boundary: Use `execute_jumps_at_end: true` to execute jump conditions even at the `end_at_step` boundary (by default, jumps are skipped at the boundary for predictable execution)
|
|
870
875
|
|
|
871
876
|
#### Automatic State Persistence
|
|
872
877
|
|
|
@@ -907,19 +912,16 @@ steps:
|
|
|
907
912
|
- tool_name: get_window_tree
|
|
908
913
|
arguments:
|
|
909
914
|
pid: 1234
|
|
910
|
-
|
|
911
|
-
max_depth: 2 # Only get 2 levels deep
|
|
915
|
+
tree_max_depth: 2 # Only get 2 levels deep
|
|
912
916
|
|
|
913
917
|
- tool_name: get_focused_window_tree
|
|
914
918
|
arguments:
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
max_depth: 3 # Limit depth from that point
|
|
919
|
+
tree_from_selector: "role:Dialog" # Start tree from first dialog
|
|
920
|
+
tree_max_depth: 3 # Limit depth from that point
|
|
918
921
|
|
|
919
922
|
- tool_name: get_focused_window_tree
|
|
920
923
|
arguments:
|
|
921
|
-
|
|
922
|
-
from_selector: "true" # Start from focused element
|
|
924
|
+
tree_from_selector: "true" # Start from focused element
|
|
923
925
|
|
|
924
926
|
# Backward compatible - still works
|
|
925
927
|
- tool_name: get_window_tree
|
package/package.json
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
"terminator-mcp-agent": "index.js"
|
|
4
4
|
},
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@modelcontextprotocol/sdk": "^1.17.3"
|
|
6
|
+
"@modelcontextprotocol/sdk": "^1.17.3",
|
|
7
|
+
"node-fetch": "^2.7.0"
|
|
7
8
|
},
|
|
8
9
|
"description": "Cross-platform Model Context Protocol (MCP) agent for Terminator",
|
|
9
10
|
"engines": {
|
|
@@ -15,10 +16,10 @@
|
|
|
15
16
|
],
|
|
16
17
|
"name": "terminator-mcp-agent",
|
|
17
18
|
"optionalDependencies": {
|
|
18
|
-
"terminator-mcp-darwin-arm64": "0.16.
|
|
19
|
-
"terminator-mcp-darwin-x64": "0.16.
|
|
20
|
-
"terminator-mcp-linux-x64-gnu": "0.16.
|
|
21
|
-
"terminator-mcp-win32-x64-msvc": "0.16.
|
|
19
|
+
"terminator-mcp-darwin-arm64": "0.16.4",
|
|
20
|
+
"terminator-mcp-darwin-x64": "0.16.4",
|
|
21
|
+
"terminator-mcp-linux-x64-gnu": "0.16.4",
|
|
22
|
+
"terminator-mcp-win32-x64-msvc": "0.16.4"
|
|
22
23
|
},
|
|
23
24
|
"repository": {
|
|
24
25
|
"type": "git",
|
|
@@ -30,5 +31,5 @@
|
|
|
30
31
|
"sync-version": "node ./utils/sync-version.js",
|
|
31
32
|
"update-badges": "node ./utils/update-badges.js"
|
|
32
33
|
},
|
|
33
|
-
"version": "0.16.
|
|
34
|
+
"version": "0.16.4"
|
|
34
35
|
}
|