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
This document describes the progress update system implemented in the XcodeBuildMCP server to provide feedback during long-running operations.
4
+
5
+
## Overview
6
+
7
+
XcodeBuildMCP now provides real-time progress updates during long-running operations such as building applications. This helps clients understand the current state of operations, estimated completion percentage, and any important status messages.
8
+
9
+
## Implementation Details
10
+
11
+
### Progress Update Structure
12
+
13
+
Progress updates follow a standardized format:
14
+
15
+
```typescript
16
+
interfaceToolProgressUpdate {
17
+
operationId:string; // Unique identifier for the operation
18
+
status:'running'|'completed'|'failed'; // Current status
19
+
progress?:number; // 0-100 percentage
20
+
message:string; // Human-readable status message
21
+
timestamp:string; // ISO timestamp of the update
22
+
details?:string; // Optional additional details
23
+
}
24
+
```
25
+
26
+
### Progress Service
27
+
28
+
The `progress.ts` module provides a centralized service for handling progress updates:
29
+
30
+
-`initProgressService(server)`: Initializes the progress service with an MCP server instance
31
+
-`sendProgressUpdate(update)`: Sends a progress update for an operation
32
+
-`createProgressCallback(operationName)`: Creates a callback function for a specific operation
33
+
-`getActiveOperations()`: Returns a list of active operations
34
+
35
+
### How Progress Updates Work
36
+
37
+
1. When a long-running command is executed, it is given a unique operation ID
38
+
2. The command execution monitors the output and periodically sends progress updates
39
+
3. Progress is estimated based on various heuristics:
0 commit comments