droid-mode 0.0.6 → 0.0.7

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.
Files changed (2) hide show
  1. package/README.md +57 -20
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -22,22 +22,50 @@ Droid Mode lets you:
22
22
  2. Access them **on-demand** through progressive discovery
23
23
  3. Run procedural workflows that call MCP tools **outside** the LLM loop
24
24
 
25
- ## Performance: Daemon Mode
25
+ ## Benchmarks
26
26
 
27
- Droid Mode includes an optional daemon that maintains persistent MCP connections, dramatically reducing latency for repeated operations.
27
+ Independent benchmarks comparing Droid Mode against Native MCP (direct HTTP).
28
28
 
29
- ### Benchmark Results
29
+ ### Summary
30
30
 
31
- | Mode | 10 Operations | Per-Call (warm) | Speedup |
32
- |------|---------------|-----------------|---------|
33
- | Without Daemon | 29.9s | ~2,900ms | baseline |
34
- | **With Daemon** | **10.2s** | **~620ms** | **4.7x faster** |
31
+ | Configuration | Per-Tool Latency | vs Native MCP |
32
+ |---------------|------------------|---------------|
33
+ | **Droid Mode (Daemon)** | **616ms** | **11% faster** |
34
+ | Native MCP (HTTP) | 695ms | baseline |
35
+ | Droid Mode (No Daemon) | 2,365ms | 240% slower |
35
36
 
36
- ### How It Works
37
+ ### Single Tool Performance
38
+
39
+ | Call | No Daemon | Daemon | Native MCP |
40
+ |------|-----------|--------|------------|
41
+ | 1 | 2948ms | 845ms | 866ms |
42
+ | 2 | 2442ms | 610ms | 789ms |
43
+ | 3 | 2300ms | 613ms | 798ms |
44
+ | 4 | 2415ms | 706ms | 742ms |
45
+ | 5 | 2334ms | 617ms | 690ms |
46
+ | **Average** | **2488ms** | **678ms** | **777ms** |
47
+
48
+ ### Scale Performance (10 Tools)
49
+
50
+ | Metric | No Daemon | Daemon | Native MCP |
51
+ |--------|-----------|--------|------------|
52
+ | Total Time | 23.7s | **6.2s** | 6.9s |
53
+ | Per-Tool Avg | 2365ms | **616ms** | 695ms |
54
+
55
+ ### Key Findings
56
+
57
+ 1. **Daemon beats Native MCP** — 11-14% faster per-tool latency
58
+ 2. **Scales linearly** — No cumulative overhead at 10+ tools
59
+ 3. **Consistent** — ±262ms variance vs ±236ms for Native MCP
60
+ 4. **No-daemon is prohibitive** — 74% slower, only for one-off calls
61
+
62
+ *Benchmarks: macOS Darwin 25.2.0, Context Repo MCP server, January 2026*
63
+
64
+ ## Daemon Mode
37
65
 
38
- Each `dm call` normally spawns a new process, initializes the MCP connection, executes the tool, and exits. This adds ~2.5s overhead per call.
66
+ The daemon maintains persistent MCP connections via a Unix socket, eliminating stdio spawn overhead.
39
67
 
40
- The daemon maintains a connection pool. After the first call to a server, subsequent calls reuse the existing connection:
68
+ ### How It Works
41
69
 
42
70
  ```
43
71
  ┌──────────────────────────────────────────────────┐
@@ -56,26 +84,33 @@ The daemon maintains a connection pool. After the first call to a server, subseq
56
84
  ### Usage
57
85
 
58
86
  ```bash
59
- # Start daemon (runs in background)
60
- dm daemon start
87
+ # Daemon auto-starts on first dm call
88
+ dm call list_collections --server context-repo
61
89
 
62
- # All dm call commands automatically use daemon
63
- dm call list_collections --server context-repo # ~620ms
90
+ # Or start manually
91
+ dm daemon start
64
92
 
65
93
  # Check connection status
66
94
  dm daemon status
67
95
 
68
- # Stop daemon when done
96
+ # Pre-warm specific servers
97
+ dm daemon warm context-repo
98
+
99
+ # Stop daemon
69
100
  dm daemon stop
101
+
102
+ # Bypass daemon for direct call
103
+ dm call tool --server X --no-daemon
70
104
  ```
71
105
 
72
- ### When to Use Daemon
106
+ ### Configuration
73
107
 
74
- - **Multi-operation workflows** — Running several tool calls in sequence
75
- - **Interactive development** Testing and iterating with MCP tools
76
- - **Benchmarking** Accurate timing without spawn overhead
108
+ ```bash
109
+ # Disable auto-warm for a server
110
+ dm config context-repo autoWarm false
111
+ ```
77
112
 
78
- The daemon is optional. Without it, Droid Mode works exactly as before.
113
+ The daemon is optional. Use `--no-daemon` to bypass it.
79
114
 
80
115
  ## Installation
81
116
 
@@ -171,6 +206,8 @@ dm run --server context-repo \
171
206
  | `dm daemon start` | Start background daemon |
172
207
  | `dm daemon stop` | Stop daemon |
173
208
  | `dm daemon status` | Show connection pool status |
209
+ | `dm daemon warm [server]` | Pre-warm server connections |
210
+ | `dm config <server> autoWarm false` | Disable auto-warm for server |
174
211
 
175
212
  ## Design Philosophy
176
213
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "droid-mode",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "description": "Progressive Code-Mode MCP integration for Factory.ai Droid - access MCP tools without context bloat",
5
5
  "type": "module",
6
6
  "main": "dist/cli.js",