specrails-desktop 2.43.2 → 2.44.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 (92) hide show
  1. package/README.md +1 -1
  2. package/client/dist/assets/{ActivityFeedPage-C7XJ5-bJ.js → ActivityFeedPage-CL1BUXoj.js} +1 -1
  3. package/client/dist/assets/{AgentBrowserCapture-C_WpXceT.js → AgentBrowserCapture-BQem50z4.js} +1 -1
  4. package/client/dist/assets/{AgentModeAnalyticsPane-PEZKjyZS.js → AgentModeAnalyticsPane-BC_xbT_l.js} +2 -2
  5. package/client/dist/assets/{AgentModeCodePane-D_Xcq5t5.js → AgentModeCodePane-DK-q3K6Y.js} +2 -2
  6. package/client/dist/assets/{AgentModeJobsPane-CDSkOuNP.js → AgentModeJobsPane-C7ELTPC1.js} +1 -1
  7. package/client/dist/assets/{AgentsPage-D577NzIM.js → AgentsPage-DbLezyI6.js} +1 -1
  8. package/client/dist/assets/{AnalyticsPage-C6ZZI_zg.js → AnalyticsPage-DTsg-N5z.js} +1 -1
  9. package/client/dist/assets/{CodePage-B5z5oLnP.js → CodePage-DwgbeqQ_.js} +1 -1
  10. package/client/dist/assets/{DesktopAnalyticsPage-D_V9RuGg.js → DesktopAnalyticsPage-Y0Z1ryQr.js} +1 -1
  11. package/client/dist/assets/{DocsDialog-Beg82MEe.js → DocsDialog-KeCOxvGH.js} +1 -1
  12. package/client/dist/assets/{DocsPage-BkE4m4wp.js → DocsPage-Bt1PgYPO.js} +1 -1
  13. package/client/dist/assets/{ExportDropdown-ophapHrT.js → ExportDropdown-DczgU4at.js} +1 -1
  14. package/client/dist/assets/InteractiveJobComposer-BcR6xlHU.js +19 -0
  15. package/client/dist/assets/{JobDetailModal-BCxue_Do.js → JobDetailModal-DKA_DUHe.js} +1 -1
  16. package/client/dist/assets/{JobDetailPage-_rIDpNfo.js → JobDetailPage-vaOcE-cI.js} +1 -1
  17. package/client/dist/assets/{JobsPage-C6xcijbs.js → JobsPage-Bwoe-Fb0.js} +1 -1
  18. package/client/dist/assets/{LoopBuilderPage-A-Mt6EjT.js → LoopBuilderPage-CqC4hbXb.js} +1 -1
  19. package/client/dist/assets/{LoopPreviewModal-DqHiG4Dt.js → LoopPreviewModal-T0zuFv6y.js} +1 -1
  20. package/client/dist/assets/{LoopsPage-B-ketPET.js → LoopsPage-DrQGcZv2.js} +1 -1
  21. package/client/dist/assets/{MinimizedChatsContext-Deg39peL.js → MinimizedChatsContext-C843Y13h.js} +1 -1
  22. package/client/dist/assets/{PluginsPage-Dn2jPvJL.js → PluginsPage-CTUHX_Lu.js} +1 -1
  23. package/client/dist/assets/{ProjectSettingsDialog-CVTj4VLt.js → ProjectSettingsDialog-DeL8md1s.js} +1 -1
  24. package/client/dist/assets/{RepositoryDeliveries-IiQCcndQ.js → RepositoryDeliveries-bgIHE8ep.js} +1 -1
  25. package/client/dist/assets/{RepositoryScopeSelector-D-RCaknl.js → RepositoryScopeSelector-CZ_U_R3U.js} +1 -1
  26. package/client/dist/assets/{ReviewPacketPage-BBd617OM.js → ReviewPacketPage-DbKO6pT8.js} +1 -1
  27. package/client/dist/assets/{TemplatePreviewModal-COHFkUS4.js → TemplatePreviewModal-_CgCCV7L.js} +1 -1
  28. package/client/dist/assets/{TicketDetailModalContext-BNa1mdXq.js → TicketDetailModalContext-BbRA6cb7.js} +1 -1
  29. package/client/dist/assets/{Trans-SnMX4MhW.js → Trans-mjFZpHw1.js} +1 -1
  30. package/client/dist/assets/{formatDistanceToNow-DSj5DprF.js → formatDistanceToNow-BIL-HxGy.js} +1 -1
  31. package/client/dist/assets/{getTimezoneOffsetInMilliseconds-YhD8rIEs.js → getTimezoneOffsetInMilliseconds-Cs9z2sdO.js} +1 -1
  32. package/client/dist/assets/{index-D5n_jg_I.css → index-Bfj8HvX1.css} +1 -1
  33. package/client/dist/assets/{index-m5pKr1T6.js → index-UnaJTMIy.js} +6 -6
  34. package/client/dist/assets/{jira-api-CSCqGr-Q.js → jira-api-B2BBZQTx.js} +1 -1
  35. package/client/dist/assets/{jobs-BS6RTurf.js → jobs-5PQJbdOf.js} +1 -1
  36. package/client/dist/assets/{jobs-CezU69AE.js → jobs-B2B08Oy9.js} +1 -1
  37. package/client/dist/assets/{jobs-ClFJae0s.js → jobs-BJZtBbwb.js} +1 -1
  38. package/client/dist/assets/{jobs-BTT0Bsks.js → jobs-BlWEsQb7.js} +1 -1
  39. package/client/dist/assets/{jobs-DJSFIFVy.js → jobs-ConfD8xD.js} +1 -1
  40. package/client/dist/assets/jobs-DMPU64ms.js +1 -0
  41. package/client/dist/assets/{jobs-DhgGr8vm.js → jobs-DojASiTp.js} +1 -1
  42. package/client/dist/assets/{jobs-B8rrzfyZ.js → jobs-kVHkNpB-.js} +1 -1
  43. package/client/dist/assets/{project-repositories-DYhTvwQ1.js → project-repositories-xSqimlaj.js} +1 -1
  44. package/client/dist/assets/settings-2Yx_9yJM.js +1 -0
  45. package/client/dist/assets/settings-BLOsrXEw.js +1 -0
  46. package/client/dist/assets/settings-C6s9PtRD.js +1 -0
  47. package/client/dist/assets/settings-CCNZN5Q-.js +1 -0
  48. package/client/dist/assets/{settings-Deupji9c.js → settings-CpKwTew1.js} +1 -1
  49. package/client/dist/assets/settings-DPjNiUsS.js +1 -0
  50. package/client/dist/assets/settings-FIqwhTup.js +1 -0
  51. package/client/dist/assets/{settings-CrMi3kSi.js → settings-NSWQjY5B.js} +1 -1
  52. package/client/dist/assets/{spending-BqbdPm_4.js → spending-DXOcv1tn.js} +1 -1
  53. package/client/dist/assets/{useDesktop-RSMTyy7V.js → useDesktop-gVGoWWiY.js} +1 -1
  54. package/client/dist/assets/{useSharedWebSocket-BOdS5_Iz.js → useSharedWebSocket-DbGL_YOt.js} +2 -2
  55. package/client/dist/index.html +16 -16
  56. package/docs/README.md +6 -1
  57. package/docs/agents/README.md +13 -0
  58. package/docs/agents/mcp.md +103 -0
  59. package/docs/guide/de/integrations/5-mcp-server.md +2 -0
  60. package/docs/guide/de/settings/3-pipeline-telemetry-and-diagnostics.md +1 -1
  61. package/docs/guide/en/integrations/5-mcp-server.md +3 -30
  62. package/docs/guide/en/pipeline/3-batch-implement-and-multi-feature.md +29 -0
  63. package/docs/guide/en/settings/3-pipeline-telemetry-and-diagnostics.md +10 -1
  64. package/docs/guide/es/integrations/5-mcp-server.md +3 -30
  65. package/docs/guide/es/pipeline/3-batch-implement-and-multi-feature.md +30 -0
  66. package/docs/guide/es/settings/3-pipeline-telemetry-and-diagnostics.md +11 -1
  67. package/docs/guide/fr/integrations/5-mcp-server.md +2 -0
  68. package/docs/guide/fr/settings/3-pipeline-telemetry-and-diagnostics.md +1 -1
  69. package/docs/guide/it/integrations/5-mcp-server.md +2 -0
  70. package/docs/guide/it/settings/3-pipeline-telemetry-and-diagnostics.md +1 -1
  71. package/docs/guide/ja/integrations/5-mcp-server.md +2 -0
  72. package/docs/guide/ja/settings/3-pipeline-telemetry-and-diagnostics.md +1 -1
  73. package/docs/guide/pt/integrations/5-mcp-server.md +2 -0
  74. package/docs/guide/pt/settings/3-pipeline-telemetry-and-diagnostics.md +1 -1
  75. package/docs/guide/zh/integrations/5-mcp-server.md +2 -0
  76. package/docs/guide/zh/settings/3-pipeline-telemetry-and-diagnostics.md +1 -1
  77. package/docs/mcp.md +18 -48
  78. package/package.json +1 -1
  79. package/server/dist/core-completion.js +58 -0
  80. package/server/dist/core-execution.js +2 -1
  81. package/server/dist/db.js +1 -1
  82. package/server/dist/loop-executors.js +15 -2
  83. package/server/dist/loop-graph.js +2 -1
  84. package/server/dist/loop-run-manager.js +18 -1
  85. package/client/dist/assets/InteractiveJobComposer-wBBBNaJn.js +0 -19
  86. package/client/dist/assets/jobs-DzMjUcaN.js +0 -1
  87. package/client/dist/assets/settings-BBt2xtDQ.js +0 -1
  88. package/client/dist/assets/settings-BJB9RKJj.js +0 -1
  89. package/client/dist/assets/settings-CHwQR2rB.js +0 -1
  90. package/client/dist/assets/settings-DKyhDGD1.js +0 -1
  91. package/client/dist/assets/settings-DqRMmwAM.js +0 -1
  92. package/client/dist/assets/settings-J4rj6vo-.js +0 -1
@@ -204,7 +204,7 @@
204
204
  .specrails-splash__mark .pill { opacity: 1; }
205
205
  }
206
206
  </style>
207
- <script type="module" crossorigin src="/assets/index-m5pKr1T6.js"></script>
207
+ <script type="module" crossorigin src="/assets/index-UnaJTMIy.js"></script>
208
208
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-CNC7AqOf.js">
209
209
  <link rel="modulepreload" crossorigin href="/assets/jsx-runtime-zu2_FqZY.js">
210
210
  <link rel="modulepreload" crossorigin href="/assets/react-dom-DiWzBDP9.js">
@@ -228,26 +228,26 @@
228
228
  <link rel="modulepreload" crossorigin href="/assets/explore-DgBACn39.js">
229
229
  <link rel="modulepreload" crossorigin href="/assets/integrations-mB-7zoyT.js">
230
230
  <link rel="modulepreload" crossorigin href="/assets/jira-CKJg3HZd.js">
231
- <link rel="modulepreload" crossorigin href="/assets/jobs-DzMjUcaN.js">
231
+ <link rel="modulepreload" crossorigin href="/assets/jobs-DMPU64ms.js">
232
232
  <link rel="modulepreload" crossorigin href="/assets/loops-B7YpGizO.js">
233
233
  <link rel="modulepreload" crossorigin href="/assets/mcp-CUAN6ORK.js">
234
234
  <link rel="modulepreload" crossorigin href="/assets/narration-B-ynWTpn.js">
235
235
  <link rel="modulepreload" crossorigin href="/assets/nav-Ch-zHBG5.js">
236
236
  <link rel="modulepreload" crossorigin href="/assets/packet-Cx-zRuWn.js">
237
- <link rel="modulepreload" crossorigin href="/assets/settings-BJB9RKJj.js">
237
+ <link rel="modulepreload" crossorigin href="/assets/settings-CCNZN5Q-.js">
238
238
  <link rel="modulepreload" crossorigin href="/assets/setup-Ba11l2JA.js">
239
239
  <link rel="modulepreload" crossorigin href="/assets/specs-DII0C8gw.js">
240
240
  <link rel="modulepreload" crossorigin href="/assets/terminal-BAzpHtpY.js">
241
241
  <link rel="modulepreload" crossorigin href="/assets/tickets-W6pBmbrX.js">
242
242
  <link rel="modulepreload" crossorigin href="/assets/createLucideIcon-Bjbbp_KS.js">
243
- <link rel="modulepreload" crossorigin href="/assets/useSharedWebSocket-BOdS5_Iz.js">
244
- <link rel="modulepreload" crossorigin href="/assets/Trans-SnMX4MhW.js">
245
- <link rel="modulepreload" crossorigin href="/assets/useDesktop-RSMTyy7V.js">
243
+ <link rel="modulepreload" crossorigin href="/assets/useSharedWebSocket-DbGL_YOt.js">
244
+ <link rel="modulepreload" crossorigin href="/assets/Trans-mjFZpHw1.js">
245
+ <link rel="modulepreload" crossorigin href="/assets/useDesktop-gVGoWWiY.js">
246
246
  <link rel="modulepreload" crossorigin href="/assets/save-B6wGWwBR.js">
247
- <link rel="modulepreload" crossorigin href="/assets/spending-BqbdPm_4.js">
247
+ <link rel="modulepreload" crossorigin href="/assets/spending-DXOcv1tn.js">
248
248
  <link rel="modulepreload" crossorigin href="/assets/sparkles-DrY8hb0X.js">
249
249
  <link rel="modulepreload" crossorigin href="/assets/x-CBMI9ejn.js">
250
- <link rel="modulepreload" crossorigin href="/assets/MinimizedChatsContext-Deg39peL.js">
250
+ <link rel="modulepreload" crossorigin href="/assets/MinimizedChatsContext-C843Y13h.js">
251
251
  <link rel="modulepreload" crossorigin href="/assets/file-text-BcLCfcWZ.js">
252
252
  <link rel="modulepreload" crossorigin href="/assets/circle-x-CMYsN4ZH.js">
253
253
  <link rel="modulepreload" crossorigin href="/assets/download-CFHyyHcw.js">
@@ -259,23 +259,23 @@
259
259
  <link rel="modulepreload" crossorigin href="/assets/search-Cq_gE3Ik.js">
260
260
  <link rel="modulepreload" crossorigin href="/assets/trash-2-BOU3WdZZ.js">
261
261
  <link rel="modulepreload" crossorigin href="/assets/triangle-alert-H9T4jAmh.js">
262
- <link rel="modulepreload" crossorigin href="/assets/jira-api-CSCqGr-Q.js">
262
+ <link rel="modulepreload" crossorigin href="/assets/jira-api-B2BBZQTx.js">
263
263
  <link rel="modulepreload" crossorigin href="/assets/zap-CHo3aCD1.js">
264
264
  <link rel="modulepreload" crossorigin href="/assets/clsx-CjueKrWZ.js">
265
265
  <link rel="modulepreload" crossorigin href="/assets/utils-BC4DHlz2.js">
266
266
  <link rel="modulepreload" crossorigin href="/assets/dialog-xXB2q5HJ.js">
267
267
  <link rel="modulepreload" crossorigin href="/assets/lib-CGdyxIWg.js">
268
- <link rel="modulepreload" crossorigin href="/assets/getTimezoneOffsetInMilliseconds-YhD8rIEs.js">
269
- <link rel="modulepreload" crossorigin href="/assets/formatDistanceToNow-DSj5DprF.js">
268
+ <link rel="modulepreload" crossorigin href="/assets/getTimezoneOffsetInMilliseconds-Cs9z2sdO.js">
269
+ <link rel="modulepreload" crossorigin href="/assets/formatDistanceToNow-BIL-HxGy.js">
270
270
  <link rel="modulepreload" crossorigin href="/assets/button-Ccc9Dc-D.js">
271
- <link rel="modulepreload" crossorigin href="/assets/project-repositories-DYhTvwQ1.js">
272
- <link rel="modulepreload" crossorigin href="/assets/RepositoryScopeSelector-D-RCaknl.js">
271
+ <link rel="modulepreload" crossorigin href="/assets/project-repositories-xSqimlaj.js">
272
+ <link rel="modulepreload" crossorigin href="/assets/RepositoryScopeSelector-CZ_U_R3U.js">
273
273
  <link rel="modulepreload" crossorigin href="/assets/provider-capabilities-B-wOHfLP.js">
274
- <link rel="modulepreload" crossorigin href="/assets/TicketDetailModalContext-BNa1mdXq.js">
274
+ <link rel="modulepreload" crossorigin href="/assets/TicketDetailModalContext-BbRA6cb7.js">
275
275
  <link rel="modulepreload" crossorigin href="/assets/core-B3mKBIh5.js">
276
- <link rel="modulepreload" crossorigin href="/assets/RepositoryDeliveries-IiQCcndQ.js">
276
+ <link rel="modulepreload" crossorigin href="/assets/RepositoryDeliveries-bgIHE8ep.js">
277
277
  <link rel="modulepreload" crossorigin href="/assets/event-Bt7f3wXe.js">
278
- <link rel="stylesheet" crossorigin href="/assets/index-D5n_jg_I.css">
278
+ <link rel="stylesheet" crossorigin href="/assets/index-Bfj8HvX1.css">
279
279
  </head>
280
280
  <body>
281
281
  <div id="specrails-splash" aria-hidden="false" role="status" aria-label="Loading Specrails">
package/docs/README.md CHANGED
@@ -8,6 +8,10 @@ project and choose which engine runs each task.
8
8
 
9
9
  If you're contributing to the app itself or building on its API, head over to [`internals/`](internals/) for the technical deep dive.
10
10
 
11
+ ## Exclusively for agents
12
+
13
+ When asked to connect to Specrails MCP, read [the agent runbook](agents/mcp.md). It covers Claude, Codex, Kimi and Gemini, preserves existing servers and requires a real read-only verification.
14
+
11
15
  ## Start here
12
16
 
13
17
  1. [Getting started](getting-started.md) — install the app, register your first project, run your first pipeline. ~10 minutes.
@@ -27,7 +31,7 @@ If you're contributing to the app itself or building on its API, head over to [`
27
31
  | [Tracking cost](tracking-cost.md) | …you want to see what AI is costing you and which specs are the most expensive |
28
32
  | [Customising the app](customizing.md) | …you want to change theme, configure settings, set a budget, or turn on telemetry |
29
33
  | [Terminal panel](terminal.md) | …you want to use the built-in terminal: shortcuts, shell integration, drag-and-drop |
30
- | [MCP server](mcp.md) | …you want to drive the app from an MCP client (Claude Desktop, Cursor, your own agent) |
34
+ | [MCP server](mcp.md) | …you want to drive the app from an MCP client (Codex, Claude Desktop, Cursor, your own agent) |
31
35
  | [CLI reference](cli.md) | …you want to drive specrails-desktop from the terminal instead of (or alongside) the dashboard |
32
36
 
33
37
  ## Platform-specific notes
@@ -51,6 +55,7 @@ If you're contributing to the app itself or building on its API, head over to [`
51
55
  - **"How much did I spend last week?"** → [Tracking cost](tracking-cost.md)
52
56
  - **"How do I change the theme?"** → [Customising the app › Themes](customizing.md#themes)
53
57
  - **"How do I set a daily budget?"** → [Customising the app › Budget](customizing.md#budget)
58
+ - **"How do I connect Codex CLI or the desktop app?"** → [Codex MCP setup and verification](agents/mcp.md)
54
59
  - **"How do I connect an MCP client (Claude Desktop / Cursor)?"** → [MCP server](mcp.md#connecting-a-client)
55
60
 
56
61
  ## Internals
@@ -0,0 +1,13 @@
1
+ # Documentation exclusively for agents
2
+
3
+ When a person says “connect to the Specrails MCP”, use the [connection runbook](mcp.md). These instructions cover Claude Code, Codex CLI/desktop, Kimi Code and Gemini CLI. They require local discovery, a configuration-preserving registration and a real read-only verification.
4
+
5
+ ## Maintaining the public copy
6
+
7
+ The canonical connection runbook is `docs/agents/mcp.md` in Specrails Desktop. Specrails Web keeps a reviewed copy in `src/content/for-agents/`. Its `docs:sync` command generates `/llms.txt`, `/for-agents/index.html` and the static Markdown runbook. These resources are usable without executing the documentation SPA.
8
+
9
+ Desktop's `docs/guide/` and Web's `src/content/guide/` are separate article trees. Do not overwrite the Web guide with Desktop's tree: the Web guide has its own revision markers and current product structure. Update their MCP article links deliberately. Other Desktop languages point to the current English runbook.
10
+
11
+ To import this runbook in a Web checkout, run `npm run docs:sync -- --desktop-source` followed by the quoted path to this Desktop checkout. To compare without writing, use `npm run docs:check -- --desktop-source` followed by that same path. Normal Web builds use their committed copy and do not need Desktop checked out.
12
+
13
+ Review paired PRs together. Merging Desktop alone does not update specrails.dev. Web's release workflow builds and uploads `dist/` to Hostinger on a release or manual dispatch; importing, building and opening PRs do not deploy the site. After an authorized deployment, verify that the Markdown URLs return text, not the SPA shell.
@@ -0,0 +1,103 @@
1
+ # For agents only: connect to Specrails MCP
2
+
3
+ Use this runbook when a person asks Claude, Codex, Kimi or Gemini to connect to Specrails. Complete discovery, registration and a read-only verification for the requested client. Do not configure all four clients unless asked. If the tools are already loaded, test the existing connection before changing anything.
4
+
5
+ This is an external agent connecting to Specrails Desktop. It is separate from choosing an AI provider inside Specrails. Connection authorization does not authorize starting missions, creating specs or changing permission tiers. If local files or the client configuration are inaccessible, complete the available checks and report the exact remaining step.
6
+
7
+ ## Discover the local bridge
8
+
9
+ Keep **Specrails Desktop running on the same machine** and enable MCP in **Settings ▸ MCP**. Use the stdio bridge bundled with Desktop: it reads `~/.specrails/mcp.token` locally. Do not paste tokens into prompts, logs or configuration. This setup does not require the separate legacy `specrails-mcp` npm package or its hub.
10
+
11
+ 1. Inspect the requested client's existing `specrails` entry locally (for Codex, `codex mcp get specrails`). If it already points to the installed bridge, keep it. Preserve every other server and setting; never replace the whole Codex configuration. Do not share configuration output containing credentials.
12
+ 2. Open **Settings ▸ MCP ▸ Copy client config** in Specrails. Use its `command` and each `args` element separately. Some versions only copy `command: "specrails-mcp"`; that is usable only if the executable actually resolves in the client's PATH. It is not a guarantee that Desktop installed a global command.
13
+ 3. If the command does not resolve, locate the installed app's `binaries/specrails-mcp.js` and bundled Node executable. Verify that both files exist before registering them. In Codex, `command` is the Node executable and `args` contains the bridge script path; do not put a whole shell command into `command`.
14
+
15
+ | Platform | How to locate the installed bridge |
16
+ |---|---|
17
+ | macOS | Inspect the installed `Specrails.app` bundle. Resources are under `Contents/Resources`; the example below applies only to `/Applications/Specrails.app`. Apps installed elsewhere need their actual paths. |
18
+ | Windows | Inspect the installed app's resources for `binaries/specrails-mcp.js` and its bundled `node.exe`. Installation directories vary; preserve each complete path as one argument and use PowerShell quoting or TOML literal strings for backslashes. |
19
+ | Linux | Inspect the installation's resource directory (or mounted/extracted AppImage) for `binaries/specrails-mcp.js` and bundled Node. Avoid a temporary AppImage mount path that disappears after exit. If unavailable, report the missing files instead of guessing a global executable. |
20
+
21
+ Within the verified resource root, look for `binaries/specrails-mcp.js` and `runtimes/node/bin/node` (macOS/Linux) or `runtimes/node/node.exe` (Windows). Search only the identified installation if its layout differs. These are resource-relative candidates, not universal install locations. If you have no local filesystem access, ask for the installed paths or client configuration without credentials.
22
+
23
+ For **macOS with this exact installation**, this Codex-only example first checks the files and then registers the bridge. For another client, use its registration below. Run the registration only if the existing entry is absent or you intend to update that entry:
24
+
25
+ ```bash
26
+ test -x /Applications/Specrails.app/Contents/Resources/runtimes/node/bin/node &&
27
+ test -f /Applications/Specrails.app/Contents/Resources/binaries/specrails-mcp.js &&
28
+ codex mcp add specrails -- \
29
+ /Applications/Specrails.app/Contents/Resources/runtimes/node/bin/node \
30
+ /Applications/Specrails.app/Contents/Resources/binaries/specrails-mcp.js
31
+ ```
32
+
33
+ For other installations, construct the invocation from the verified paths: `codex mcp add`, the name `specrails`, `--`, the quoted executable path, then each quoted argument. If Codex CLI is not in PATH, locate the installed CLI or use the client's MCP configuration UI; do not assume a universal CLI installation path. Codex uses TOML (`[mcp_servers.specrails]` with `command` and `args`), so do not paste the panel's `mcpServers` JSON directly into `config.toml`.
34
+
35
+ Codex's default user configuration is `~/.codex/config.toml`; project configuration can also apply in trusted projects. CLI and desktop clients using the same local configuration can reuse the entry. Check that they use the same host and configuration home; a cloud task cannot launch your local bridge. See the [official OpenAI MCP documentation](https://developers.openai.com/codex/mcp).
36
+
37
+ ## Register only the requested client
38
+
39
+ Check the installed client's version and help before editing. Prefer user scope for this machine-local app unless the user requested project scope. Preserve other servers, unrelated fields, existing permissions and file permissions. Inspect the effective entry first; if `specrails` already has a different purpose, resolve the name collision instead of replacing it. With JSON, parse and merge only `mcpServers.specrails`; invalid JSON is a diagnostic, never a reason to reset a file. Review the change locally without exposing secrets.
40
+
41
+ | Client | Registration and effective configuration | Check |
42
+ |---|---|---|
43
+ | Claude Code | `claude mcp add --scope user --transport stdio specrails --` followed by the verified executable and arguments. User and local entries live in `~/.claude.json`; project entries use `.mcp.json`. The default CLI scope is local, so select scope explicitly. | `claude mcp get specrails`; `/mcp` in the client. Project approvals can block loading. |
44
+ | Codex CLI / desktop | `codex mcp add specrails --` followed by the verified executable and arguments. TOML user configuration, normally `~/.codex/config.toml`, is shared by local Codex clients using that home. | `codex mcp get specrails`; inspect the actual conversation tool catalog. |
45
+ | Gemini CLI | `gemini mcp add --scope user --transport stdio specrails` followed by the verified executable and arguments. Uses `mcpServers` in `~/.gemini/settings.json`; project scope uses `.gemini/settings.json` and is the CLI default. | `gemini mcp list`; `/mcp` in the client. Check allowed/excluded servers and tools. Do not add `--trust` merely to connect. |
46
+ | Kimi Code | Merge the stdio entry into `~/.kimi-code/mcp.json` (or the configured `KIMI_CODE_HOME`), or project `.kimi-code/mcp.json`. Project entries override user entries. Kimi Code 0.27.0 does **not** expose `kimi mcp add`; do not confuse it with the older Python Kimi CLI. | `/mcp` shows connection status; `/mcp-config` edits entries interactively. A newly added file entry requires a new session. |
47
+
48
+ The following commands are **alternatives**, not a script to install all clients. These macOS examples require the same two file checks shown above and no conflicting existing entry:
49
+
50
+ ```bash
51
+ # Claude Code only
52
+ claude mcp add --scope user --transport stdio specrails -- \
53
+ /Applications/Specrails.app/Contents/Resources/runtimes/node/bin/node \
54
+ /Applications/Specrails.app/Contents/Resources/binaries/specrails-mcp.js
55
+ ```
56
+
57
+ ```bash
58
+ # Gemini CLI only
59
+ gemini mcp add --scope user --transport stdio specrails \
60
+ /Applications/Specrails.app/Contents/Resources/runtimes/node/bin/node \
61
+ /Applications/Specrails.app/Contents/Resources/binaries/specrails-mcp.js
62
+ ```
63
+
64
+ For Kimi Code, merge this macOS example into the chosen `mcp.json`, retaining the existing root object and other servers. Use the verified paths for other installations:
65
+
66
+ ```json
67
+ {
68
+ "mcpServers": {
69
+ "specrails": {
70
+ "command": "/Applications/Specrails.app/Contents/Resources/runtimes/node/bin/node",
71
+ "args": ["/Applications/Specrails.app/Contents/Resources/binaries/specrails-mcp.js"]
72
+ }
73
+ }
74
+ }
75
+ ```
76
+
77
+ Claude Desktop is a separate client from Claude Code. If that is the requested host, merge this same `mcpServers` structure in its local MCP configuration through its settings; registering Claude Code alone is not proof that Claude Desktop is configured.
78
+
79
+ Sources: [Claude Code MCP](https://code.claude.com/docs/en/mcp), [Gemini CLI MCP](https://geminicli.com/docs/tools/mcp-server/), [Kimi Code MCP](https://moonshotai.github.io/kimi-code/en/customization/mcp). Command shapes were also checked against installed help for Claude Code 2.1.265, Gemini CLI 0.49.0 and Kimi Code 0.27.0. Client configuration and live connection are separate checks.
80
+
81
+ ## Verify all three stages
82
+
83
+ - **Registered:** the requested client's configuration check (for Codex, `codex mcp get specrails`) shows the expected stdio command and arguments. This only proves configuration was saved.
84
+ - **Connected:** a real MCP session completes `initialize`, sends `notifications/initialized`, then receives `tools/list` without a protocol error. Inspect the returned catalog; tool counts vary by version and do not grant permission to every action.
85
+ - **Usable in this conversation:** ask the agent to call `specrails_projects` with `{"action":"list"}` and inspect the real result (including `isError`). This is read-only. Use returned project IDs for subsequent calls, and read `specrails_guide` before operating the app. A successful empty project list is still a successful connection.
86
+
87
+ If an agent has a protocol client but no loaded tools, it can perform the handshake and read-only call through the verified stdio bridge. Report that as bridge connectivity, separately from tool availability in the current conversation. Do not launch a rail or create a spec as a connection test.
88
+
89
+ ## Connection troubleshooting
90
+
91
+ | Symptom | Check |
92
+ |---|---|
93
+ | App not running / connection refused | Start Specrails and check Settings ▸ MCP is enabled. Closing its window may leave it in the tray; quitting the app stops the server. |
94
+ | Command not found / missing script | Verify the actual executable and script paths. Recheck after moving or updating the app. The generic panel command may not be installed in PATH. |
95
+ | Registered, but no tools in this conversation | Check the desktop client's MCP status and effective config, including disabled servers/tools and project overrides. A saved entry does not retroactively prove a conversation loaded it. Verify in a new local session if needed; do not assume a reload command or promise an existing task will refresh automatically. |
96
+ | Transport error | Launch the bridge as stdio; do not pass an HTTP URL as its executable. Direct HTTP clients use streamable HTTP at the panel's `/api/mcp` URL, not SSE-only transport. |
97
+ | Wrong port | The bridge defaults to `4200`; it reads `SPECRAILS_MCP_PORT`, then `SPECRAILS_PORT`. For a custom app port, set `SPECRAILS_MCP_PORT` in the server's environment to the actual port. It does not discover arbitrary ports automatically. |
98
+ | Missing token / 401 | Run the bridge as the same OS user as Specrails and check local token-file access without printing its contents. If using `SPECRAILS_REGISTRY_HOME`, it must point to the same registry home as the app. Reconnect after token rotation. Never copy the master `desktop.token`. |
99
+ | Permission-tier error | Connectivity succeeded, but the requested action is restricted. Project listing needs only Read; enable other tiers only for the intended work. |
100
+
101
+ ## Report the result
102
+
103
+ State the client and scope, whether the existing entry was reused or changed, whether `initialize` and `tools/list` succeeded, and whether the current conversation actually called `specrails_projects` successfully. Distinguish an empty list from a failed call. Report unavailable stages explicitly and give the next concrete step; do not claim success from registration alone. Never include tokens or full private configuration in the report.
@@ -1,5 +1,7 @@
1
1
  # Specrails von jeder KI aus steuern (MCP-Server)
2
2
 
3
+ > **For agents (English):** use the [current connection runbook](../../../agents/mcp.md) for Claude, Codex, Kimi and Gemini. It includes verified bridge discovery, registration and read-only checks.
4
+
3
5
  Specrails kann **sich selbst** für jeden KI-Assistenten bereitstellen, der das [Model Context Protocol](https://modelcontextprotocol.io) spricht — Claude Desktop, Claude Code, Cursor, Cline oder deinen eigenen Agenten. Schalte es ein, richte deinen Assistenten auf Specrails aus, und schon kannst du die ganze App per Chat steuern: *„Liste meine Projekte auf", „Erstelle eine Spec für Social-Login im API-Projekt", „Starte Rail 0 und sag mir, wenn es fertig ist", „Wie viel habe ich diese Woche ausgegeben?"*. Dein Assistent ruft im Hintergrund die Tools von Specrails auf, statt dass du dich durchklickst.
4
6
 
5
7
  Das ist die umgekehrte Richtung zu den Plugins und dem Feature „Meine freigegebenen MCPs": Diese lassen Specrails andere MCP-Server *nutzen*; dieses hier lässt andere Apps **Specrails** nutzen.
@@ -1,6 +1,6 @@
1
1
  # Pipeline-Telemetrie & Diagnose
2
2
 
3
- Wenn ein Pipeline-Job nicht so läuft, wie du es erwartet hast, liefert dir die Telemetrie eine detaillierte Aufzeichnung dessen, was die AI-CLI hinter den Kulissen tatsächlich getan hat. Sie ist **standardmäßig aus** und vollständig optional, pro Projekt – aktiviere sie nur dann, wenn du sie wirklich willst.
3
+ Die Telemetrie zeichnet Pipeline-Diagnosen lokal auf. Sie ist für Projekte ohne gespeicherte Einstellung **standardmäßig aktiviert**. Du kannst sie pro Projekt deaktivieren; ausdrücklich gespeicherte Einstellungen bleiben erhalten.
4
4
 
5
5
  ## Was es ist
6
6
 
@@ -19,38 +19,11 @@ You stay in control of *what* an external AI may do through a set of permission
19
19
 
20
20
  All four tiers are granted out of the box, so a connected assistant can drive the whole app right away. Untick any tier you'd rather keep to yourself; if your assistant then tries something that tier covers, Specrails refuses with a clear message telling you which tier to switch back on.
21
21
 
22
- ## Connecting your assistant
22
+ ## For agents only: connect your client
23
23
 
24
- The panel shows a ready-to-paste configuration block. The simplest, universal path is the bundled **bridge** (`specrails-mcp`): your assistant runs it, and it relays to Specrails for you. The bridge reads the access token locally, so **the token never appears in your assistant's config**.
24
+ When a person asks an agent to connect, read the [dedicated MCP connection runbook](../../../agents/mcp.md). It covers Claude Code, Codex CLI and desktop, Kimi Code and Gemini CLI: locate the bundled bridge, preserve existing configuration, verify the real connection and diagnose failures. The web version is plain Markdown and needs no JavaScript.
25
25
 
26
- In a client like Claude Desktop or Cursor, the config looks like:
27
-
28
- ```json
29
- { "mcpServers": { "specrails": { "command": "specrails-mcp" } } }
30
- ```
31
-
32
- Clients that support remote HTTP MCP servers can instead point straight at `http://127.0.0.1:4200/api/mcp` with the token from the panel.
33
-
34
- ### From the terminal: Claude Code, Gemini CLI, Codex CLI
35
-
36
- Copy your token from **Settings ▸ MCP ▸ Copy token**, then:
37
-
38
- ```bash
39
- # Claude Code
40
- claude mcp add --transport http specrails http://localhost:4200/api/mcp \
41
- --header "X-Desktop-Token: <your token>"
42
-
43
- # Gemini CLI
44
- gemini mcp add --transport http specrails http://localhost:4200/api/mcp \
45
- --header "X-Desktop-Token: <your token>"
46
-
47
- # Codex CLI (stdio — register the bridge command shown in Settings ▸ MCP)
48
- codex mcp add specrails -- <bridge command from Settings ▸ MCP>
49
- ```
50
-
51
- The `Authorization: Bearer <token>` header works too. If you changed the app port, swap `4200` for yours.
52
-
53
- Once connected, your assistant sees **22 tools** covering the whole app — projects, specs, rails and jobs, chat/Explore, agents, plugins, Jira, loops, the code explorer, analytics, settings — including a built-in **guide** tool it reads first so it understands how Specrails works without you explaining anything.
26
+ Keep Specrails running and open **Settings ▸ MCP ▸ Copy client config**. Some versions return only `specrails-mcp`, which may not be on PATH; the runbook explains how to locate the actual executable and script. The bridge reads the token locally, so no token belongs in client configuration. Registration alone is not proof of connection: complete `initialize`, `tools/list`, and a read-only `specrails_projects` call with `{"action":"list"}`.
54
27
 
55
28
  Before acting, the assistant can use `specrails_context` for a current briefing on the project, specs, runs and Git state. Unavailable sections are reported explicitly; they do not mean the project is empty. `specrails_code(search)` finds source text, and `read_file` reads specific line ranges with continuation information when more content remains.
56
29
 
@@ -95,3 +95,32 @@ There's no global concurrency limit to tune. Open the projects or rails you need
95
95
  - [Rails & jobs](rails-and-jobs) — the queue model in depth.
96
96
  - [The Job Detail view](the-job-detail-view) — watch a batch run live.
97
97
  - [Picking an engine per rail](picking-an-engine-per-rail) — Batch runs on any provider; Freestyle is available on Claude and Kimi.
98
+
99
+
100
+ ## Read the implementation result
101
+
102
+ With a Core runtime that supports acceptance evidence, the completed run shows four
103
+ separate states: implementation, validation, archive and delivery. “Verified with
104
+ exceptions” means accepted requirement interpretations or failed/unavailable
105
+ supplementary checks remain visible. “Pending host delivery” means Core has not
106
+ performed the host's delivery work, even if the change has been archived.
107
+
108
+ Open **Evidence, exceptions and phase timings** to inspect decisions, approval
109
+ references, measurement scope and limitations, review findings and recorded phase
110
+ times. Required checks and unresolved requirements block acceptance. A passing Node
111
+ benchmark does not establish browser rendering performance. Material requirement
112
+ changes need existing user/host authorization; minor interpretations can be accepted
113
+ by the reviewer with a recorded reason and impact.
114
+
115
+ Execution success describes the process. If the current runtime reports incomplete
116
+ implementation or blocked/pending validation, Desktop settles the run as blocked
117
+ and does not complete its tickets. Older or unavailable runtimes show acceptance
118
+ evidence as unavailable; a successful process alone is not proof of acceptance.
119
+ The result is a snapshot captured at completion, not a revalidation of later edits.
120
+
121
+ The final counters distinguish executed steps, decider evaluations and agent turns.
122
+ A built-in Implement run can have one step, zero decider evaluations and many agent
123
+ turns. Core phase durations/attempts are shown when recorded; per-phase costs are
124
+ unavailable because provider usage is attributed to loop steps. Valid full test
125
+ receipts are reused until their inputs change; each phase does not need another
126
+ identical full-suite execution.
@@ -1,6 +1,6 @@
1
1
  # Pipeline telemetry & diagnostics
2
2
 
3
- When a pipeline job doesn't go the way you expected, telemetry gives you a detailed, behind-the-scenes record of what the AI CLI actually did. It's **off by default** and entirely opt-in, per project — turn it on only when you want it.
3
+ Telemetry records pipeline diagnostics locally. It is **on by default** for projects without a saved preference. You can turn it off per project; an explicitly saved choice is preserved.
4
4
 
5
5
  ## What it is
6
6
 
@@ -44,3 +44,12 @@ This is the bundle to grab when you want to understand a tricky run, keep a reco
44
44
  ## Turning it off
45
45
 
46
46
  Flip the toggle back off any time. New jobs stop recording immediately. Anything already captured stays on disk until it's compacted or you remove the project — nothing is sent anywhere or lost behind your back.
47
+
48
+
49
+ ## Completion evidence
50
+
51
+ Loop history stores a terminal result independently of optional provider telemetry.
52
+ It separates process execution from Core acceptance and delivery, and distinguishes
53
+ steps, decider evaluations and agent turns. Phase durations and attempts come from
54
+ Core's journal; no per-phase cost is inferred from the total. Older runtimes keep
55
+ acceptance evidence unavailable. See the implementation result in the batch guide.
@@ -19,38 +19,11 @@ Tú mantienes el control de *qué* puede hacer una IA externa mediante un conjun
19
19
 
20
20
  Los cuatro niveles vienen concedidos de serie, así que un asistente conectado puede manejar toda la app desde el primer momento. Desmarca cualquier nivel que prefieras reservarte; si después tu asistente intenta algo que cubre ese nivel, Specrails lo rechaza con un mensaje claro que te indica qué nivel volver a activar.
21
21
 
22
- ## Conectar tu asistente
22
+ ## Exclusivamente para agentes: conecta tu cliente
23
23
 
24
- El panel muestra un bloque de configuración listo para pegar. La vía más sencilla y universal es el **puente** (bridge) incluido (`specrails-mcp`): tu asistente lo ejecuta y este se encarga de retransmitir a Specrails por ti. El puente lee el token de acceso localmente, así que **el token nunca aparece en la configuración de tu asistente**.
24
+ Cuando una persona pida al agente conectarse, consulta el [procedimiento de conexión MCP para agentes](../../../agents/mcp.md). Cubre Claude Code, Codex CLI y escritorio, Kimi Code y Gemini CLI: localizar el puente incluido, conservar la configuración, verificar la conexión real y diagnosticar fallos. La versión web es Markdown y no necesita JavaScript.
25
25
 
26
- En un cliente como Claude Desktop o Cursor, la configuración tiene este aspecto:
27
-
28
- ```json
29
- { "mcpServers": { "specrails": { "command": "specrails-mcp" } } }
30
- ```
31
-
32
- Los clientes que admiten servidores MCP remotos por HTTP pueden, en su lugar, apuntar directamente a `http://127.0.0.1:4200/api/mcp` con el token del panel.
33
-
34
- ### Desde la terminal: Claude Code, Gemini CLI, Codex CLI
35
-
36
- Copia tu token desde **Ajustes ▸ MCP ▸ Copiar token** y después:
37
-
38
- ```bash
39
- # Claude Code
40
- claude mcp add --transport http specrails http://localhost:4200/api/mcp \
41
- --header "X-Desktop-Token: <tu token>"
42
-
43
- # Gemini CLI
44
- gemini mcp add --transport http specrails http://localhost:4200/api/mcp \
45
- --header "X-Desktop-Token: <tu token>"
46
-
47
- # Codex CLI (stdio — registra el comando del bridge que muestra Ajustes ▸ MCP)
48
- codex mcp add specrails -- <comando del bridge de Ajustes ▸ MCP>
49
- ```
50
-
51
- La cabecera `Authorization: Bearer <token>` también funciona. Si cambiaste el puerto de la app, sustituye `4200` por el tuyo.
52
-
53
- Una vez conectado, tu asistente ve **22 herramientas** que cubren toda la app — proyectos, specs, rails y trabajos, chat/Explore, agentes, plugins, Jira, loops, el explorador de código, analíticas, configuración — incluida una herramienta de **guía** incorporada que lee primero para entender cómo funciona Specrails sin que tú tengas que explicar nada.
26
+ Mantén Specrails en ejecución y abre **Ajustes ▸ MCP ▸ Copiar configuración de cliente**. Algunas versiones devuelven solo `specrails-mcp`, que puede no estar en PATH; el procedimiento explica cómo localizar ejecutable y script. El puente lee el token localmente: no lo copies en la configuración. Registrar no demuestra conexión: completa `initialize`, `tools/list` y una llamada de lectura a `specrails_projects` con `{"action":"list"}`.
54
27
 
55
28
  Antes de actuar, el asistente puede usar `specrails_context` para consultar el estado actual del proyecto, las specs, las ejecuciones y Git. Las secciones no disponibles se indican expresamente; no significan que el proyecto esté vacío. `specrails_code(search)` busca texto en el código y `read_file` lee rangos concretos de líneas, indicando cómo continuar cuando queda contenido.
56
29
 
@@ -82,3 +82,33 @@ No hay límite global de concurrencia que ajustar. Abre los proyectos o rails qu
82
82
  - [Rails y jobs](rails-and-jobs) — el modelo de cola en profundidad.
83
83
  - [La vista de detalle del job](the-job-detail-view) — mira un batch ejecutarse en vivo.
84
84
  - [Elegir un motor por rail](picking-an-engine-per-rail) — Batch corre en cualquier proveedor; Freestyle está disponible con Claude y Kimi.
85
+
86
+
87
+ ## Interpretar el resultado de Implement
88
+
89
+ Con un runtime de Core que admita evidencia de aceptación, el resultado muestra cuatro
90
+ estados separados: implementación, validación, archivo y entrega. «Verificada con
91
+ excepciones» conserva las interpretaciones aceptadas y los checks complementarios
92
+ fallidos o no disponibles. «Pendiente del host» indica que Core no ha realizado la
93
+ entrega que corresponde al host, aunque el cambio ya esté archivado.
94
+
95
+ Abre **Evidencia, excepciones y tiempos por fase** para consultar decisiones,
96
+ referencias de aprobación, alcance y limitaciones de las mediciones, conclusiones de
97
+ revisión y tiempos registrados. Los checks obligatorios fallidos y los requisitos
98
+ sin resolver bloquean la aceptación. Un benchmark de Node no demuestra el rendimiento
99
+ de renderizado del navegador. Los cambios materiales requieren autorización previa
100
+ del usuario o del host; el reviewer puede aceptar interpretaciones menores dejando
101
+ constancia de su motivo e impacto.
102
+
103
+ El éxito de ejecución describe el proceso. Si el runtime informa de implementación
104
+ incompleta o validación bloqueada/pendiente, Desktop cierra el run como bloqueado y
105
+ no completa sus tickets. Con runtimes antiguos o no disponibles, la evidencia aparece
106
+ como no disponible: el éxito del proceso por sí solo no prueba la aceptación.
107
+ El resultado se registra al terminar; no revalida modificaciones posteriores.
108
+
109
+ Los contadores distinguen pasos ejecutados, evaluaciones del decider y turnos del
110
+ agente. Un Implement integrado puede tener un paso, cero evaluaciones y muchos turnos.
111
+ Se muestran tiempos e intentos por fase de Core cuando están registrados; el coste por
112
+ fase no está disponible porque el consumo se atribuye a pasos del loop. Los receipts
113
+ completos se reutilizan mientras sus entradas sigan vigentes: cada fase no necesita
114
+ repetir la misma suite completa.
@@ -1,6 +1,6 @@
1
1
  # Telemetría del pipeline y diagnósticos
2
2
 
3
- Cuando un job del pipeline no sale como esperabas, la telemetría te ofrece un registro detallado, entre bambalinas, de lo que el CLI de IA hizo en realidad. Está **desactivada por defecto** y es totalmente opcional, por proyecto: actívala solo cuando la quieras.
3
+ La telemetría registra los diagnósticos del pipeline en local. Está **activada por defecto** en los proyectos sin una preferencia guardada. Puedes desactivarla por proyecto; se respeta cualquier elección guardada explícitamente.
4
4
 
5
5
  ## Qué es
6
6
 
@@ -44,3 +44,13 @@ Este es el paquete que conviene tener a mano cuando quieres entender una ejecuci
44
44
  ## Cómo desactivarla
45
45
 
46
46
  Vuelve a apagar el interruptor cuando quieras. Los nuevos jobs dejan de registrar de inmediato. Lo que ya se capturó se mantiene en disco hasta que se compacta o eliminas el proyecto: nada se envía a ninguna parte ni se pierde a tus espaldas.
47
+
48
+
49
+ ## Evidencia al finalizar
50
+
51
+ El historial del loop conserva el resultado final independientemente de la telemetría
52
+ opcional del proveedor. Separa ejecución, aceptación de Core y entrega, y distingue
53
+ pasos, evaluaciones del decider y turnos del agente. Los tiempos e intentos por fase
54
+ proceden del registro de Core; no se deduce un coste por fase a partir del total. Con
55
+ runtimes antiguos, la evidencia queda como no disponible. Consulta el resultado de
56
+ Implement en la guía de ejecución por lotes.
@@ -1,5 +1,7 @@
1
1
  # Piloter Specrails depuis n'importe quelle IA (serveur MCP)
2
2
 
3
+ > **For agents (English):** use the [current connection runbook](../../../agents/mcp.md) for Claude, Codex, Kimi and Gemini. It includes verified bridge discovery, registration and read-only checks.
4
+
3
5
  Specrails peut s'exposer **lui-même** à n'importe quel assistant IA qui parle le [Model Context Protocol](https://modelcontextprotocol.io) — Claude Desktop, Claude Code, Cursor, Cline, ou votre propre agent. Activez-le, pointez votre assistant vers Specrails, et vous pouvez piloter toute l'app en discutant : *« liste mes projets », « crée une spec pour la connexion sociale dans le projet API », « lance le rail 0 et préviens-moi quand c'est terminé », « combien ai-je dépensé cette semaine ? »*. Votre assistant appelle les outils de Specrails en coulisses, plutôt que de vous faire cliquer partout.
4
6
 
5
7
  C'est la direction inverse des fonctionnalités plugins et « Mes MCP approuvés » : celles-ci permettent à Specrails d'*utiliser* d'autres serveurs MCP ; ceci permet à d'autres apps d'utiliser **Specrails**.
@@ -1,6 +1,6 @@
1
1
  # Télémétrie & diagnostics du pipeline
2
2
 
3
- Quand un job de pipeline ne se déroule pas comme prévu, la télémétrie vous offre un compte rendu détaillé et en coulisses de ce que la CLI d'IA a réellement fait. Elle est **désactivée par défaut** et entièrement optionnelle, projet par projet — ne l'activez que lorsque vous en avez besoin.
3
+ La télémétrie enregistre les diagnostics du pipeline localement. Elle est **activée par défaut** pour les projets sans préférence enregistrée. Vous pouvez la désactiver par projet ; les choix explicitement enregistrés sont conservés.
4
4
 
5
5
  ## De quoi s'agit-il
6
6
 
@@ -1,5 +1,7 @@
1
1
  # Controlla Specrails da qualsiasi AI (server MCP)
2
2
 
3
+ > **For agents (English):** use the [current connection runbook](../../../agents/mcp.md) for Claude, Codex, Kimi and Gemini. It includes verified bridge discovery, registration and read-only checks.
4
+
3
5
  Specrails può esporre **se stesso** a qualsiasi assistente AI che parli il [Model Context Protocol](https://modelcontextprotocol.io) — Claude Desktop, Claude Code, Cursor, Cline o un tuo agente. Attivalo, punta il tuo assistente verso Specrails e potrai pilotare l'intera app chiacchierando: *"elenca i miei progetti", "crea una spec per il login social nel progetto API", "lancia il rail 0 e dimmi quando ha finito", "quanto ho speso questa settimana?"*. Il tuo assistente richiama gli strumenti di Specrails dietro le quinte, al posto tuo che clicchi qua e là.
4
6
 
5
7
  Questa è la direzione opposta rispetto alle funzionalità dei plugin e degli "MCP approvati da me": quelle permettono a Specrails di *usare* altri server MCP; questa permette ad altre app di usare **Specrails**.
@@ -1,6 +1,6 @@
1
1
  # Telemetria della pipeline e diagnostica
2
2
 
3
- Quando un job della pipeline non va come ti aspettavi, la telemetria ti offre un resoconto dettagliato e dietro le quinte di ciò che la AI CLI ha realmente fatto. È **disattivata per impostazione predefinita** e completamente opzionale, per ogni progetto — attivala solo quando ti serve.
3
+ La telemetria registra i dati diagnostici della pipeline in locale. È **attivata per impostazione predefinita** nei progetti senza una preferenza salvata. Puoi disattivarla per progetto; le scelte salvate esplicitamente vengono rispettate.
4
4
 
5
5
  ## Cos'è
6
6
 
@@ -1,5 +1,7 @@
1
1
  # 任意の AI から Specrails を操作する(MCP サーバー)
2
2
 
3
+ > **For agents (English):** use the [current connection runbook](../../../agents/mcp.md) for Claude, Codex, Kimi and Gemini. It includes verified bridge discovery, registration and read-only checks.
4
+
3
5
  Specrails は、[Model Context Protocol](https://modelcontextprotocol.io) を話す任意の AI アシスタント(Claude Desktop、Claude Code、Cursor、Cline、あるいは自作のエージェント)に対して、**自分自身**を公開できます。これをオンにしてアシスタントを Specrails に向ければ、チャットするだけでアプリ全体を操作できます。たとえば *「プロジェクト一覧を見せて」「API プロジェクトにソーシャルログインのスペックを作って」「レール 0 を起動して、終わったら教えて」「今週はいくら使った?」* といった具合です。あなたがあちこちクリックする代わりに、アシスタントが裏側で Specrails のツールを呼び出します。
4
6
 
5
7
  これは、プラグインや「My approved MCPs」機能とは逆方向の働きをします。それらは Specrails が*ほかの* MCP サーバーを*使う*ためのものですが、こちらは他のアプリに **Specrails** を使わせるためのものです。
@@ -1,6 +1,6 @@
1
1
  # パイプラインテレメトリと診断
2
2
 
3
- パイプラインのジョブが思いどおりに進まなかったとき、テレメトリは AI CLI が実際に何をしたのかを、舞台裏まで詳しく記録して見せてくれます。**デフォルトはオフ** で、プロジェクトごとに完全に任意です。必要なときだけオンにしてください。
3
+ テレメトリはパイプラインの診断情報をローカルに記録します。設定が保存されていないプロジェクトでは**デフォルトでオン**です。プロジェクトごとにオフにでき、明示的に保存された設定は維持されます。
4
4
 
5
5
  ## テレメトリとは
6
6
 
@@ -1,5 +1,7 @@
1
1
  # Controlar o Specrails a partir de qualquer IA (servidor MCP)
2
2
 
3
+ > **For agents (English):** use the [current connection runbook](../../../agents/mcp.md) for Claude, Codex, Kimi and Gemini. It includes verified bridge discovery, registration and read-only checks.
4
+
3
5
  O Specrails pode expor-se **a si próprio** a qualquer assistente de IA que fale o [Model Context Protocol](https://modelcontextprotocol.io) — Claude Desktop, Claude Code, Cursor, Cline ou o seu próprio agente. Ative-o, aponte o seu assistente para o Specrails e poderá conduzir a app inteira conversando: *"lista os meus projetos", "cria uma spec para login social no projeto da API", "lança o rail 0 e avisa-me quando terminar", "quanto gastei esta semana?"*. O seu assistente invoca as ferramentas do Specrails nos bastidores em vez de ser você a clicar por toda a parte.
4
6
 
5
7
  Este é o sentido oposto das funcionalidades de plugins e "Os meus MCPs aprovados": essas permitem que o Specrails *use* outros servidores MCP; esta permite que outras apps usem o **Specrails**.
@@ -1,6 +1,6 @@
1
1
  # Telemetria do pipeline e diagnóstico
2
2
 
3
- Quando um job do pipeline não corre como esperava, a telemetria dá-lhe um registo detalhado, dos bastidores, do que a CLI de IA fez de facto. Está **desativada por omissão** e é totalmente opcional, por projeto — ative-a apenas quando quiser.
3
+ A telemetria regista os diagnósticos do pipeline localmente. Está **ativada por omissão** nos projetos sem uma preferência guardada. Pode desativá-la por projeto; as escolhas guardadas explicitamente são respeitadas.
4
4
 
5
5
  ## O que é
6
6
 
@@ -1,5 +1,7 @@
1
1
  # 从任意 AI 操控 Specrails(MCP 服务器)
2
2
 
3
+ > **For agents (English):** use the [current connection runbook](../../../agents/mcp.md) for Claude, Codex, Kimi and Gemini. It includes verified bridge discovery, registration and read-only checks.
4
+
3
5
  Specrails 可以把**自己**暴露给任何会说 [Model Context Protocol](https://modelcontextprotocol.io) 的 AI 助手——Claude Desktop、Claude Code、Cursor、Cline,或者你自己的 agent。打开这个功能,把你的助手指向 Specrails,你就能靠聊天来驱动整个应用:*「列出我的项目」「在 API 项目里为社交登录创建一份规格」「启动 rail 0,跑完了告诉我」「我这周花了多少钱?」*。你的助手会在幕后调用 Specrails 的工具,而不用你点来点去。
4
6
 
5
7
  这和插件以及「My approved MCPs」功能的方向正好相反:那些功能是让 Specrails 去*使用*别的 MCP 服务器;而这个功能是让别的应用来使用 **Specrails**。
@@ -1,6 +1,6 @@
1
1
  # 流水线遥测与诊断
2
2
 
3
- 当一个流水线任务的运行结果不如你所料时,遥测能为你提供一份详尽的幕后记录,告诉你 AI CLI 实际做了什么。它**默认关闭**、完全按需开启、按项目独立配置——只有在你需要时才开启它。
3
+ 遥测在本地记录流水线诊断信息。未保存偏好的项目**默认开启**。可以按项目关闭;明确保存的选择会保留。
4
4
 
5
5
  ## 它是什么
6
6