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
Copy file name to clipboardExpand all lines: documents/docs/configuration/system/agents_config.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -212,7 +212,7 @@ APP_AGENT:
212
212
API_PROMPT: "ufo/prompts/share/base/api.yaml"
213
213
```
214
214
215
-
You can customize prompts by creating your own YAML files and updating these paths. See the [Customization Guide](../../tutorials/customization.md) for details.
215
+
You can customize prompts by creating your own YAML files and updating these paths. See the [Customization Guide](../../ufo2/advanced_usage/customization.md) for details.
Copy file name to clipboardExpand all lines: documents/docs/galaxy/constellation_agent/command.md
+65-71Lines changed: 65 additions & 71 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,8 @@
1
1
# Constellation MCP Server — Structured Task Management
2
2
3
-
!!!quote "The Manipulation Layer for Task Constellations"
4
-
The **Constellation MCP Server** provides a standardized, idempotent interface for manipulating Task Constellations. Through Model Context Protocol (MCP), it exposes task and dependency management primitives that bridge LLM-level reasoning and concrete execution state, ensuring reproducibility and auditability.
3
+
## Overview
5
4
6
-
---
7
-
8
-
## 🎯 Overview
5
+
The **Constellation MCP Server** provides a standardized, idempotent interface for manipulating Task Constellations. Through Model Context Protocol (MCP), it exposes task and dependency management primitives that bridge LLM-level reasoning and concrete execution state, ensuring reproducibility and auditability.
9
6
10
7
The Constellation MCP Server is a lightweight component that operationalizes dynamic graph construction for the Constellation Agent. It serves as the **structured manipulation layer** between LLM reasoning and the Task Constellation data structure.
11
8
@@ -85,8 +82,8 @@ Add a new atomic task (TaskStar) to the constellation.
85
82
|`task_id`|`str`| ✅ Yes | Unique identifier for the task (e.g., `"open_browser"`, `"login_system"`) |
86
83
|`name`|`str`| ✅ Yes | Human-readable name (e.g., `"Open Browser"`, `"Login to System"`) |
87
84
|`description`|`str`| ✅ Yes | Detailed task specification including steps and expected outcomes |
88
-
|`target_device_id`|`str`| ❌ No | Device where task executes (e.g., `"DESKTOP-ABC123"`, `"iPhone-001"`) |
89
-
|`tips`|`List[str]`| ❌ No | Critical hints for successful execution |
85
+
|`target_device_id`|`str`| ❌ No (default: `None`) | Device where task executes (e.g., `"DESKTOP-ABC123"`, `"iPhone-001"`) |
86
+
|`tips`|`List[str]`| ❌ No (default: `None`) | Critical hints for successful execution |
|`from_task_id`|`str`| ✅ Yes | Source/prerequisite task that must complete first |
264
258
|`to_task_id`|`str`| ✅ Yes | Target/dependent task that waits for source |
265
-
|`condition_description`|`str`| ❌ No | Human-readable explanation of dependency logic |
259
+
|`condition_description`|`str`| ❌ No (default: `None`) | Human-readable explanation of dependency logic |
266
260
267
261
#### Return Value
268
262
@@ -310,14 +304,13 @@ Future extensions may support:
310
304
-**Unique line_id**: `dependency_id` must be unique
311
305
-**No self-loops**: `from_task_id != to_task_id`
312
306
313
-
!!!danger "Cycle Detection"
314
-
The server validates DAG acyclicity after adding each dependency:
315
-
316
-
```
317
-
A → B → C
318
-
↓
319
-
A ❌ Creates cycle!
320
-
```
307
+
**Cycle Detection**: The server validates DAG acyclicity after adding each dependency:
308
+
309
+
```
310
+
A → B → C
311
+
↓
312
+
A ❌ Creates cycle!
313
+
```
321
314
322
315
---
323
316
@@ -405,7 +398,7 @@ Batch-create a complete constellation from structured configuration.
405
398
| Parameter | Type | Required | Description |
406
399
|-----------|------|----------|-------------|
407
400
|`config`|`TaskConstellationSchema`| ✅ Yes | Constellation configuration with tasks and dependencies |
408
-
|`clear_existing`|`bool`| ❌ No | Clear existing constellation before building (default: `true`)|
401
+
|`clear_existing`|`bool`| ❌ No (default: `True`) | Clear existing constellation before building |
409
402
410
403
#### Configuration Schema
411
404
@@ -522,8 +515,7 @@ result = await mcp_client.call_tool(
522
515
-**DAG acyclicity**: Final graph must have no cycles
523
516
-**Schema compliance**: Pydantic validation ensures type correctness
524
517
525
-
!!!tip "Creation Mode Usage"
526
-
In **creation mode**, the Constellation Agent uses `build_constellation` to generate the initial constellation in a single operation. This is more efficient than incremental add_task calls.
518
+
**Creation Mode Usage**: In creation mode, the Constellation Agent uses `build_constellation` to generate the initial constellation in a single operation, which is more efficient than incremental `add_task` calls.
527
519
528
520
---
529
521
@@ -678,43 +670,47 @@ Where:
678
670
679
671
## 💡 Best Practices
680
672
681
-
!!!tip "Tool Selection"
682
-
**Creation Mode:** Use `build_constellation` for initial synthesis
683
-
684
-
**Editing Mode:** Use granular tools (`add_task`, `update_task`, etc.)
685
-
686
-
**Bulk Edits:** Accumulate changes and apply via `build_constellation` with `clear_existing=false`
673
+
### Tool Selection
687
674
688
-
!!!warning "Modification Safety"
689
-
Always check task/dependency modifiability before calling update/remove tools:
690
-
691
-
```python
692
-
modifiable = constellation.get_modifiable_tasks()
693
-
if task in modifiable:
694
-
await mcp_client.call_tool("update_task", ...)
695
-
```
696
-
697
-
!!!example "Idempotent Operations"
698
-
Design agent logic to be idempotent:
699
-
700
-
```python
701
-
# Safe to retry - will fail gracefully if task exists
702
-
try:
703
-
await mcp_client.call_tool("add_task", {...})
704
-
except ToolError:
705
-
# Task already exists, continue
706
-
pass
707
-
```
675
+
**Creation Mode:** Use `build_constellation` for initial synthesis
676
+
677
+
**Editing Mode:** Use granular tools (`add_task`, `update_task`, etc.)
678
+
679
+
**Bulk Edits:** Accumulate changes and apply via `build_constellation` with `clear_existing=False`
680
+
681
+
### Modification Safety
682
+
683
+
Always check task/dependency modifiability before calling update/remove tools:
684
+
685
+
```python
686
+
modifiable = constellation.get_modifiable_tasks()
687
+
if task in modifiable:
688
+
await mcp_client.call_tool("update_task", ...)
689
+
```
690
+
691
+
### Idempotent Operations
692
+
693
+
Design agent logic to be idempotent:
694
+
695
+
```python
696
+
# Safe to retry - will fail gracefully if task exists
0 commit comments