Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion docs/contributing/system-architecture.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,8 @@ sequenceDiagram
│ ├── POST /:id/disconnect - Disconnect from server
│ ├── /tools
│ │ ├── GET / - List tools
│ │ └── POST /:name/call - Call tool
│ │ ├── POST /execute - Execute tool (concurrent)
│ │ └── POST /respond - Respond to elicitation
│ ├── /resources
│ │ ├── GET / - List resources
│ │ └── GET /:uri - Read resource
Expand Down Expand Up @@ -300,6 +301,19 @@ sequenceDiagram
</Tab>
</Tabs>

### Concurrent Tool Execution

The tools API supports concurrent execution of multiple tools simultaneously. Each tool execution is tracked by a unique `executionId`, allowing multiple tools to run in parallel without blocking each other.

**Architecture:**

- `activeExecutions` Map stores execution contexts keyed by `executionId`
- Each execution maintains its own queue for elicitation requests
- The `/respond` endpoint requires both `executionId` and `requestId` to route responses correctly
- Execution contexts are automatically cleaned up when complete

**Key Implementation:** `server/routes/mcp/tools.ts`

## Electron Integration

### Process Architecture
Expand Down