@zhixuan92/multi-model-agent-mcp 2.8.0 → 2.8.1

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 (90) hide show
  1. package/README.md +11 -207
  2. package/dist/cli.js +6 -599
  3. package/package.json +8 -49
  4. package/dist/cli.d.ts +0 -79
  5. package/dist/cli.d.ts.map +0 -1
  6. package/dist/cli.js.map +0 -1
  7. package/dist/headline.d.ts +0 -25
  8. package/dist/headline.d.ts.map +0 -1
  9. package/dist/headline.js +0 -58
  10. package/dist/headline.js.map +0 -1
  11. package/dist/http/auth.d.ts +0 -8
  12. package/dist/http/auth.d.ts.map +0 -1
  13. package/dist/http/auth.js +0 -43
  14. package/dist/http/auth.js.map +0 -1
  15. package/dist/http/cwd-validator.d.ts +0 -11
  16. package/dist/http/cwd-validator.d.ts.map +0 -1
  17. package/dist/http/cwd-validator.js +0 -31
  18. package/dist/http/cwd-validator.js.map +0 -1
  19. package/dist/http/lifecycle-handlers.d.ts +0 -12
  20. package/dist/http/lifecycle-handlers.d.ts.map +0 -1
  21. package/dist/http/lifecycle-handlers.js +0 -87
  22. package/dist/http/lifecycle-handlers.js.map +0 -1
  23. package/dist/http/loopback.d.ts +0 -10
  24. package/dist/http/loopback.d.ts.map +0 -1
  25. package/dist/http/loopback.js +0 -34
  26. package/dist/http/loopback.js.map +0 -1
  27. package/dist/http/project-registry.d.ts +0 -48
  28. package/dist/http/project-registry.d.ts.map +0 -1
  29. package/dist/http/project-registry.js +0 -119
  30. package/dist/http/project-registry.js.map +0 -1
  31. package/dist/http/session-router.d.ts +0 -33
  32. package/dist/http/session-router.d.ts.map +0 -1
  33. package/dist/http/session-router.js +0 -62
  34. package/dist/http/session-router.js.map +0 -1
  35. package/dist/http/status-endpoint.d.ts +0 -20
  36. package/dist/http/status-endpoint.d.ts.map +0 -1
  37. package/dist/http/status-endpoint.js +0 -85
  38. package/dist/http/status-endpoint.js.map +0 -1
  39. package/dist/http/transport.d.ts +0 -14
  40. package/dist/http/transport.d.ts.map +0 -1
  41. package/dist/http/transport.js +0 -209
  42. package/dist/http/transport.js.map +0 -1
  43. package/dist/index.d.ts +0 -4
  44. package/dist/index.d.ts.map +0 -1
  45. package/dist/index.js +0 -3
  46. package/dist/index.js.map +0 -1
  47. package/dist/routing/render-provider-routing-matrix.d.ts +0 -7
  48. package/dist/routing/render-provider-routing-matrix.d.ts.map +0 -1
  49. package/dist/routing/render-provider-routing-matrix.js +0 -153
  50. package/dist/routing/render-provider-routing-matrix.js.map +0 -1
  51. package/dist/status-cli.d.ts +0 -2
  52. package/dist/status-cli.d.ts.map +0 -1
  53. package/dist/status-cli.js +0 -68
  54. package/dist/status-cli.js.map +0 -1
  55. package/dist/tools/audit-document.d.ts +0 -23
  56. package/dist/tools/audit-document.d.ts.map +0 -1
  57. package/dist/tools/audit-document.js +0 -123
  58. package/dist/tools/audit-document.js.map +0 -1
  59. package/dist/tools/batch-response.d.ts +0 -14
  60. package/dist/tools/batch-response.d.ts.map +0 -1
  61. package/dist/tools/batch-response.js +0 -42
  62. package/dist/tools/batch-response.js.map +0 -1
  63. package/dist/tools/confirm-clarifications.d.ts +0 -15
  64. package/dist/tools/confirm-clarifications.d.ts.map +0 -1
  65. package/dist/tools/confirm-clarifications.js +0 -95
  66. package/dist/tools/confirm-clarifications.js.map +0 -1
  67. package/dist/tools/debug-task.d.ts +0 -13
  68. package/dist/tools/debug-task.d.ts.map +0 -1
  69. package/dist/tools/debug-task.js +0 -63
  70. package/dist/tools/debug-task.js.map +0 -1
  71. package/dist/tools/execute-plan.d.ts +0 -12
  72. package/dist/tools/execute-plan.d.ts.map +0 -1
  73. package/dist/tools/execute-plan.js +0 -123
  74. package/dist/tools/execute-plan.js.map +0 -1
  75. package/dist/tools/review-code.d.ts +0 -17
  76. package/dist/tools/review-code.d.ts.map +0 -1
  77. package/dist/tools/review-code.js +0 -108
  78. package/dist/tools/review-code.js.map +0 -1
  79. package/dist/tools/shared.d.ts +0 -72
  80. package/dist/tools/shared.d.ts.map +0 -1
  81. package/dist/tools/shared.js +0 -160
  82. package/dist/tools/shared.js.map +0 -1
  83. package/dist/tools/truncation.d.ts +0 -18
  84. package/dist/tools/truncation.d.ts.map +0 -1
  85. package/dist/tools/truncation.js +0 -62
  86. package/dist/tools/truncation.js.map +0 -1
  87. package/dist/tools/verify-work.d.ts +0 -12
  88. package/dist/tools/verify-work.d.ts.map +0 -1
  89. package/dist/tools/verify-work.js +0 -85
  90. package/dist/tools/verify-work.js.map +0 -1
package/README.md CHANGED
@@ -1,217 +1,21 @@
1
- # @zhixuan92/multi-model-agent-mcp
1
+ # @zhixuan92/multi-model-agent-mcp — DEPRECATED
2
2
 
3
- **MCP server for multi-model-agent.** Your AI assistant gets 10 tools for delegating work to cheaper agents — parallel execution, cross-agent review, 90% cost savings.
3
+ This package has been replaced by **[`@zhixuan92/multi-model-agent`](https://www.npmjs.com/package/@zhixuan92/multi-model-agent)** in 3.0.0.
4
4
 
5
- Works with Claude Code, Codex CLI, Cursor, Gemini CLI, and Claude Desktop.
5
+ The 3.0.0 release removes all MCP server support. Use the new standalone HTTP service + client-installable skills instead.
6
6
 
7
- ## Install
8
-
9
- Requires Node >= 22 and a config file at `~/.multi-model/config.json`.
10
-
11
- **1. Create config** — define your two agent slots. Three agent types are supported:
12
-
13
- | Type | Auth | API key needed? |
14
- |---|---|---|
15
- | `claude` | Your existing Claude Code / Claude subscription | No — uses local OAuth |
16
- | `codex` | Your existing Codex subscription (`codex login`) | No — reads `~/.codex/auth.json` |
17
- | `openai-compatible` | Any OpenAI-compatible API (GPT, MiniMax, DeepSeek, Groq, local vLLM) | Yes — `apiKeyEnv` or `apiKey` |
18
-
19
- **Example — Claude + Codex (no API keys):**
20
-
21
- ```bash
22
- mkdir -p ~/.multi-model && cat > ~/.multi-model/config.json << 'EOF'
23
- {
24
- "agents": {
25
- "standard": { "type": "codex", "model": "codex-mini-latest" },
26
- "complex": { "type": "claude", "model": "claude-sonnet-4-20250514" }
27
- },
28
- "defaults": { "timeoutMs": 1800000, "maxCostUSD": 10, "tools": "full" }
29
- }
30
- EOF
31
- ```
32
-
33
- **Example — OpenAI-compatible endpoints (API keys required):**
7
+ ## Migration
34
8
 
35
9
  ```bash
36
- mkdir -p ~/.multi-model && cat > ~/.multi-model/config.json << 'EOF'
37
- {
38
- "agents": {
39
- "standard": {
40
- "type": "openai-compatible",
41
- "model": "MiniMax-M2",
42
- "baseUrl": "https://api.minimax.io/v1",
43
- "apiKeyEnv": "MINIMAX_API_KEY"
44
- },
45
- "complex": {
46
- "type": "openai-compatible",
47
- "model": "gpt-5",
48
- "baseUrl": "https://api.openai.com/v1",
49
- "apiKeyEnv": "OPENAI_API_KEY"
50
- }
51
- },
52
- "defaults": { "timeoutMs": 1800000, "maxCostUSD": 10, "tools": "full", "parentModel": "claude-opus-4-6" }
53
- }
54
- EOF
55
- ```
56
-
57
- > **`parentModel`** (optional): When set, headlines show `$Y saved vs model (Zx ROI)`. When omitted, headlines show `$X actual`.
58
-
59
- Mix and match freely — e.g., `claude` for complex + `openai-compatible` for standard.
60
-
61
- **2. Register the MCP server:**
10
+ npm uninstall -g @zhixuan92/multi-model-agent-mcp
11
+ npm install -g @zhixuan92/multi-model-agent
62
12
 
63
- ```bash
64
- # Claude/Codex agents (no env vars needed):
65
- claude mcp add multi-model-agent -s user \
66
- -- npx -y @zhixuan92/multi-model-agent-mcp serve
67
-
68
- # OpenAI-compatible agents (pass API keys):
69
- claude mcp add multi-model-agent -s user \
70
- -e MINIMAX_API_KEY=... -e OPENAI_API_KEY=... \
71
- -- npx -y @zhixuan92/multi-model-agent-mcp serve
13
+ mmagent serve # start the daemon
14
+ mmagent install-skill # install skills for your AI client
72
15
  ```
73
16
 
74
- No install step, no long-running process. Your MCP client spawns it on demand via `npx`.
75
-
76
- For Codex CLI, Claude Desktop, and Cursor setup, see the [full guide](https://github.com/zhixuan312/multi-model-agent#quick-start).
77
-
78
- ## What you get
79
-
80
- | Tool | What it does |
81
- |---|---|
82
- | `delegate_tasks` | Dispatch tasks in parallel with minimal input: `prompt` plus optional `agentType`, `filePaths`, `done`, and `contextBlockIds`. The MCP interprets your request and infers missing details — if confused, it returns a proposed interpretation for confirmation. |
83
- | `audit_document` | Audit docs/files for issues — parallel per file. Accepts `contextBlockIds` for delta audits (round 2+). |
84
- | `review_code` | Code review with spec + quality pipeline — parallel per file. Accepts `contextBlockIds` for diff-scoped/delta reviews. |
85
- | `verify_work` | Verify work against a checklist — parallel per file. Accepts `contextBlockIds` for shared context. |
86
- | `debug_task` | Hypothesis-driven debugging with file context. Accepts `contextBlockIds` for shared context. |
87
- | `execute_plan` | Execute tasks from a plan document — worker reads plan files, finds matching task by descriptor, implements it. Multiple tasks run in parallel. |
88
- | `register_context_block` | Store reusable context for later tasks |
89
- | `retry_tasks` | Re-run specific tasks from a previous batch |
90
- | `get_batch_slice` | Fetch output or telemetry from a previous batch |
91
- | `confirm_clarifications` | Resume a clarification set by confirming or editing proposed interpretations |
92
-
93
- ## Diagnostic logging
94
-
95
- Diagnostic logging is OFF by default.
96
-
97
- It stays disabled when the `diagnostics` block is absent or when `diagnostics.log` is `false` in `~/.multi-model/config.json`.
98
-
99
- To capture a crash/disconnect log to send us, add a `diagnostics` block to your config.
100
-
101
- Minimal example:
102
-
103
- ```json
104
- {
105
- "diagnostics": { "log": true }
106
- }
107
- ```
108
-
109
- Full config shape example:
110
-
111
- ```json
112
- {
113
- "agents": {
114
- "standard": { "type": "codex", "model": "codex-mini-latest" },
115
- "complex": { "type": "claude", "model": "claude-sonnet-4-20250514" }
116
- },
117
- "defaults": {
118
- "timeoutMs": 1800000,
119
- "maxCostUSD": 10,
120
- "tools": "full"
121
- },
122
- "diagnostics": {
123
- "log": true,
124
- "logDir": "/some/path"
125
- }
126
- }
127
- ```
128
-
129
- `diagnostics.logDir` is optional; when omitted, logs default to `~/.multi-model/logs/`.
130
-
131
- When enabled, the server appends JSONL records to `mcp-YYYY-MM-DD.jsonl` in append mode.
132
-
133
- Only crash/disconnect diagnostic events are logged: `startup`, `request_start`, `request_complete`, `shutdown`, and `error`. This is a crash-diagnosis log, not a progress feed.
134
-
135
- ## Setup & Configuration
136
-
137
- See the full setup guide with config examples, client-specific instructions, and auth details:
138
-
139
- → **[github.com/zhixuan312/multi-model-agent](https://github.com/zhixuan312/multi-model-agent#quick-start)**
140
-
141
- ## Running as an HTTP daemon
142
-
143
- The default transport is stdio — Claude Code spawns one `mmagent` process per session. When the Claude Code session ends (compaction, `/clear`, exit), the process dies; the next tool call has to start a fresh one.
144
-
145
- To survive Claude Code lifecycle events, run `mmagent` as a long-running HTTP daemon. Multiple Claude Code sessions can connect to the same daemon (each pointing at its own project directory), and a client reconnect reuses the project's in-memory stores.
146
-
147
- ### Start the daemon
148
-
149
- Foreground (quickest way to try):
150
-
151
- ```bash
152
- mmagent serve --http
153
- # → http://127.0.0.1:7312
154
- ```
155
-
156
- Background (macOS launchd / Linux systemd): see `scripts/README.md`.
157
-
158
- ### Point Claude Code at the daemon
159
-
160
- In each project's `.mcp.json`:
161
-
162
- ```jsonc
163
- {
164
- "mcpServers": {
165
- "multi-model-agent": {
166
- "url": "http://127.0.0.1:7312/?cwd=/absolute/path/to/project"
167
- }
168
- }
169
- }
170
- ```
171
-
172
- Two projects = two `.mcp.json` files, each with a different `?cwd=`.
173
-
174
- ### Auth (optional)
175
-
176
- For shared development machines:
177
-
178
- ```jsonc
179
- // ~/.multi-model/config.json
180
- {
181
- "transport": {
182
- "mode": "http",
183
- "http": { "auth": { "enabled": true } }
184
- }
185
- }
186
- ```
187
-
188
- On startup, `mmagent` generates a random token at `~/.multi-model/runtime/token` (mode 600). Paste it into `.mcp.json`:
189
-
190
- ```jsonc
191
- {
192
- "url": "http://127.0.0.1:7312/?cwd=...",
193
- "headers": { "Authorization": "Bearer <token-from-that-file>" }
194
- }
195
- ```
196
-
197
- ### Check daemon status
198
-
199
- ```bash
200
- mmagent status
201
- # mmagent 2.8.0 · pid 6821 · uptime 3h 24m · http://127.0.0.1:7312
202
- # Projects (2):
203
- # /Users/me/project-X 1 sess 7 batches last seen 8s ago
204
- # /Users/me/project-Y 1 sess 2 batches last seen 4m ago
205
- ```
206
-
207
- ### Upgrades
208
-
209
- `npm i -g @zhixuan92/multi-model-agent-mcp@latest` writes the new binary but does not restart the running daemon. Restart manually:
210
-
211
- - **launchd**: `launchctl kickstart -k gui/$(id -u)/com.zhixuan92.mmagent`
212
- - **systemd**: `systemctl --user restart mmagent`
213
- - **foreground**: `Ctrl-C` and run `mmagent serve --http` again.
17
+ See the [3.0.0 CHANGELOG](https://github.com/zhixuan312/multi-model-agent/blob/master/CHANGELOG.md#300) for details.
214
18
 
215
- ## License
19
+ ## About this version (2.8.1)
216
20
 
217
- [MIT](./LICENSE) Copyright (c) 2026 Zhang Zhixuan
21
+ `2.8.1` ships a 10-line stub that prints a migration notice and exits with code 1. It does not function as an MCP server. Installing or invoking `mmagent` / `multi-model-agent` from this package will redirect users to the new package.