dsh-plugin-dev-kb 1.8.0 → 1.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 (229) hide show
  1. package/CHANGELOG.md +186 -178
  2. package/README.en.md +172 -172
  3. package/README.md +183 -183
  4. package/kb/INDEX.md +236 -234
  5. package/kb/README.md +88 -88
  6. package/kb/extra/AGENTS.md +77 -77
  7. package/kb/extra/deepseek-llm-api-wire-extensions.md +162 -162
  8. package/kb/extra/deepseek-llm-api-wire-extensions.zh.md +162 -162
  9. package/kb/extra/defensive-patterns/package-surface.md +233 -232
  10. package/kb/extra/defensive-patterns/package-surface.zh.md +233 -232
  11. package/kb/extra/defensive-patterns/remote-and-api.md +117 -117
  12. package/kb/extra/defensive-patterns/remote-and-api.zh.md +117 -117
  13. package/kb/extra/development.md +221 -221
  14. package/kb/extra/development.zh.md +228 -228
  15. package/kb/extra/event-producer-consumer.md +133 -123
  16. package/kb/extra/event-producer-consumer.zh.md +135 -125
  17. package/kb/extra/module-graph.md +1961 -1888
  18. package/kb/extra/module-graph.zh.md +1963 -1890
  19. package/kb/extra/persistence-changes/2026-11-05-timeline-priority-notice.md +60 -0
  20. package/kb/extra/persistence-changes/2026-11-05-timeline-priority-notice.zh.md +60 -0
  21. package/kb/extra/persistence-changes/README.md +92 -92
  22. package/kb/extra/persistence-changes/README.zh.md +92 -92
  23. package/kb/extra/persistence-changes/historical-formats/README.md +75 -75
  24. package/kb/extra/persistence-changes/historical-formats/README.zh.md +75 -75
  25. package/kb/extra/persistence-changes/releases/README.md +103 -103
  26. package/kb/extra/persistence-changes/releases/README.zh.md +103 -103
  27. package/kb/extra/rescope.md +55 -55
  28. package/kb/extra/rescope.zh.md +55 -55
  29. package/kb/extra/subsystems/boot.md +631 -621
  30. package/kb/extra/subsystems/boot.zh.md +631 -621
  31. package/kb/extra/subsystems/computer-use.md +179 -137
  32. package/kb/extra/subsystems/computer-use.zh.md +179 -137
  33. package/kb/extra/subsystems/extensions.md +387 -384
  34. package/kb/extra/subsystems/extensions.zh.md +387 -384
  35. package/kb/extra/subsystems/feedback.md +418 -400
  36. package/kb/extra/subsystems/feedback.zh.md +418 -400
  37. package/kb/extra/subsystems/forge.md +2169 -1226
  38. package/kb/extra/subsystems/forge.zh.md +2171 -1226
  39. package/kb/extra/subsystems/liveshare.md +167 -158
  40. package/kb/extra/subsystems/liveshare.zh.md +167 -158
  41. package/kb/extra/subsystems/mcp.md +237 -234
  42. package/kb/extra/subsystems/mcp.zh.md +237 -234
  43. package/kb/extra/subsystems/office-kit.md +122 -0
  44. package/kb/extra/subsystems/office-kit.zh.md +122 -0
  45. package/kb/extra/subsystems/working-directory.md +95 -64
  46. package/kb/extra/subsystems/working-directory.zh.md +95 -64
  47. package/kb/extra/subsystems/worktrees.md +187 -127
  48. package/kb/extra/subsystems/worktrees.zh.md +187 -127
  49. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.md +21 -21
  50. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.zh.md +21 -21
  51. package/kb/extra/upgrade-guide/v0.2.1-rc.4/sandbox-unsupported-policy-error/guide.md +18 -0
  52. package/kb/extra/upgrade-guide/v0.2.1-rc.4/sandbox-unsupported-policy-error/guide.zh.md +18 -0
  53. package/kb/extra/upgrade-guide/v0.2.2-alpha.2/llm-error-builtin-codes/guide.md +18 -0
  54. package/kb/extra/upgrade-guide/v0.2.2-alpha.2/llm-error-builtin-codes/guide.zh.md +18 -0
  55. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-kit-package/guide.md +34 -0
  56. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-kit-package/guide.zh.md +34 -0
  57. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-operation-tools/guide.md +49 -0
  58. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-operation-tools/guide.zh.md +49 -0
  59. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-skill-resources/guide.md +36 -0
  60. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-skill-resources/guide.zh.md +36 -0
  61. package/kb/extra/upgrade-guide/v0.2.2-rc.1/account-notification-fields/guide.md +26 -0
  62. package/kb/extra/upgrade-guide/v0.2.2-rc.1/account-notification-fields/guide.zh.md +26 -0
  63. package/kb/extra/upgrade-guide/v0.2.2-rc.1/account-remote-provider/guide.md +22 -0
  64. package/kb/extra/upgrade-guide/v0.2.2-rc.1/account-remote-provider/guide.zh.md +22 -0
  65. package/kb/extra/upgrade-guide/v0.2.2-rc.1/archive-worktrees/guide.md +21 -0
  66. package/kb/extra/upgrade-guide/v0.2.2-rc.1/archive-worktrees/guide.zh.md +21 -0
  67. package/kb/extra/upgrade-guide/v0.2.2-rc.1/attachment-error-codes/guide.md +23 -0
  68. package/kb/extra/upgrade-guide/v0.2.2-rc.1/attachment-error-codes/guide.zh.md +23 -0
  69. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-ax-read-limits/guide.md +20 -0
  70. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-ax-read-limits/guide.zh.md +20 -0
  71. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-hover-ax-only/guide.md +18 -0
  72. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-hover-ax-only/guide.zh.md +18 -0
  73. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-native-platform/guide.md +23 -0
  74. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-native-platform/guide.zh.md +23 -0
  75. package/kb/extra/upgrade-guide/v0.2.2-rc.1/dsh-doc-skill/guide.md +35 -0
  76. package/kb/extra/upgrade-guide/v0.2.2-rc.1/dsh-doc-skill/guide.zh.md +35 -0
  77. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-change-request-overview/guide.md +26 -0
  78. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-change-request-overview/guide.zh.md +26 -0
  79. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-pinned-diff/guide.md +26 -0
  80. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-pinned-diff/guide.zh.md +26 -0
  81. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-review-reads/guide.md +19 -0
  82. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-review-reads/guide.zh.md +19 -0
  83. package/kb/extra/upgrade-guide/v0.2.2-rc.1/package-export-cleanup/guide.md +26 -0
  84. package/kb/extra/upgrade-guide/v0.2.2-rc.1/package-export-cleanup/guide.zh.md +26 -0
  85. package/kb/extra/upgrade-guide/v0.2.2-rc.1/plugin-update-method/guide.md +22 -0
  86. package/kb/extra/upgrade-guide/v0.2.2-rc.1/plugin-update-method/guide.zh.md +22 -0
  87. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-bootstrap-protocol/guide.md +25 -0
  88. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-bootstrap-protocol/guide.zh.md +25 -0
  89. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-inspect-output/guide.md +48 -0
  90. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-inspect-output/guide.zh.md +48 -0
  91. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-scoped-repl-default/guide.md +45 -0
  92. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-scoped-repl-default/guide.zh.md +45 -0
  93. package/kb/extra/upgrade-guide/v0.2.2-rc.1/runtime-context-reminders/guide.md +19 -0
  94. package/kb/extra/upgrade-guide/v0.2.2-rc.1/runtime-context-reminders/guide.zh.md +19 -0
  95. package/kb/extra/upgrade-guide/v0.2.2-rc.1/session-append-overloads/guide.md +17 -0
  96. package/kb/extra/upgrade-guide/v0.2.2-rc.1/session-append-overloads/guide.zh.md +17 -0
  97. package/kb/extra/upgrade-guide/v0.2.2-rc.1/subagent-interrupt-default/guide.md +27 -0
  98. package/kb/extra/upgrade-guide/v0.2.2-rc.1/subagent-interrupt-default/guide.zh.md +27 -0
  99. package/kb/extra/upgrade-guide/v0.2.2-rc.1/terminal-backend-cleanup-error/guide.md +20 -0
  100. package/kb/extra/upgrade-guide/v0.2.2-rc.1/terminal-backend-cleanup-error/guide.zh.md +20 -0
  101. package/kb/extra/upgrade-guide/v0.2.2-rc.1/terminal-bundle-sidebar-backend/guide.md +19 -0
  102. package/kb/extra/upgrade-guide/v0.2.2-rc.1/terminal-bundle-sidebar-backend/guide.zh.md +19 -0
  103. package/kb/extra/upgrade-guide/v0.2.2-rc.1/web-fetch-transport-error-codes/guide.md +18 -0
  104. package/kb/extra/upgrade-guide/v0.2.2-rc.1/web-fetch-transport-error-codes/guide.zh.md +18 -0
  105. package/kb/extra/upgrade-guide/v0.2.2-rc.1/web-search-billing/guide.md +41 -0
  106. package/kb/extra/upgrade-guide/v0.2.2-rc.1/web-search-billing/guide.zh.md +41 -0
  107. package/kb/extra/upgrade-guide/v0.2.2-rc.1/window-drag-regions/guide.md +21 -0
  108. package/kb/extra/upgrade-guide/v0.2.2-rc.1/window-drag-regions/guide.zh.md +21 -0
  109. package/kb/extra/upgrade-guide/v0.2.2-rc.2/client-module-metadata/guide.md +29 -0
  110. package/kb/extra/upgrade-guide/v0.2.2-rc.2/client-module-metadata/guide.zh.md +29 -0
  111. package/kb/extra/upgrade-guide/v0.2.2-rc.2/connection-page-peer/guide.md +25 -0
  112. package/kb/extra/upgrade-guide/v0.2.2-rc.2/connection-page-peer/guide.zh.md +25 -0
  113. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cordis-root-and-intercept-metadata/guide.md +31 -0
  114. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cordis-root-and-intercept-metadata/guide.zh.md +31 -0
  115. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-agents-without-preset/guide.md +24 -0
  116. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-agents-without-preset/guide.zh.md +24 -0
  117. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-macos-provider/guide.md +24 -0
  118. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-macos-provider/guide.zh.md +24 -0
  119. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-partial-observations/guide.md +19 -0
  120. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-partial-observations/guide.zh.md +19 -0
  121. package/kb/extra/upgrade-guide/v0.2.2-rc.2/deepseek-files-timeout/guide.md +15 -0
  122. package/kb/extra/upgrade-guide/v0.2.2-rc.2/deepseek-files-timeout/guide.zh.md +15 -0
  123. package/kb/extra/upgrade-guide/v0.2.2-rc.2/experimental-tool-error-codes/guide.md +28 -0
  124. package/kb/extra/upgrade-guide/v0.2.2-rc.2/experimental-tool-error-codes/guide.zh.md +28 -0
  125. package/kb/extra/upgrade-guide/v0.2.2-rc.2/package-export-cleanup/guide.md +36 -0
  126. package/kb/extra/upgrade-guide/v0.2.2-rc.2/package-export-cleanup/guide.zh.md +36 -0
  127. package/kb/extra/upgrade-guide/v0.2.2-rc.2/python-ptc-removal/guide.md +22 -0
  128. package/kb/extra/upgrade-guide/v0.2.2-rc.2/python-ptc-removal/guide.zh.md +22 -0
  129. package/kb/extra/upgrade-guide/v0.2.2-rc.2/session-status-package/guide.md +31 -0
  130. package/kb/extra/upgrade-guide/v0.2.2-rc.2/session-status-package/guide.zh.md +31 -0
  131. package/kb/extra/upgrade-guide/v0.2.2-rc.2/shared-search-filter/guide.md +18 -0
  132. package/kb/extra/upgrade-guide/v0.2.2-rc.2/shared-search-filter/guide.zh.md +18 -0
  133. package/kb/extra/upgrade-guide/v0.2.2-rc.2/shell-fs-tool-error-codes/guide.md +30 -0
  134. package/kb/extra/upgrade-guide/v0.2.2-rc.2/shell-fs-tool-error-codes/guide.zh.md +30 -0
  135. package/kb/extra/web-styling.md +57 -57
  136. package/kb/extra/web-styling.zh.md +57 -57
  137. package/kb/meta/search-index.json +4508 -3980
  138. package/kb/meta/source.json +18 -18
  139. package/kb/site/develop/practice/llm-adapter.md +192 -192
  140. package/kb/site/en/develop/practice/llm-adapter.md +192 -192
  141. package/kb/site/en/guide/desktop-uninstall-cleanup.md +63 -0
  142. package/kb/site/en/guide/plugin-market.md +153 -151
  143. package/kb/site/en/guide/providers.md +234 -234
  144. package/kb/site/en/guide/quickstart.md +35 -34
  145. package/kb/site/en/reference/capability-seams.md +789 -767
  146. package/kb/site/en/reference/config-catalog.md +5432 -5128
  147. package/kb/site/en/reference/cookbook/adding-a-package.md +175 -175
  148. package/kb/site/en/reference/cookbook/adding-a-tool.md +105 -104
  149. package/kb/site/en/reference/cookbook/extension-cookbook.md +178 -135
  150. package/kb/site/en/reference/cordis-api/context.md +373 -369
  151. package/kb/site/en/reference/cordis-api/fiber.md +457 -433
  152. package/kb/site/en/reference/cordis-api/inherited.md +44 -44
  153. package/kb/site/en/reference/cordis-api/service.md +118 -107
  154. package/kb/site/en/reference/experimental-persistence-catalog.md +36 -23
  155. package/kb/site/en/reference/index.md +174 -174
  156. package/kb/site/en/reference/persistence-catalog.md +9453 -9432
  157. package/kb/site/en/reference/subsystems/compaction.md +288 -288
  158. package/kb/site/en/reference/subsystems/core.md +1172 -1171
  159. package/kb/site/en/reference/subsystems/credentials.md +526 -497
  160. package/kb/site/en/reference/subsystems/filesystem.md +708 -708
  161. package/kb/site/en/reference/subsystems/index.md +82 -82
  162. package/kb/site/en/reference/subsystems/llm-streaming.md +1290 -1288
  163. package/kb/site/en/reference/subsystems/lsp.md +230 -206
  164. package/kb/site/en/reference/subsystems/persistence.md +451 -432
  165. package/kb/site/en/reference/subsystems/plan.md +91 -91
  166. package/kb/site/en/reference/subsystems/ptc-runtime.md +295 -261
  167. package/kb/site/en/reference/subsystems/sandbox.md +250 -232
  168. package/kb/site/en/reference/subsystems/session-query.md +525 -515
  169. package/kb/site/en/reference/subsystems/session-reference.md +231 -229
  170. package/kb/site/en/reference/subsystems/session.md +1478 -1431
  171. package/kb/site/en/reference/subsystems/sidebar-right.md +165 -165
  172. package/kb/site/en/reference/subsystems/skills.md +356 -356
  173. package/kb/site/en/reference/subsystems/slots.md +235 -231
  174. package/kb/site/en/reference/subsystems/terminal.md +188 -188
  175. package/kb/site/en/reference/subsystems/tools.md +902 -891
  176. package/kb/site/en/reference/subsystems/user-questions.md +330 -327
  177. package/kb/site/en/reference/subsystems/web-client.md +161 -104
  178. package/kb/site/en/reference/subsystems/web-server.md +434 -351
  179. package/kb/site/en/reference/subsystems/web.md +268 -268
  180. package/kb/site/en/reference/subsystems/workflow.md +287 -282
  181. package/kb/site/en/reference/subsystems/workspace.md +743 -651
  182. package/kb/site/en/reference/tool-catalog.md +2867 -2704
  183. package/kb/site/guide/desktop-uninstall-cleanup.md +63 -0
  184. package/kb/site/guide/plugin-market.md +153 -151
  185. package/kb/site/guide/providers.md +234 -234
  186. package/kb/site/guide/quickstart.md +35 -34
  187. package/kb/site/reference/capability-seams.md +789 -767
  188. package/kb/site/reference/config-catalog.md +5432 -5128
  189. package/kb/site/reference/cookbook/adding-a-package.md +175 -175
  190. package/kb/site/reference/cookbook/adding-a-tool.md +107 -106
  191. package/kb/site/reference/cookbook/extension-cookbook.md +182 -139
  192. package/kb/site/reference/cordis-api/context.md +373 -369
  193. package/kb/site/reference/cordis-api/fiber.md +459 -435
  194. package/kb/site/reference/cordis-api/inherited.md +44 -44
  195. package/kb/site/reference/cordis-api/service.md +118 -107
  196. package/kb/site/reference/experimental-persistence-catalog.md +36 -23
  197. package/kb/site/reference/index.md +178 -178
  198. package/kb/site/reference/persistence-catalog.md +9453 -9432
  199. package/kb/site/reference/subsystems/compaction.md +288 -288
  200. package/kb/site/reference/subsystems/core.md +1184 -1183
  201. package/kb/site/reference/subsystems/credentials.md +526 -497
  202. package/kb/site/reference/subsystems/filesystem.md +708 -708
  203. package/kb/site/reference/subsystems/index.md +82 -82
  204. package/kb/site/reference/subsystems/llm-streaming.md +1296 -1294
  205. package/kb/site/reference/subsystems/lsp.md +230 -206
  206. package/kb/site/reference/subsystems/persistence.md +451 -432
  207. package/kb/site/reference/subsystems/plan.md +91 -91
  208. package/kb/site/reference/subsystems/ptc-runtime.md +295 -261
  209. package/kb/site/reference/subsystems/sandbox.md +250 -232
  210. package/kb/site/reference/subsystems/session-query.md +525 -515
  211. package/kb/site/reference/subsystems/session-reference.md +231 -229
  212. package/kb/site/reference/subsystems/session.md +1482 -1435
  213. package/kb/site/reference/subsystems/sidebar-right.md +165 -165
  214. package/kb/site/reference/subsystems/skills.md +356 -356
  215. package/kb/site/reference/subsystems/slots.md +239 -235
  216. package/kb/site/reference/subsystems/terminal.md +188 -188
  217. package/kb/site/reference/subsystems/tools.md +902 -891
  218. package/kb/site/reference/subsystems/user-questions.md +330 -327
  219. package/kb/site/reference/subsystems/web-client.md +161 -104
  220. package/kb/site/reference/subsystems/web-server.md +434 -351
  221. package/kb/site/reference/subsystems/web.md +268 -268
  222. package/kb/site/reference/subsystems/workflow.md +287 -282
  223. package/kb/site/reference/subsystems/workspace.md +743 -651
  224. package/kb/site/reference/tool-catalog.md +2872 -2709
  225. package/lib/index.js +359 -359
  226. package/package.json +68 -68
  227. package/skills/dsh-plugin-dev-kb.md +71 -70
  228. package/kb/extra/subsystems/office-to-pdf.md +0 -87
  229. package/kb/extra/subsystems/office-to-pdf.zh.md +0 -87
@@ -1,234 +1,237 @@
1
- # MCP
2
-
3
- English | [中文](mcp.zh.md)
4
-
5
- ## Summary
6
-
7
- Model Context Protocol (MCP) connects the model to tools supplied by external servers. Each configured server contributes ordinary harness tools with cancellation, permission checks, recorded results, and supported image output. Shared tools discover and read resources when a server is configured in the caller's scope, while server instructions join the logged system prompt. The official SDK negotiates modern or supported legacy protocol revisions. This reference covers the MCP package group's responsibilities, scope, and composition choices; the [client README](../../packages/mcp/mcp-client/README.md) owns server configuration.
8
-
9
- ## Table of Contents
10
-
11
- - [Configuration](#configuration)
12
- - [Responsibilities and scope](#responsibilities-and-scope)
13
- - [Protocol and results](#protocol-and-results)
14
- - [Resources and instructions](#resources-and-instructions)
15
- - [Resource provider types](#resource-provider-types)
16
- - [Limits](#limits)
17
- - [Further reading](#further-reading)
18
-
19
- -----
20
-
21
- <a id="configuration"></a>
22
- ## Configuration
23
-
24
- MCP servers are opt-in. Configure one `@deepseek-ai/dsh-mcp-client` entry per server in the intended Cordis scope. Every shipped profile supplies the [tool registry](tools.md) and mounts the shared resource service once; users configure only client entries. Callers with no visible configured server receive no MCP prompt text or tools in native or PTC mode.
25
-
26
- The Web and Desktop profiles also mount the [MCP server manager](../../packages/mcp/mcp-manager/README.md) once. It runs servers configured through Settings and servers that installed plugins register for their own lifetime, and serves their status, restart, and probe operations to Remote clients.
27
-
28
- | Choice | Configuration owner |
29
- |---|---|
30
- | Server identity, local process or HTTP endpoint, credentials, and process environment | [Client configuration](../../packages/mcp/mcp-client/README.md#use-this-package) |
31
- | Tool and resource request timeout, startup failure policy, and reconnection | [Client configuration](../../packages/mcp/mcp-client/README.md#use-this-package) |
32
- | Resource discovery and reading | The [MCP resource service](../../packages/mcp/mcp-resources/README.md#use-this-package) is included in shipped profiles; it has no configuration fields |
33
- | Server instruction size limit | Client `maxInstructionBytes`; the composition supplies [system-prompt assembly](system-prompt.md) |
34
- | Permission decisions and supported image output | [Tool execution](tools.md) and [attachments](attachment.md) |
35
-
36
- Protocol negotiation follows the SDK's supported revisions; there is no product setting that forces a protocol revision. The [configuration catalog](../config-catalog.md#deepseek-aidsh-mcp-client) lists accepted client fields and defaults.
37
-
38
- -----
39
-
40
- <a id="responsibilities-and-scope"></a>
41
- ## Responsibilities and scope
42
-
43
- The client is a per-server connection plugin and a consumer of the harness tool registry. It does not publish a shared `ctx.mcp` service; the manager publishes `ctx.mcpManager` for the Host-global servers it mounts. The external server implements MCP operations; the SDK owns protocol exchange; the client adapts discovered tools to harness execution.
44
-
45
- `mcp-resources` owns the shared resource tools and selects providers in the caller's scope. Each MCP client supplies resource operations through its own connection. The first provider in a scope enables the local shared tools, and removing the last removes them; inherited providers remain visible. The service owns these tool registrations independently of any one client. Connection failures do not remove shared resource tools while a visible client entry remains active.
46
-
47
- Configured `serverName` identifies a server in its registration scope. Two entries in that scope cannot reserve the same name; separate Agent scopes can reuse it. Public tool names include the configured server name, so equally named tools from different servers remain distinct. Registration effects own names and discovered tools; plugin disposal closes the connection and removes its contributions.
48
-
49
- The [native Cua Driver provider](../../packages/experimental/computer-use-cua-driver-native/README.md) shares the client's exported result adapter without opening an MCP connection. Desktop provider selection belongs to the [computer-use subsystem](computer-use.md).
50
-
51
- -----
52
-
53
- <a id="protocol-and-results"></a>
54
- ## Protocol and results
55
-
56
- Both stdio and Streamable HTTP use the official SDK's negotiation, discovery, protocol validation, and cancellation. Tool-list changes trigger discovery through legacy notifications or a modern subscription. A failed refresh retains the previous tool generation; connection recovery follows the [client lifecycle](../../packages/mcp/mcp-client/README.md#use-this-package).
57
-
58
- The result adapter retains canonical MCP JSON for programmatic callers and prepares ordinary tool content. Supported images use the attachment system; unsupported rich content produces explicit text diagnostics. The tool registry remains authoritative for policy failures and replaced results. The [tool contracts](tools.md) own recording and final presentation; the [client result reference](../../packages/mcp/mcp-client/README.md#use-this-package) owns MCP-specific projection details.
59
-
60
- -----
61
-
62
- <a id="resources-and-instructions"></a>
63
- ## Resources and instructions
64
-
65
- Resource calls require an explicit configured server name. When system-prompt assembly is available, the resource service lists caller-visible names from the same registry used for dispatch, including servers with no tools or instructions. The shared registry resolves that name in the calling Agent's scope before dispatch; unavailable servers fail without a network request. Discovery and reads are on demand, including for servers that expose resources without tools. The [resource package](../../packages/mcp/mcp-resources/README.md) owns pagination and content rendering; its generated tool schemas live in the [tool catalog](../tool-catalog.md#deepseek-aidsh-mcp-resources).
66
-
67
- Resource providers remain connection-owned. Scope disposal removes registrations; the MCP client controls cancellation and recovery. Canonical results retain complete JSON for programmatic callers, while the text projection replaces binary blobs with descriptions. Returned text enters ordinary tool history; content is not fetched merely because a server connects.
68
-
69
- When system-prompt assembly is composed, the client publishes nonblank server instructions as a scoped, server-attributed section. Instructions remain literal text and pass the configured size limit before publication. A replacement connection publishes instructions only after discovery succeeds; absent instructions add no section. The [system-prompt subsystem](system-prompt.md) owns assembly and recording.
70
-
71
- -----
72
-
73
- <a id="resource-provider-types"></a>
74
- ## Resource provider types
75
-
76
- The connection provider receives one operation and the original tool execution, including its caller and cancellation signal.
77
-
78
- ```ts type-equiv
79
- /** One supported resource operation, with server-owned cursors and URIs. */
80
- type McpResourceRequest =
81
- | { method: 'resources/list' | 'resources/templates/list'; cursor?: string }
82
- | { method: 'resources/read'; uri: string }
83
- ```
84
-
85
- ```ts type-equiv
86
- /** One configured server's resource access, owned by its MCP connection plugin. */
87
- interface McpResourceProvider {
88
- /**
89
- * Run an operation against one live connection generation.
90
- * @param request - MCP resource method and parameters.
91
- * @param exec - caller identity and cancellation for this invocation.
92
- * @returns the protocol result as lossless JSON.
93
- */
94
- request(request: McpResourceRequest, exec: ToolExecution): Promise<JsonValue>
95
- }
96
- ```
97
-
98
- -----
99
-
100
- <a id="limits"></a>
101
- ## Limits
102
-
103
- MCP prompt templates, human-input elicitation, task-based execution, and resource subscriptions are unsupported. Resource tools require a caller-visible configured server; binary resources remain programmatic data with text descriptions for the model. Servers without a tools capability connect with an empty tool set. Connection and discovery timeouts follow the SDK; the client has no separate settings for them.
104
-
105
- -----
106
-
107
- <a id="further-reading"></a>
108
- ## Further reading
109
-
110
- - [MCP package group](../../packages/mcp/README.md) — package entry points.
111
- - [MCP resources](../../packages/mcp/mcp-resources/README.md) — shared tools and resource-provider semantics.
112
- - [MCP manager](../../packages/mcp/mcp-manager/README.md) — Settings-configured and plugin-registered servers, status, and Remote operations.
113
- - [Resource visibility reference](../../packages/mcp/mcp-resources/README.md) — shared profile mounting and visibility from configured servers.
114
- - [Third-party memory servers](../user/guide/mcp-memory.md) — product configuration guide.
115
- - [Protocol negotiation reference](../../packages/mcp/mcp-client/README.md) — SDK ownership and compatibility decisions.
116
-
117
- <!-- BEGIN GENERATED cordis-surface (gen-cordis-catalog.ts) — do not edit between markers -->
118
-
119
- <a id="cordis-surface"></a>
120
-
121
- ## Cordis API
122
-
123
- Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
124
-
125
- <a id="ctxmcpmanager--mcpservermanager"></a>
126
-
127
- ### `ctx.mcpManager` — `McpServerManager`
128
-
129
- The manager service. Reconciliation and `restart` serialize instance replacement. Probes run independently and are cancelled before replacement or disposal waits for their cleanup.
130
-
131
- ```ts cordis-catalog
132
- /**
133
- * Read configured and registered servers and retained runtime records without mounting or probing.
134
- * @returns configured entries in document order, then registered entries, then retained records for removed entries.
135
- */
136
- list(): McpManagedServerView[]
137
-
138
- /**
139
- * Contribute one server for the calling plugin's lifetime. A registered
140
- * entry is enabled while registered; its removal awaits the instance's
141
- * unmount, so plugin disposal withdraws the server's tools before settling.
142
- * @param name - server key and tool namespace, unique across configured and registered servers.
143
- * @param entry - transport, endpoint, and budgets, validated like a configured entry.
144
- * @returns an idempotent disposer that removes the registration.
145
- * @throws when the name is taken, the entry is invalid, or the manager is disposed.
146
- */
147
- register(name: string, entry: McpServerRegistration): () => void
148
-
149
- /**
150
- * Stream server views for a management surface: the current list on
151
- * subscription, then the complete list again after each status or entry change.
152
- * @param signal - subscription lifetime; aborting ends only this stream.
153
- * @returns coalesced server lists until the subscriber or the manager stops.
154
- */
155
- @Remote({ mode: 'stream' }) async* watch(signal: AbortSignal): AsyncIterable<McpManagedServerView[]>
156
-
157
- /**
158
- * Rebuild one server from its current entry: dispose the live instance (if
159
- * any) and mount a fresh one with a fresh reconnect budget. Incomplete
160
- * cleanup blocks replacement until the Host restarts.
161
- * @param name - the configured or registered server key.
162
- * @throws when the manager is disposed, no such entry exists, or cleanup is incomplete.
163
- */
164
- @Remote async restart(name: string): Promise<void>
165
-
166
- /**
167
- * Probe one server for a management surface; see {@link McpServerManager.probe}.
168
- * @param name - the configured or registered server key.
169
- * @param signal - caller cancellation.
170
- * @returns the stage-classified probe outcome and independent cleanup result.
171
- */
172
- @Remote('probe') probeFromClient(name: string, signal: AbortSignal): Promise<McpProbeResult>
173
-
174
- /**
175
- * Probe one configured server without touching its live instance: resolve
176
- * the entry's templates, connect, list tools, close. A disabled entry can be
177
- * probed — that is how a management surface tests it before enabling.
178
- * Configuration changes and manager disposal cancel the probe.
179
- * @param name - the configured or registered server key.
180
- * @param options - probe budget, listing caps, and abort signal.
181
- * @returns the stage-classified probe outcome and independent cleanup result.
182
- * @throws when the manager is disposed, the entry is absent or changing, cleanup is
183
- * incomplete, options are invalid, or a required credentials provider is missing.
184
- */
185
- async probe(name: string, options?: McpProbeOptions): Promise<McpProbeResult>
186
- ```
187
-
188
- Source: [`packages/mcp/mcp-manager/src/index.ts`](../../packages/mcp/mcp-manager/src/index.ts)
189
-
190
- <a id="ctxmcpresources--mcpresourceruntime"></a>
191
-
192
- ### `ctx.mcpResources` — `McpResourceRuntime`
193
-
194
- Scoped resource access plus three tools shared by configured MCP servers.
195
-
196
- ```ts cordis-catalog
197
- /**
198
- * Register one server and expose resource tools while that scope has providers.
199
- * @param server - configured server name, unique in this scope.
200
- * @param provider - connection-owned resource operations.
201
- * @returns the effect disposer for this exact registration.
202
- */
203
- register(server: string, provider: McpResourceProvider): () => void
204
- ```
205
-
206
- Source: [`packages/mcp/mcp-resources/src/index.ts`](../../packages/mcp/mcp-resources/src/index.ts)
207
-
208
- <a id="mcp-manager-events"></a>
209
-
210
- ### `mcp-manager/*` events
211
-
212
- <a id="mcp-managerstatus--parallel"></a>
213
-
214
- #### `mcp-manager/status` — parallel
215
-
216
- One managed server's status transitioned. Emitted for every published change while the manager is live and either the entry is configured or registered, or a runtime record remains. Removed entries may emit cleanup failures; `watch` and `list()` report removals. Lifecycle operations do not wait for listeners. Synchronous throws and returned promise rejections are logged without skipping other listeners.
217
-
218
- ```ts cordis-catalog
219
- /**
220
- * One managed server's status transitioned. Emitted for every published
221
- * change while the manager is live and either the entry is configured or
222
- * registered, or a runtime record remains. Removed entries may emit cleanup
223
- * failures; `watch` and `list()` report removals.
224
- * Lifecycle operations do not wait for listeners. Synchronous throws and
225
- * returned promise rejections are logged without skipping other listeners.
226
- * @param name - the configured `servers` key or registered name.
227
- * @param status - the status now current for that server.
228
- * @mode parallel
229
- */
230
- 'mcp-manager/status'(name: string, status: McpManagedServerStatus): void | Promise<void>
231
- ```
232
-
233
- Source: [`packages/mcp/mcp-manager/src/types.ts`](../../packages/mcp/mcp-manager/src/types.ts)
234
- <!-- END GENERATED cordis-surface -->
1
+ # MCP
2
+
3
+ English | [中文](mcp.zh.md)
4
+
5
+ ## Summary
6
+
7
+ Model Context Protocol (MCP) connects the model to tools supplied by external servers. Each configured server contributes ordinary harness tools with cancellation, permission checks, recorded results, and supported image output. Shared tools discover and read resources when a server is configured in the caller's scope, while server instructions join the logged system prompt. The official SDK negotiates modern or supported legacy protocol revisions. This reference covers the MCP package group's responsibilities, scope, and composition choices; the [client README](../../packages/mcp/mcp-client/README.md) owns server configuration.
8
+
9
+ ## Table of Contents
10
+
11
+ - [Configuration](#configuration)
12
+ - [Responsibilities and scope](#responsibilities-and-scope)
13
+ - [Protocol and results](#protocol-and-results)
14
+ - [Resources and instructions](#resources-and-instructions)
15
+ - [Resource provider types](#resource-provider-types)
16
+ - [Limits](#limits)
17
+ - [Further reading](#further-reading)
18
+
19
+ -----
20
+
21
+ <a id="configuration"></a>
22
+ ## Configuration
23
+
24
+ MCP servers are opt-in. Configure one `@deepseek-ai/dsh-mcp-client` entry per server in the intended Cordis scope. Every shipped profile supplies the [tool registry](tools.md) and mounts the shared resource service once; users configure only client entries. Callers with no visible configured server receive no MCP prompt text or tools in native or PTC mode.
25
+
26
+ The Web and Desktop profiles also mount the [MCP server manager](../../packages/mcp/mcp-manager/README.md) once. It runs servers configured through Settings and servers that installed plugins register for their own lifetime, and serves their status, restart, and probe operations to Remote clients.
27
+
28
+ | Choice | Configuration owner |
29
+ |---|---|
30
+ | Server identity, local process or HTTP endpoint, credentials, and process environment | [Client configuration](../../packages/mcp/mcp-client/README.md#use-this-package) |
31
+ | Tool and resource request timeout, startup failure policy, and reconnection | [Client configuration](../../packages/mcp/mcp-client/README.md#use-this-package) |
32
+ | Resource discovery and reading | The [MCP resource service](../../packages/mcp/mcp-resources/README.md#use-this-package) is included in shipped profiles; it has no configuration fields |
33
+ | Server instruction size limit | Client `maxInstructionBytes`; the composition supplies [system-prompt assembly](system-prompt.md) |
34
+ | Permission decisions and supported image output | [Tool execution](tools.md) and [attachments](attachment.md) |
35
+
36
+ Protocol negotiation follows the SDK's supported revisions; there is no product setting that forces a protocol revision. The [configuration catalog](../config-catalog.md#deepseek-aidsh-mcp-client) lists accepted client fields and defaults.
37
+
38
+ -----
39
+
40
+ <a id="responsibilities-and-scope"></a>
41
+ ## Responsibilities and scope
42
+
43
+ The client is a per-server connection plugin and a consumer of the harness tool registry. It does not publish a shared `ctx.mcp` service; the manager publishes `ctx.mcpManager` for the Host-global servers it mounts. The external server implements MCP operations; the SDK owns protocol exchange; the client adapts discovered tools to harness execution.
44
+
45
+ `mcp-resources` owns the shared resource tools and selects providers in the caller's scope. Each MCP client supplies resource operations through its own connection. The first provider in a scope enables the local shared tools, and removing the last removes them; inherited providers remain visible. The service owns these tool registrations independently of any one client. Connection failures do not remove shared resource tools while a visible client entry remains active.
46
+
47
+ Configured `serverName` identifies a server in its registration scope. Two entries in that scope cannot reserve the same name; separate Agent scopes can reuse it. Public tool names include the configured server name, so equally named tools from different servers remain distinct. Registration effects own names and discovered tools; plugin disposal closes the connection and removes its contributions.
48
+
49
+ The [native Cua Driver provider](../../packages/experimental/computer-use-cua-driver-native/README.md) shares the client's exported result adapter without opening an MCP connection. Desktop provider selection belongs to the [computer-use subsystem](computer-use.md).
50
+
51
+ -----
52
+
53
+ <a id="protocol-and-results"></a>
54
+ ## Protocol and results
55
+
56
+ Both stdio and Streamable HTTP use the official SDK's negotiation, discovery, protocol validation, and cancellation. Tool-list changes trigger discovery through legacy notifications or a modern subscription. A failed refresh retains the previous tool generation; connection recovery follows the [client lifecycle](../../packages/mcp/mcp-client/README.md#use-this-package).
57
+
58
+ The result adapter retains canonical MCP JSON for programmatic callers and prepares ordinary tool content. Supported images use the attachment system; unsupported rich content produces explicit text diagnostics. Server `isError` results and request failures throw `McpToolError` with a code that tells the caller whether the request's outcome is known, such as `MCP_TOOL_ERROR`, `MCP_CONNECTION_CLOSED`, or `MCP_TIMEOUT`; the client README lists every code. The tool registry remains authoritative for policy failures and replaced results. The [tool contracts](tools.md) own recording and final presentation; the [client result reference](../../packages/mcp/mcp-client/README.md#use-this-package) owns MCP-specific projection details.
59
+
60
+ -----
61
+
62
+ <a id="resources-and-instructions"></a>
63
+ ## Resources and instructions
64
+
65
+ Resource calls require an explicit configured server name. When system-prompt assembly is available, the resource service lists caller-visible names from the same registry used for dispatch, including servers with no tools or instructions. The shared registry resolves that name in the calling Agent's scope before dispatch; unavailable servers fail without a network request. Discovery and reads are on demand, including for servers that expose resources without tools. The [resource package](../../packages/mcp/mcp-resources/README.md) owns pagination and content rendering; its generated tool schemas live in the [tool catalog](../tool-catalog.md#deepseek-aidsh-mcp-resources).
66
+
67
+ Resource providers remain connection-owned. Scope disposal removes registrations; the MCP client controls cancellation and recovery. Canonical results retain complete JSON for programmatic callers, while the text projection replaces binary blobs with descriptions. Returned text enters ordinary tool history; content is not fetched merely because a server connects.
68
+
69
+ When system-prompt assembly is composed, the client publishes nonblank server instructions as a scoped, server-attributed section. Instructions remain literal text and pass the configured size limit before publication. A replacement connection publishes instructions only after discovery succeeds; absent instructions add no section. The [system-prompt subsystem](system-prompt.md) owns assembly and recording.
70
+
71
+ -----
72
+
73
+ <a id="resource-provider-types"></a>
74
+ ## Resource provider types
75
+
76
+ The connection provider receives one operation and the original tool execution, including its caller and cancellation signal.
77
+
78
+ ```ts type-equiv
79
+ /** One supported resource operation, with server-owned cursors and URIs. */
80
+ type McpResourceRequest =
81
+ | { method: 'resources/list' | 'resources/templates/list'; cursor?: string }
82
+ | { method: 'resources/read'; uri: string }
83
+ ```
84
+
85
+ ```ts type-equiv
86
+ /** One configured server's resource access, owned by its MCP connection plugin. */
87
+ interface McpResourceProvider {
88
+ /**
89
+ * Run an operation against one live connection generation. The resource tools
90
+ * dispatch in parallel, so one provider may receive several concurrent requests;
91
+ * each must settle independently.
92
+ * @param request - MCP resource method and parameters.
93
+ * @param exec - caller identity and cancellation for this invocation.
94
+ * @returns the protocol result as lossless JSON.
95
+ */
96
+ request(request: McpResourceRequest, exec: ToolExecution): Promise<JsonValue>
97
+ }
98
+ ```
99
+
100
+ -----
101
+
102
+ <a id="limits"></a>
103
+ ## Limits
104
+
105
+ MCP prompt templates, human-input elicitation, task-based execution, and resource subscriptions are unsupported. Resource tools require a caller-visible configured server; binary resources remain programmatic data with text descriptions for the model. Servers without a tools capability connect with an empty tool set. Connection and discovery timeouts follow the SDK; the client has no separate settings for them.
106
+
107
+ -----
108
+
109
+ <a id="further-reading"></a>
110
+ ## Further reading
111
+
112
+ - [MCP package group](../../packages/mcp/README.md) — package entry points.
113
+ - [MCP resources](../../packages/mcp/mcp-resources/README.md) — shared tools and resource-provider semantics.
114
+ - [MCP manager](../../packages/mcp/mcp-manager/README.md) — Settings-configured and plugin-registered servers, status, and Remote operations.
115
+ - [Resource visibility reference](../../packages/mcp/mcp-resources/README.md) — shared profile mounting and visibility from configured servers.
116
+ - [Third-party memory servers](../user/guide/mcp-memory.md) — product configuration guide.
117
+ - [Protocol negotiation reference](../../packages/mcp/mcp-client/README.md) — SDK ownership and compatibility decisions.
118
+ - [Computer use MCP server](../../packages/experimental/cua-mcp/README.md) — DSH as an MCP stdio server that serves Computer Use programs to other harnesses.
119
+
120
+ <!-- BEGIN GENERATED cordis-surface (gen-cordis-catalog.ts) — do not edit between markers -->
121
+
122
+ <a id="cordis-surface"></a>
123
+
124
+ ## Cordis API
125
+
126
+ Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
127
+
128
+ <a id="ctxmcpmanager--mcpservermanager"></a>
129
+
130
+ ### `ctx.mcpManager` — `McpServerManager`
131
+
132
+ The manager service. Reconciliation and `restart` serialize instance replacement. Probes run independently and are cancelled before replacement or disposal waits for their cleanup.
133
+
134
+ ```ts cordis-catalog
135
+ /**
136
+ * Read configured and registered servers and retained runtime records without mounting or probing.
137
+ * @returns configured entries in document order, then registered entries, then retained records for removed entries.
138
+ */
139
+ list(): McpManagedServerView[]
140
+
141
+ /**
142
+ * Contribute one server for the calling plugin's lifetime. A registered
143
+ * entry is enabled while registered; its removal awaits the instance's
144
+ * unmount, so plugin disposal withdraws the server's tools before settling.
145
+ * @param name - server key and tool namespace, unique across configured and registered servers.
146
+ * @param entry - transport, endpoint, and budgets, validated like a configured entry.
147
+ * @returns an idempotent disposer that removes the registration.
148
+ * @throws when the name is taken, the entry is invalid, or the manager is disposed.
149
+ */
150
+ register(name: string, entry: McpServerRegistration): () => void
151
+
152
+ /**
153
+ * Stream server views for a management surface: the current list on
154
+ * subscription, then the complete list again after each status or entry change.
155
+ * @param signal - subscription lifetime; aborting ends only this stream.
156
+ * @returns coalesced server lists until the subscriber or the manager stops.
157
+ */
158
+ @Remote({ mode: 'stream' }) async* watch(signal: AbortSignal): AsyncIterable<McpManagedServerView[]>
159
+
160
+ /**
161
+ * Rebuild one server from its current entry: dispose the live instance (if
162
+ * any) and mount a fresh one with a fresh reconnect budget. Incomplete
163
+ * cleanup blocks replacement until the Host restarts.
164
+ * @param name - the configured or registered server key.
165
+ * @throws when the manager is disposed, no such entry exists, or cleanup is incomplete.
166
+ */
167
+ @Remote async restart(name: string): Promise<void>
168
+
169
+ /**
170
+ * Probe one server for a management surface; see {@link McpServerManager.probe}.
171
+ * @param name - the configured or registered server key.
172
+ * @param signal - caller cancellation.
173
+ * @returns the stage-classified probe outcome and independent cleanup result.
174
+ */
175
+ @Remote('probe') probeFromClient(name: string, signal: AbortSignal): Promise<McpProbeResult>
176
+
177
+ /**
178
+ * Probe one configured server without touching its live instance: resolve
179
+ * the entry's templates, connect, list tools, close. A disabled entry can be
180
+ * probed — that is how a management surface tests it before enabling.
181
+ * Configuration changes and manager disposal cancel the probe.
182
+ * @param name - the configured or registered server key.
183
+ * @param options - probe budget, listing caps, and abort signal.
184
+ * @returns the stage-classified probe outcome and independent cleanup result.
185
+ * @throws when the manager is disposed, the entry is absent or changing, cleanup is
186
+ * incomplete, options are invalid, or a required credentials provider is missing.
187
+ */
188
+ async probe(name: string, options?: McpProbeOptions): Promise<McpProbeResult>
189
+ ```
190
+
191
+ Source: [`packages/mcp/mcp-manager/src/index.ts`](../../packages/mcp/mcp-manager/src/index.ts)
192
+
193
+ <a id="ctxmcpresources--mcpresourceruntime"></a>
194
+
195
+ ### `ctx.mcpResources` — `McpResourceRuntime`
196
+
197
+ Scoped resource access plus three tools shared by configured MCP servers.
198
+
199
+ ```ts cordis-catalog
200
+ /**
201
+ * Register one server and expose resource tools while that scope has providers.
202
+ * @param server - configured server name, unique in this scope.
203
+ * @param provider - connection-owned resource operations.
204
+ * @returns the effect disposer for this exact registration.
205
+ */
206
+ register(server: string, provider: McpResourceProvider): () => void
207
+ ```
208
+
209
+ Source: [`packages/mcp/mcp-resources/src/index.ts`](../../packages/mcp/mcp-resources/src/index.ts)
210
+
211
+ <a id="mcp-manager-events"></a>
212
+
213
+ ### `mcp-manager/*` events
214
+
215
+ <a id="mcp-managerstatus--parallel"></a>
216
+
217
+ #### `mcp-manager/status` — parallel
218
+
219
+ One managed server's status transitioned. Emitted for every published change while the manager is live and either the entry is configured or registered, or a runtime record remains. Removed entries may emit cleanup failures; `watch` and `list()` report removals. Lifecycle operations do not wait for listeners. Synchronous throws and returned promise rejections are logged without skipping other listeners.
220
+
221
+ ```ts cordis-catalog
222
+ /**
223
+ * One managed server's status transitioned. Emitted for every published
224
+ * change while the manager is live and either the entry is configured or
225
+ * registered, or a runtime record remains. Removed entries may emit cleanup
226
+ * failures; `watch` and `list()` report removals.
227
+ * Lifecycle operations do not wait for listeners. Synchronous throws and
228
+ * returned promise rejections are logged without skipping other listeners.
229
+ * @param name - the configured `servers` key or registered name.
230
+ * @param status - the status now current for that server.
231
+ * @mode parallel
232
+ */
233
+ 'mcp-manager/status'(name: string, status: McpManagedServerStatus): void | Promise<void>
234
+ ```
235
+
236
+ Source: [`packages/mcp/mcp-manager/src/types.ts`](../../packages/mcp/mcp-manager/src/types.ts)
237
+ <!-- END GENERATED cordis-surface -->