@vibesdotdev/mcp 0.0.0-stage → 1.0.0-rc.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 (602) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +96 -2
  3. package/dist/adapters/auth-middleware.d.ts +68 -0
  4. package/dist/adapters/auth-middleware.d.ts.map +1 -0
  5. package/dist/adapters/auth-middleware.js +161 -0
  6. package/dist/adapters/auth-middleware.js.map +1 -0
  7. package/dist/adapters/compatibility.d.ts +20 -0
  8. package/dist/adapters/compatibility.d.ts.map +1 -0
  9. package/dist/adapters/compatibility.js +57 -0
  10. package/dist/adapters/compatibility.js.map +1 -0
  11. package/dist/adapters/host-context.consumer.d.ts +12 -0
  12. package/dist/adapters/host-context.consumer.d.ts.map +1 -0
  13. package/dist/adapters/host-context.consumer.js +10 -0
  14. package/dist/adapters/host-context.consumer.js.map +1 -0
  15. package/dist/adapters/host-context.d.ts +32 -0
  16. package/dist/adapters/host-context.d.ts.map +1 -0
  17. package/dist/adapters/host-context.js +17 -0
  18. package/dist/adapters/host-context.js.map +1 -0
  19. package/dist/adapters/index.d.ts +12 -0
  20. package/dist/adapters/index.d.ts.map +1 -0
  21. package/dist/adapters/index.js +13 -0
  22. package/dist/adapters/index.js.map +1 -0
  23. package/dist/adapters/mcp/ambient-envelope.d.ts +26 -0
  24. package/dist/adapters/mcp/ambient-envelope.d.ts.map +1 -0
  25. package/dist/adapters/mcp/ambient-envelope.js +70 -0
  26. package/dist/adapters/mcp/ambient-envelope.js.map +1 -0
  27. package/dist/adapters/mcp/catalog.d.ts +15 -0
  28. package/dist/adapters/mcp/catalog.d.ts.map +1 -0
  29. package/dist/adapters/mcp/catalog.js +26 -0
  30. package/dist/adapters/mcp/catalog.js.map +1 -0
  31. package/dist/adapters/mcp/connection-identity.d.ts +81 -0
  32. package/dist/adapters/mcp/connection-identity.d.ts.map +1 -0
  33. package/dist/adapters/mcp/connection-identity.js +114 -0
  34. package/dist/adapters/mcp/connection-identity.js.map +1 -0
  35. package/dist/adapters/mcp/context.d.ts +137 -0
  36. package/dist/adapters/mcp/context.d.ts.map +1 -0
  37. package/dist/adapters/mcp/context.js +230 -0
  38. package/dist/adapters/mcp/context.js.map +1 -0
  39. package/dist/adapters/mcp/formatters.d.ts +41 -0
  40. package/dist/adapters/mcp/formatters.d.ts.map +1 -0
  41. package/dist/adapters/mcp/formatters.js +102 -0
  42. package/dist/adapters/mcp/formatters.js.map +1 -0
  43. package/dist/adapters/mcp/from-api-endpoint.d.ts +59 -0
  44. package/dist/adapters/mcp/from-api-endpoint.d.ts.map +1 -0
  45. package/dist/adapters/mcp/from-api-endpoint.js +206 -0
  46. package/dist/adapters/mcp/from-api-endpoint.js.map +1 -0
  47. package/dist/adapters/mcp/generation-contract.d.ts +5 -0
  48. package/dist/adapters/mcp/generation-contract.d.ts.map +1 -0
  49. package/dist/adapters/mcp/generation-contract.js +34 -0
  50. package/dist/adapters/mcp/generation-contract.js.map +1 -0
  51. package/dist/adapters/mcp/host-registry.d.ts +159 -0
  52. package/dist/adapters/mcp/host-registry.d.ts.map +1 -0
  53. package/dist/adapters/mcp/host-registry.js +237 -0
  54. package/dist/adapters/mcp/host-registry.js.map +1 -0
  55. package/dist/adapters/mcp/index.d.ts +12 -0
  56. package/dist/adapters/mcp/index.d.ts.map +1 -0
  57. package/dist/adapters/mcp/index.js +17 -0
  58. package/dist/adapters/mcp/index.js.map +1 -0
  59. package/dist/adapters/mcp/isolated-notice.d.ts +111 -0
  60. package/dist/adapters/mcp/isolated-notice.d.ts.map +1 -0
  61. package/dist/adapters/mcp/isolated-notice.js +217 -0
  62. package/dist/adapters/mcp/isolated-notice.js.map +1 -0
  63. package/dist/adapters/mcp/json-rpc.d.ts +16 -0
  64. package/dist/adapters/mcp/json-rpc.d.ts.map +1 -0
  65. package/dist/adapters/mcp/json-rpc.js +32 -0
  66. package/dist/adapters/mcp/json-rpc.js.map +1 -0
  67. package/dist/adapters/mcp/local-origin.d.ts +18 -0
  68. package/dist/adapters/mcp/local-origin.d.ts.map +1 -0
  69. package/dist/adapters/mcp/local-origin.js +37 -0
  70. package/dist/adapters/mcp/local-origin.js.map +1 -0
  71. package/dist/adapters/mcp/logging/mcp-cloud.descriptor.d.ts +11 -0
  72. package/dist/adapters/mcp/logging/mcp-cloud.descriptor.d.ts.map +1 -0
  73. package/dist/adapters/mcp/logging/mcp-cloud.descriptor.js +21 -0
  74. package/dist/adapters/mcp/logging/mcp-cloud.descriptor.js.map +1 -0
  75. package/dist/adapters/mcp/logging/mcp-http.descriptor.d.ts +10 -0
  76. package/dist/adapters/mcp/logging/mcp-http.descriptor.d.ts.map +1 -0
  77. package/dist/adapters/mcp/logging/mcp-http.descriptor.js +20 -0
  78. package/dist/adapters/mcp/logging/mcp-http.descriptor.js.map +1 -0
  79. package/dist/adapters/mcp/logging/mcp-server.descriptor.d.ts +9 -0
  80. package/dist/adapters/mcp/logging/mcp-server.descriptor.d.ts.map +1 -0
  81. package/dist/adapters/mcp/logging/mcp-server.descriptor.js +25 -0
  82. package/dist/adapters/mcp/logging/mcp-server.descriptor.js.map +1 -0
  83. package/dist/adapters/mcp/logging/mcp-stdio.descriptor.d.ts +10 -0
  84. package/dist/adapters/mcp/logging/mcp-stdio.descriptor.d.ts.map +1 -0
  85. package/dist/adapters/mcp/logging/mcp-stdio.descriptor.js +20 -0
  86. package/dist/adapters/mcp/logging/mcp-stdio.descriptor.js.map +1 -0
  87. package/dist/adapters/mcp/mcp-http-session.d.ts +140 -0
  88. package/dist/adapters/mcp/mcp-http-session.d.ts.map +1 -0
  89. package/dist/adapters/mcp/mcp-http-session.js +797 -0
  90. package/dist/adapters/mcp/mcp-http-session.js.map +1 -0
  91. package/dist/adapters/mcp/mcp-wire-name.d.ts +9 -0
  92. package/dist/adapters/mcp/mcp-wire-name.d.ts.map +1 -0
  93. package/dist/adapters/mcp/mcp-wire-name.js +52 -0
  94. package/dist/adapters/mcp/mcp-wire-name.js.map +1 -0
  95. package/dist/adapters/mcp/projection-doctor.d.ts +101 -0
  96. package/dist/adapters/mcp/projection-doctor.d.ts.map +1 -0
  97. package/dist/adapters/mcp/projection-doctor.js +285 -0
  98. package/dist/adapters/mcp/projection-doctor.js.map +1 -0
  99. package/dist/adapters/mcp/projection.d.ts +36 -0
  100. package/dist/adapters/mcp/projection.d.ts.map +1 -0
  101. package/dist/adapters/mcp/projection.js +136 -0
  102. package/dist/adapters/mcp/projection.js.map +1 -0
  103. package/dist/adapters/mcp/prompts/continuity-wake.prompt.descriptor.d.ts +113 -0
  104. package/dist/adapters/mcp/prompts/continuity-wake.prompt.descriptor.d.ts.map +1 -0
  105. package/dist/adapters/mcp/prompts/continuity-wake.prompt.descriptor.js +15 -0
  106. package/dist/adapters/mcp/prompts/continuity-wake.prompt.descriptor.js.map +1 -0
  107. package/dist/adapters/mcp/prompts/empty-tool-kind.prompt.descriptor.d.ts +113 -0
  108. package/dist/adapters/mcp/prompts/empty-tool-kind.prompt.descriptor.d.ts.map +1 -0
  109. package/dist/adapters/mcp/prompts/empty-tool-kind.prompt.descriptor.js +18 -0
  110. package/dist/adapters/mcp/prompts/empty-tool-kind.prompt.descriptor.js.map +1 -0
  111. package/dist/adapters/mcp/prompts/index.d.ts +113 -0
  112. package/dist/adapters/mcp/prompts/index.d.ts.map +1 -0
  113. package/dist/adapters/mcp/prompts/index.js +24 -0
  114. package/dist/adapters/mcp/prompts/index.js.map +1 -0
  115. package/dist/adapters/mcp/prompts/isolated-runtime.prompt.descriptor.d.ts +114 -0
  116. package/dist/adapters/mcp/prompts/isolated-runtime.prompt.descriptor.d.ts.map +1 -0
  117. package/dist/adapters/mcp/prompts/isolated-runtime.prompt.descriptor.js +37 -0
  118. package/dist/adapters/mcp/prompts/isolated-runtime.prompt.descriptor.js.map +1 -0
  119. package/dist/adapters/mcp/prompts/local-tools.prompt.descriptor.d.ts +113 -0
  120. package/dist/adapters/mcp/prompts/local-tools.prompt.descriptor.d.ts.map +1 -0
  121. package/dist/adapters/mcp/prompts/local-tools.prompt.descriptor.js +20 -0
  122. package/dist/adapters/mcp/prompts/local-tools.prompt.descriptor.js.map +1 -0
  123. package/dist/adapters/mcp/prompts/max-tools.prompt.descriptor.d.ts +113 -0
  124. package/dist/adapters/mcp/prompts/max-tools.prompt.descriptor.d.ts.map +1 -0
  125. package/dist/adapters/mcp/prompts/max-tools.prompt.descriptor.js +20 -0
  126. package/dist/adapters/mcp/prompts/max-tools.prompt.descriptor.js.map +1 -0
  127. package/dist/adapters/mcp/prompts/private-runtime.prompt.descriptor.d.ts +114 -0
  128. package/dist/adapters/mcp/prompts/private-runtime.prompt.descriptor.d.ts.map +1 -0
  129. package/dist/adapters/mcp/prompts/private-runtime.prompt.descriptor.js +21 -0
  130. package/dist/adapters/mcp/prompts/private-runtime.prompt.descriptor.js.map +1 -0
  131. package/dist/adapters/mcp/prompts/registration-failure.prompt.descriptor.d.ts +113 -0
  132. package/dist/adapters/mcp/prompts/registration-failure.prompt.descriptor.d.ts.map +1 -0
  133. package/dist/adapters/mcp/prompts/registration-failure.prompt.descriptor.js +19 -0
  134. package/dist/adapters/mcp/prompts/registration-failure.prompt.descriptor.js.map +1 -0
  135. package/dist/adapters/mcp/prompts/required-checklist.prompt.descriptor.d.ts +113 -0
  136. package/dist/adapters/mcp/prompts/required-checklist.prompt.descriptor.d.ts.map +1 -0
  137. package/dist/adapters/mcp/prompts/required-checklist.prompt.descriptor.js +18 -0
  138. package/dist/adapters/mcp/prompts/required-checklist.prompt.descriptor.js.map +1 -0
  139. package/dist/adapters/mcp/prompts/required-tools-missing.prompt.descriptor.d.ts +113 -0
  140. package/dist/adapters/mcp/prompts/required-tools-missing.prompt.descriptor.d.ts.map +1 -0
  141. package/dist/adapters/mcp/prompts/required-tools-missing.prompt.descriptor.js +19 -0
  142. package/dist/adapters/mcp/prompts/required-tools-missing.prompt.descriptor.js.map +1 -0
  143. package/dist/adapters/mcp/prompts/unknown-client.prompt.descriptor.d.ts +113 -0
  144. package/dist/adapters/mcp/prompts/unknown-client.prompt.descriptor.d.ts.map +1 -0
  145. package/dist/adapters/mcp/prompts/unknown-client.prompt.descriptor.js +18 -0
  146. package/dist/adapters/mcp/prompts/unknown-client.prompt.descriptor.js.map +1 -0
  147. package/dist/adapters/mcp/request-context.d.ts +28 -0
  148. package/dist/adapters/mcp/request-context.d.ts.map +1 -0
  149. package/dist/adapters/mcp/request-context.js +49 -0
  150. package/dist/adapters/mcp/request-context.js.map +1 -0
  151. package/dist/adapters/mcp/roster-announcer.d.ts +3 -0
  152. package/dist/adapters/mcp/roster-announcer.d.ts.map +1 -0
  153. package/dist/adapters/mcp/roster-announcer.js +22 -0
  154. package/dist/adapters/mcp/roster-announcer.js.map +1 -0
  155. package/dist/adapters/mcp/sampling-context.d.ts +12 -0
  156. package/dist/adapters/mcp/sampling-context.d.ts.map +1 -0
  157. package/dist/adapters/mcp/sampling-context.js +30 -0
  158. package/dist/adapters/mcp/sampling-context.js.map +1 -0
  159. package/dist/adapters/mcp/sampling.d.ts +17 -0
  160. package/dist/adapters/mcp/sampling.d.ts.map +1 -0
  161. package/dist/adapters/mcp/sampling.js +43 -0
  162. package/dist/adapters/mcp/sampling.js.map +1 -0
  163. package/dist/adapters/mcp/schemas/index.d.ts +37 -0
  164. package/dist/adapters/mcp/schemas/index.d.ts.map +1 -0
  165. package/dist/adapters/mcp/schemas/index.js +5 -0
  166. package/dist/adapters/mcp/schemas/index.js.map +1 -0
  167. package/dist/adapters/mcp/schemas/tool-selection.d.ts +12 -0
  168. package/dist/adapters/mcp/schemas/tool-selection.d.ts.map +1 -0
  169. package/dist/adapters/mcp/schemas/tool-selection.js +2 -0
  170. package/dist/adapters/mcp/schemas/tool-selection.js.map +1 -0
  171. package/dist/adapters/mcp/serve-identity.d.ts +64 -0
  172. package/dist/adapters/mcp/serve-identity.d.ts.map +1 -0
  173. package/dist/adapters/mcp/serve-identity.js +220 -0
  174. package/dist/adapters/mcp/serve-identity.js.map +1 -0
  175. package/dist/adapters/mcp/server.consumer.d.ts +5 -0
  176. package/dist/adapters/mcp/server.consumer.d.ts.map +1 -0
  177. package/dist/adapters/mcp/server.consumer.js +300 -0
  178. package/dist/adapters/mcp/server.consumer.js.map +1 -0
  179. package/dist/adapters/mcp/server.d.ts +56 -0
  180. package/dist/adapters/mcp/server.d.ts.map +1 -0
  181. package/dist/adapters/mcp/server.js +1423 -0
  182. package/dist/adapters/mcp/server.js.map +1 -0
  183. package/dist/adapters/mcp/stale-body.consumer.d.ts +85 -0
  184. package/dist/adapters/mcp/stale-body.consumer.d.ts.map +1 -0
  185. package/dist/adapters/mcp/stale-body.consumer.js +183 -0
  186. package/dist/adapters/mcp/stale-body.consumer.js.map +1 -0
  187. package/dist/adapters/mcp/startup-refusal.d.ts +8 -0
  188. package/dist/adapters/mcp/startup-refusal.d.ts.map +1 -0
  189. package/dist/adapters/mcp/startup-refusal.js +141 -0
  190. package/dist/adapters/mcp/startup-refusal.js.map +1 -0
  191. package/dist/adapters/mcp/stdio-relay.d.ts +232 -0
  192. package/dist/adapters/mcp/stdio-relay.d.ts.map +1 -0
  193. package/dist/adapters/mcp/stdio-relay.js +1169 -0
  194. package/dist/adapters/mcp/stdio-relay.js.map +1 -0
  195. package/dist/adapters/mcp/tool-audit-live.d.ts +109 -0
  196. package/dist/adapters/mcp/tool-audit-live.d.ts.map +1 -0
  197. package/dist/adapters/mcp/tool-audit-live.js +538 -0
  198. package/dist/adapters/mcp/tool-audit-live.js.map +1 -0
  199. package/dist/adapters/mcp/tool-audit.d.ts +44 -0
  200. package/dist/adapters/mcp/tool-audit.d.ts.map +1 -0
  201. package/dist/adapters/mcp/tool-audit.js +168 -0
  202. package/dist/adapters/mcp/tool-audit.js.map +1 -0
  203. package/dist/adapters/mcp/tool-catalog.d.ts +179 -0
  204. package/dist/adapters/mcp/tool-catalog.d.ts.map +1 -0
  205. package/dist/adapters/mcp/tool-catalog.js +330 -0
  206. package/dist/adapters/mcp/tool-catalog.js.map +1 -0
  207. package/dist/adapters/mcp/tool-selection.d.ts +77 -0
  208. package/dist/adapters/mcp/tool-selection.d.ts.map +1 -0
  209. package/dist/adapters/mcp/tool-selection.js +266 -0
  210. package/dist/adapters/mcp/tool-selection.js.map +1 -0
  211. package/dist/adapters/mcp/transport-registry.d.ts +5 -0
  212. package/dist/adapters/mcp/transport-registry.d.ts.map +1 -0
  213. package/dist/adapters/mcp/transport-registry.js +13 -0
  214. package/dist/adapters/mcp/transport-registry.js.map +1 -0
  215. package/dist/adapters/mcp/trust-tag.d.ts +69 -0
  216. package/dist/adapters/mcp/trust-tag.d.ts.map +1 -0
  217. package/dist/adapters/mcp/trust-tag.js +120 -0
  218. package/dist/adapters/mcp/trust-tag.js.map +1 -0
  219. package/dist/adapters/mcp/vibes-types.d.ts +115 -0
  220. package/dist/adapters/mcp/vibes-types.d.ts.map +1 -0
  221. package/dist/adapters/mcp/vibes-types.js +7 -0
  222. package/dist/adapters/mcp/vibes-types.js.map +1 -0
  223. package/dist/adapters/mcp/web-handler.d.ts +49 -0
  224. package/dist/adapters/mcp/web-handler.d.ts.map +1 -0
  225. package/dist/adapters/mcp/web-handler.js +129 -0
  226. package/dist/adapters/mcp/web-handler.js.map +1 -0
  227. package/dist/adapters/session-id.d.ts +3 -0
  228. package/dist/adapters/session-id.d.ts.map +1 -0
  229. package/dist/adapters/session-id.js +42 -0
  230. package/dist/adapters/session-id.js.map +1 -0
  231. package/dist/adapters/transport-bun-http.d.ts +39 -0
  232. package/dist/adapters/transport-bun-http.d.ts.map +1 -0
  233. package/dist/adapters/transport-bun-http.js +42 -0
  234. package/dist/adapters/transport-bun-http.js.map +1 -0
  235. package/dist/adapters/types.d.ts +135 -0
  236. package/dist/adapters/types.d.ts.map +1 -0
  237. package/dist/adapters/types.js +2 -0
  238. package/dist/adapters/types.js.map +1 -0
  239. package/dist/adapters/web-compatibility.d.ts +6 -0
  240. package/dist/adapters/web-compatibility.d.ts.map +1 -0
  241. package/dist/adapters/web-compatibility.js +13 -0
  242. package/dist/adapters/web-compatibility.js.map +1 -0
  243. package/dist/adapters/zod-mcp.d.ts +139 -0
  244. package/dist/adapters/zod-mcp.d.ts.map +1 -0
  245. package/dist/adapters/zod-mcp.js +617 -0
  246. package/dist/adapters/zod-mcp.js.map +1 -0
  247. package/dist/cli/mcp/audit/dev.audit.tools.descriptor.d.ts +15 -0
  248. package/dist/cli/mcp/audit/dev.audit.tools.descriptor.d.ts.map +1 -0
  249. package/dist/cli/mcp/audit/dev.audit.tools.descriptor.js +58 -0
  250. package/dist/cli/mcp/audit/dev.audit.tools.descriptor.js.map +1 -0
  251. package/dist/cli/mcp/audit/dev.audit.tools.impl.consumer.d.ts +6 -0
  252. package/dist/cli/mcp/audit/dev.audit.tools.impl.consumer.d.ts.map +1 -0
  253. package/dist/cli/mcp/audit/dev.audit.tools.impl.consumer.js +180 -0
  254. package/dist/cli/mcp/audit/dev.audit.tools.impl.consumer.js.map +1 -0
  255. package/dist/cli/mcp/lifecycle/dev.mcp.restart.descriptor.d.ts +22 -0
  256. package/dist/cli/mcp/lifecycle/dev.mcp.restart.descriptor.d.ts.map +1 -0
  257. package/dist/cli/mcp/lifecycle/dev.mcp.restart.descriptor.js +19 -0
  258. package/dist/cli/mcp/lifecycle/dev.mcp.restart.descriptor.js.map +1 -0
  259. package/dist/cli/mcp/lifecycle/dev.mcp.restart.impl.consumer.d.ts +23 -0
  260. package/dist/cli/mcp/lifecycle/dev.mcp.restart.impl.consumer.d.ts.map +1 -0
  261. package/dist/cli/mcp/lifecycle/dev.mcp.restart.impl.consumer.js +41 -0
  262. package/dist/cli/mcp/lifecycle/dev.mcp.restart.impl.consumer.js.map +1 -0
  263. package/dist/cli/mcp/lifecycle/dev.mcp.serve.descriptor.d.ts +75 -0
  264. package/dist/cli/mcp/lifecycle/dev.mcp.serve.descriptor.d.ts.map +1 -0
  265. package/dist/cli/mcp/lifecycle/dev.mcp.serve.descriptor.js +84 -0
  266. package/dist/cli/mcp/lifecycle/dev.mcp.serve.descriptor.js.map +1 -0
  267. package/dist/cli/mcp/lifecycle/dev.mcp.start.descriptor.d.ts +35 -0
  268. package/dist/cli/mcp/lifecycle/dev.mcp.start.descriptor.d.ts.map +1 -0
  269. package/dist/cli/mcp/lifecycle/dev.mcp.start.descriptor.js +28 -0
  270. package/dist/cli/mcp/lifecycle/dev.mcp.start.descriptor.js.map +1 -0
  271. package/dist/cli/mcp/lifecycle/dev.mcp.start.impl.consumer.d.ts +11 -0
  272. package/dist/cli/mcp/lifecycle/dev.mcp.start.impl.consumer.d.ts.map +1 -0
  273. package/dist/cli/mcp/lifecycle/dev.mcp.start.impl.consumer.js +47 -0
  274. package/dist/cli/mcp/lifecycle/dev.mcp.start.impl.consumer.js.map +1 -0
  275. package/dist/cli/mcp/lifecycle/dev.mcp.stop.descriptor.d.ts +18 -0
  276. package/dist/cli/mcp/lifecycle/dev.mcp.stop.descriptor.d.ts.map +1 -0
  277. package/dist/cli/mcp/lifecycle/dev.mcp.stop.descriptor.js +18 -0
  278. package/dist/cli/mcp/lifecycle/dev.mcp.stop.descriptor.js.map +1 -0
  279. package/dist/cli/mcp/lifecycle/dev.mcp.stop.impl.consumer.d.ts +12 -0
  280. package/dist/cli/mcp/lifecycle/dev.mcp.stop.impl.consumer.d.ts.map +1 -0
  281. package/dist/cli/mcp/lifecycle/dev.mcp.stop.impl.consumer.js +17 -0
  282. package/dist/cli/mcp/lifecycle/dev.mcp.stop.impl.consumer.js.map +1 -0
  283. package/dist/cli/mcp/management/dev.mcp.install.descriptor.d.ts +41 -0
  284. package/dist/cli/mcp/management/dev.mcp.install.descriptor.d.ts.map +1 -0
  285. package/dist/cli/mcp/management/dev.mcp.install.descriptor.js +49 -0
  286. package/dist/cli/mcp/management/dev.mcp.install.descriptor.js.map +1 -0
  287. package/dist/cli/mcp/management/dev.mcp.install.impl.consumer.d.ts +16 -0
  288. package/dist/cli/mcp/management/dev.mcp.install.impl.consumer.d.ts.map +1 -0
  289. package/dist/cli/mcp/management/dev.mcp.install.impl.consumer.js +244 -0
  290. package/dist/cli/mcp/management/dev.mcp.install.impl.consumer.js.map +1 -0
  291. package/dist/cli/mcp/management/dev.mcp.list.descriptor.d.ts +22 -0
  292. package/dist/cli/mcp/management/dev.mcp.list.descriptor.d.ts.map +1 -0
  293. package/dist/cli/mcp/management/dev.mcp.list.descriptor.js +24 -0
  294. package/dist/cli/mcp/management/dev.mcp.list.descriptor.js.map +1 -0
  295. package/dist/cli/mcp/management/dev.mcp.list.impl.consumer.d.ts +29 -0
  296. package/dist/cli/mcp/management/dev.mcp.list.impl.consumer.d.ts.map +1 -0
  297. package/dist/cli/mcp/management/dev.mcp.list.impl.consumer.js +127 -0
  298. package/dist/cli/mcp/management/dev.mcp.list.impl.consumer.js.map +1 -0
  299. package/dist/cli/mcp/management/dev.mcp.status.descriptor.d.ts +48 -0
  300. package/dist/cli/mcp/management/dev.mcp.status.descriptor.d.ts.map +1 -0
  301. package/dist/cli/mcp/management/dev.mcp.status.descriptor.js +56 -0
  302. package/dist/cli/mcp/management/dev.mcp.status.descriptor.js.map +1 -0
  303. package/dist/cli/mcp/management/dev.mcp.status.impl.consumer.d.ts +9 -0
  304. package/dist/cli/mcp/management/dev.mcp.status.impl.consumer.d.ts.map +1 -0
  305. package/dist/cli/mcp/management/dev.mcp.status.impl.consumer.js +253 -0
  306. package/dist/cli/mcp/management/dev.mcp.status.impl.consumer.js.map +1 -0
  307. package/dist/cli/mcp/management/install-helpers.d.ts +26 -0
  308. package/dist/cli/mcp/management/install-helpers.d.ts.map +1 -0
  309. package/dist/cli/mcp/management/install-helpers.js +95 -0
  310. package/dist/cli/mcp/management/install-helpers.js.map +1 -0
  311. package/dist/cli/mcp/management/process-audit.impl.consumer.d.ts +38 -0
  312. package/dist/cli/mcp/management/process-audit.impl.consumer.d.ts.map +1 -0
  313. package/dist/cli/mcp/management/process-audit.impl.consumer.js +145 -0
  314. package/dist/cli/mcp/management/process-audit.impl.consumer.js.map +1 -0
  315. package/dist/cli/mcp/management/rules-debt-summary.impl.consumer.d.ts +21 -0
  316. package/dist/cli/mcp/management/rules-debt-summary.impl.consumer.d.ts.map +1 -0
  317. package/dist/cli/mcp/management/rules-debt-summary.impl.consumer.js +82 -0
  318. package/dist/cli/mcp/management/rules-debt-summary.impl.consumer.js.map +1 -0
  319. package/dist/cli/mcp/management/status-doctor.d.ts +22 -0
  320. package/dist/cli/mcp/management/status-doctor.d.ts.map +1 -0
  321. package/dist/cli/mcp/management/status-doctor.js +153 -0
  322. package/dist/cli/mcp/management/status-doctor.js.map +1 -0
  323. package/dist/cli/mcp/schemas/status-doctor.d.ts +75 -0
  324. package/dist/cli/mcp/schemas/status-doctor.d.ts.map +1 -0
  325. package/dist/cli/mcp/schemas/status-doctor.js +2 -0
  326. package/dist/cli/mcp/schemas/status-doctor.js.map +1 -0
  327. package/dist/cli/mcp/support/host-port.d.ts +31 -0
  328. package/dist/cli/mcp/support/host-port.d.ts.map +1 -0
  329. package/dist/cli/mcp/support/host-port.js +31 -0
  330. package/dist/cli/mcp/support/host-port.js.map +1 -0
  331. package/dist/cli/mcp/support/server-process.impl.consumer.d.ts +24 -0
  332. package/dist/cli/mcp/support/server-process.impl.consumer.d.ts.map +1 -0
  333. package/dist/cli/mcp/support/server-process.impl.consumer.js +86 -0
  334. package/dist/cli/mcp/support/server-process.impl.consumer.js.map +1 -0
  335. package/dist/cli/mcp/support/status-doctor.d.ts +33 -0
  336. package/dist/cli/mcp/support/status-doctor.d.ts.map +1 -0
  337. package/dist/cli/mcp/support/status-doctor.js +104 -0
  338. package/dist/cli/mcp/support/status-doctor.js.map +1 -0
  339. package/dist/cli/print.d.ts +12 -0
  340. package/dist/cli/print.d.ts.map +1 -0
  341. package/dist/cli/print.js +25 -0
  342. package/dist/cli/print.js.map +1 -0
  343. package/dist/cli/surface-mcp/client-connection-identity.consumer.d.ts +19 -0
  344. package/dist/cli/surface-mcp/client-connection-identity.consumer.d.ts.map +1 -0
  345. package/dist/cli/surface-mcp/client-connection-identity.consumer.js +53 -0
  346. package/dist/cli/surface-mcp/client-connection-identity.consumer.js.map +1 -0
  347. package/dist/cli/surface-mcp/dev.mcp.serve.impl.cloud.d.ts +7 -0
  348. package/dist/cli/surface-mcp/dev.mcp.serve.impl.cloud.d.ts.map +1 -0
  349. package/dist/cli/surface-mcp/dev.mcp.serve.impl.cloud.js +345 -0
  350. package/dist/cli/surface-mcp/dev.mcp.serve.impl.cloud.js.map +1 -0
  351. package/dist/cli/surface-mcp/dev.mcp.serve.impl.consumer.d.ts +12 -0
  352. package/dist/cli/surface-mcp/dev.mcp.serve.impl.consumer.d.ts.map +1 -0
  353. package/dist/cli/surface-mcp/dev.mcp.serve.impl.consumer.js +657 -0
  354. package/dist/cli/surface-mcp/dev.mcp.serve.impl.consumer.js.map +1 -0
  355. package/dist/cli/surface-mcp/local-dev-flag.d.ts +24 -0
  356. package/dist/cli/surface-mcp/local-dev-flag.d.ts.map +1 -0
  357. package/dist/cli/surface-mcp/local-dev-flag.js +37 -0
  358. package/dist/cli/surface-mcp/local-dev-flag.js.map +1 -0
  359. package/dist/cli/surface-mcp/shared-host-startup.d.ts +14 -0
  360. package/dist/cli/surface-mcp/shared-host-startup.d.ts.map +1 -0
  361. package/dist/cli/surface-mcp/shared-host-startup.js +46 -0
  362. package/dist/cli/surface-mcp/shared-host-startup.js.map +1 -0
  363. package/dist/cli/surface-mcp/stdio-relay-transport.d.ts +2 -0
  364. package/dist/cli/surface-mcp/stdio-relay-transport.d.ts.map +1 -0
  365. package/dist/cli/surface-mcp/stdio-relay-transport.js +21 -0
  366. package/dist/cli/surface-mcp/stdio-relay-transport.js.map +1 -0
  367. package/dist/cli/surface-mcp/teardown.d.ts +17 -0
  368. package/dist/cli/surface-mcp/teardown.d.ts.map +1 -0
  369. package/dist/cli/surface-mcp/teardown.js +28 -0
  370. package/dist/cli/surface-mcp/teardown.js.map +1 -0
  371. package/dist/client.d.ts +49 -0
  372. package/dist/client.d.ts.map +1 -0
  373. package/dist/client.js +131 -0
  374. package/dist/client.js.map +1 -0
  375. package/dist/config/load.d.ts +6 -0
  376. package/dist/config/load.d.ts.map +1 -0
  377. package/dist/config/load.js +18 -0
  378. package/dist/config/load.js.map +1 -0
  379. package/dist/config/mcp.config.descriptor.d.ts +108 -0
  380. package/dist/config/mcp.config.descriptor.d.ts.map +1 -0
  381. package/dist/config/mcp.config.descriptor.js +63 -0
  382. package/dist/config/mcp.config.descriptor.js.map +1 -0
  383. package/dist/docs/mcp.docs.descriptor.d.ts +4 -0
  384. package/dist/docs/mcp.docs.descriptor.d.ts.map +1 -0
  385. package/dist/docs/mcp.docs.descriptor.js +44 -0
  386. package/dist/docs/mcp.docs.descriptor.js.map +1 -0
  387. package/dist/docs/prompts.docs.descriptor.d.ts +4 -0
  388. package/dist/docs/prompts.docs.descriptor.d.ts.map +1 -0
  389. package/dist/docs/prompts.docs.descriptor.js +130 -0
  390. package/dist/docs/prompts.docs.descriptor.js.map +1 -0
  391. package/dist/docs/resources.docs.descriptor.d.ts +4 -0
  392. package/dist/docs/resources.docs.descriptor.d.ts.map +1 -0
  393. package/dist/docs/resources.docs.descriptor.js +390 -0
  394. package/dist/docs/resources.docs.descriptor.js.map +1 -0
  395. package/dist/docs/server.docs.descriptor.d.ts +4 -0
  396. package/dist/docs/server.docs.descriptor.d.ts.map +1 -0
  397. package/dist/docs/server.docs.descriptor.js +383 -0
  398. package/dist/docs/server.docs.descriptor.js.map +1 -0
  399. package/dist/docs/tools.docs.descriptor.d.ts +4 -0
  400. package/dist/docs/tools.docs.descriptor.d.ts.map +1 -0
  401. package/dist/docs/tools.docs.descriptor.js +316 -0
  402. package/dist/docs/tools.docs.descriptor.js.map +1 -0
  403. package/dist/harness-identity.descriptors.d.ts +11 -0
  404. package/dist/harness-identity.descriptors.d.ts.map +1 -0
  405. package/dist/harness-identity.descriptors.js +41 -0
  406. package/dist/harness-identity.descriptors.js.map +1 -0
  407. package/dist/index.d.ts +36 -0
  408. package/dist/index.d.ts.map +1 -0
  409. package/dist/index.js +36 -0
  410. package/dist/index.js.map +1 -0
  411. package/dist/kinds/harness-identity.kind.d.ts +3 -0
  412. package/dist/kinds/harness-identity.kind.d.ts.map +1 -0
  413. package/dist/kinds/harness-identity.kind.js +16 -0
  414. package/dist/kinds/harness-identity.kind.js.map +1 -0
  415. package/dist/kinds/sampling.kind.d.ts +15 -0
  416. package/dist/kinds/sampling.kind.d.ts.map +1 -0
  417. package/dist/kinds/sampling.kind.js +24 -0
  418. package/dist/kinds/sampling.kind.js.map +1 -0
  419. package/dist/lifecycle-repeat.d.ts +23 -0
  420. package/dist/lifecycle-repeat.d.ts.map +1 -0
  421. package/dist/lifecycle-repeat.js +21 -0
  422. package/dist/lifecycle-repeat.js.map +1 -0
  423. package/dist/mcp/dev.mcp.descriptor.d.ts +18 -0
  424. package/dist/mcp/dev.mcp.descriptor.d.ts.map +1 -0
  425. package/dist/mcp/dev.mcp.descriptor.js +18 -0
  426. package/dist/mcp/dev.mcp.descriptor.js.map +1 -0
  427. package/dist/mcp/index.d.ts +20 -0
  428. package/dist/mcp/index.d.ts.map +1 -0
  429. package/dist/mcp/index.js +19 -0
  430. package/dist/mcp/index.js.map +1 -0
  431. package/dist/mcp/mcp.plugin.d.ts +9 -0
  432. package/dist/mcp/mcp.plugin.d.ts.map +1 -0
  433. package/dist/mcp/mcp.plugin.js +59 -0
  434. package/dist/mcp/mcp.plugin.js.map +1 -0
  435. package/dist/mcp-client.plugin.d.ts +4 -0
  436. package/dist/mcp-client.plugin.d.ts.map +1 -0
  437. package/dist/mcp-client.plugin.js +13 -0
  438. package/dist/mcp-client.plugin.js.map +1 -0
  439. package/dist/mcp.client.descriptor.d.ts +27 -0
  440. package/dist/mcp.client.descriptor.d.ts.map +1 -0
  441. package/dist/mcp.client.descriptor.js +7 -0
  442. package/dist/mcp.client.descriptor.js.map +1 -0
  443. package/dist/mcp.consumer.plugin.d.ts +4 -0
  444. package/dist/mcp.consumer.plugin.d.ts.map +1 -0
  445. package/dist/mcp.consumer.plugin.js +19 -0
  446. package/dist/mcp.consumer.plugin.js.map +1 -0
  447. package/dist/mcp.runtime.plugin.d.ts +10 -0
  448. package/dist/mcp.runtime.plugin.d.ts.map +1 -0
  449. package/dist/mcp.runtime.plugin.js +40 -0
  450. package/dist/mcp.runtime.plugin.js.map +1 -0
  451. package/dist/root-state.d.ts +3 -0
  452. package/dist/root-state.d.ts.map +1 -0
  453. package/dist/root-state.js +3 -0
  454. package/dist/root-state.js.map +1 -0
  455. package/dist/schemas/api-endpoint.d.ts +12 -0
  456. package/dist/schemas/api-endpoint.d.ts.map +1 -0
  457. package/dist/schemas/api-endpoint.js +11 -0
  458. package/dist/schemas/api-endpoint.js.map +1 -0
  459. package/dist/schemas/audit.d.ts +172 -0
  460. package/dist/schemas/audit.d.ts.map +1 -0
  461. package/dist/schemas/audit.js +82 -0
  462. package/dist/schemas/audit.js.map +1 -0
  463. package/dist/schemas/harness-identity.d.ts +41 -0
  464. package/dist/schemas/harness-identity.d.ts.map +1 -0
  465. package/dist/schemas/harness-identity.js +19 -0
  466. package/dist/schemas/harness-identity.js.map +1 -0
  467. package/dist/schemas/host-adapters.d.ts +14 -0
  468. package/dist/schemas/host-adapters.d.ts.map +1 -0
  469. package/dist/schemas/host-adapters.js +7 -0
  470. package/dist/schemas/host-adapters.js.map +1 -0
  471. package/dist/schemas/projection.d.ts +10 -0
  472. package/dist/schemas/projection.d.ts.map +1 -0
  473. package/dist/schemas/projection.js +9 -0
  474. package/dist/schemas/projection.js.map +1 -0
  475. package/dist/schemas/tool.d.ts +8 -0
  476. package/dist/schemas/tool.d.ts.map +1 -0
  477. package/dist/schemas/tool.js +8 -0
  478. package/dist/schemas/tool.js.map +1 -0
  479. package/dist/surface-mcp/build-provenance.d.ts +67 -0
  480. package/dist/surface-mcp/build-provenance.d.ts.map +1 -0
  481. package/dist/surface-mcp/build-provenance.js +287 -0
  482. package/dist/surface-mcp/build-provenance.js.map +1 -0
  483. package/dist/surface-mcp/crash-reporting.d.ts +28 -0
  484. package/dist/surface-mcp/crash-reporting.d.ts.map +1 -0
  485. package/dist/surface-mcp/crash-reporting.js +41 -0
  486. package/dist/surface-mcp/crash-reporting.js.map +1 -0
  487. package/dist/surface-mcp/executable-freshness-watch.d.ts +89 -0
  488. package/dist/surface-mcp/executable-freshness-watch.d.ts.map +1 -0
  489. package/dist/surface-mcp/executable-freshness-watch.js +225 -0
  490. package/dist/surface-mcp/executable-freshness-watch.js.map +1 -0
  491. package/dist/surface-mcp/host-provenance-banner.d.ts +49 -0
  492. package/dist/surface-mcp/host-provenance-banner.d.ts.map +1 -0
  493. package/dist/surface-mcp/host-provenance-banner.js +135 -0
  494. package/dist/surface-mcp/host-provenance-banner.js.map +1 -0
  495. package/dist/surface-mcp/index.d.ts +51 -0
  496. package/dist/surface-mcp/index.d.ts.map +1 -0
  497. package/dist/surface-mcp/index.js +92 -0
  498. package/dist/surface-mcp/index.js.map +1 -0
  499. package/dist/surface-mcp/local-tools-bootstrap.d.ts +36 -0
  500. package/dist/surface-mcp/local-tools-bootstrap.d.ts.map +1 -0
  501. package/dist/surface-mcp/local-tools-bootstrap.js +43 -0
  502. package/dist/surface-mcp/local-tools-bootstrap.js.map +1 -0
  503. package/dist/surface-mcp/mcp-serve.plugin.d.ts +9 -0
  504. package/dist/surface-mcp/mcp-serve.plugin.d.ts.map +1 -0
  505. package/dist/surface-mcp/mcp-serve.plugin.js +24 -0
  506. package/dist/surface-mcp/mcp-serve.plugin.js.map +1 -0
  507. package/dist/surface-mcp/project-config.d.ts +35 -0
  508. package/dist/surface-mcp/project-config.d.ts.map +1 -0
  509. package/dist/surface-mcp/project-config.js +74 -0
  510. package/dist/surface-mcp/project-config.js.map +1 -0
  511. package/dist/surface-mcp/serve-lifecycle.d.ts +102 -0
  512. package/dist/surface-mcp/serve-lifecycle.d.ts.map +1 -0
  513. package/dist/surface-mcp/serve-lifecycle.js +343 -0
  514. package/dist/surface-mcp/serve-lifecycle.js.map +1 -0
  515. package/dist/surface-mcp/session-bridge.d.ts +18 -0
  516. package/dist/surface-mcp/session-bridge.d.ts.map +1 -0
  517. package/dist/surface-mcp/session-bridge.js +26 -0
  518. package/dist/surface-mcp/session-bridge.js.map +1 -0
  519. package/dist/surface-mcp/subscriptions/session.bound.workspace.descriptor.d.ts +13 -0
  520. package/dist/surface-mcp/subscriptions/session.bound.workspace.descriptor.d.ts.map +1 -0
  521. package/dist/surface-mcp/subscriptions/session.bound.workspace.descriptor.js +13 -0
  522. package/dist/surface-mcp/subscriptions/session.bound.workspace.descriptor.js.map +1 -0
  523. package/dist/surface-mcp/subscriptions/session.bound.workspace.impl.consumer.d.ts +11 -0
  524. package/dist/surface-mcp/subscriptions/session.bound.workspace.impl.consumer.d.ts.map +1 -0
  525. package/dist/surface-mcp/subscriptions/session.bound.workspace.impl.consumer.js +36 -0
  526. package/dist/surface-mcp/subscriptions/session.bound.workspace.impl.consumer.js.map +1 -0
  527. package/dist/surface-mcp/workspace-warning.d.ts +16 -0
  528. package/dist/surface-mcp/workspace-warning.d.ts.map +1 -0
  529. package/dist/surface-mcp/workspace-warning.js +44 -0
  530. package/dist/surface-mcp/workspace-warning.js.map +1 -0
  531. package/dist/svelte/index.d.ts +12 -0
  532. package/dist/svelte/index.d.ts.map +1 -0
  533. package/dist/svelte/index.js +11 -0
  534. package/dist/svelte/mcp-svelte.plugin.d.ts +10 -0
  535. package/dist/svelte/mcp-svelte.plugin.d.ts.map +1 -0
  536. package/dist/svelte/mcp-svelte.plugin.js +24 -0
  537. package/dist/svelte/tool-widgets/VibesContextToolCard.svelte +91 -0
  538. package/dist/svelte/tool-widgets/VibesContextToolCard.svelte.d.ts +9 -0
  539. package/dist/svelte/tool-widgets/VibesContextToolCard.svelte.d.ts.map +1 -0
  540. package/dist/svelte/tool-widgets/index.d.ts +3 -0
  541. package/dist/svelte/tool-widgets/index.d.ts.map +1 -0
  542. package/dist/svelte/tool-widgets/index.js +2 -0
  543. package/dist/svelte/tool-widgets/summary.d.ts +48 -0
  544. package/dist/svelte/tool-widgets/summary.d.ts.map +1 -0
  545. package/dist/svelte/tool-widgets/summary.js +117 -0
  546. package/dist/tools/vibes-context/schemas.d.ts +85 -0
  547. package/dist/tools/vibes-context/schemas.d.ts.map +1 -0
  548. package/dist/tools/vibes-context/schemas.js +76 -0
  549. package/dist/tools/vibes-context/schemas.js.map +1 -0
  550. package/dist/tools/vibes-context/vibes-context.descriptor.d.ts +4 -0
  551. package/dist/tools/vibes-context/vibes-context.descriptor.d.ts.map +1 -0
  552. package/dist/tools/vibes-context/vibes-context.descriptor.js +30 -0
  553. package/dist/tools/vibes-context/vibes-context.descriptor.js.map +1 -0
  554. package/dist/tools/vibes-context/vibes-context.impl.d.ts +34 -0
  555. package/dist/tools/vibes-context/vibes-context.impl.d.ts.map +1 -0
  556. package/dist/tools/vibes-context/vibes-context.impl.js +207 -0
  557. package/dist/tools/vibes-context/vibes-context.impl.js.map +1 -0
  558. package/dist/tui/index.d.ts +4 -0
  559. package/dist/tui/index.d.ts.map +1 -0
  560. package/dist/tui/index.js +4 -0
  561. package/dist/tui/index.js.map +1 -0
  562. package/dist/tui/mcp-health.d.ts +7 -0
  563. package/dist/tui/mcp-health.d.ts.map +1 -0
  564. package/dist/tui/mcp-health.js +16 -0
  565. package/dist/tui/mcp-health.js.map +1 -0
  566. package/dist/tui/mcp-tui.plugin.d.ts +3 -0
  567. package/dist/tui/mcp-tui.plugin.d.ts.map +1 -0
  568. package/dist/tui/mcp-tui.plugin.js +18 -0
  569. package/dist/tui/mcp-tui.plugin.js.map +1 -0
  570. package/dist/tui/mcp.tui-app.descriptor.d.ts +4 -0
  571. package/dist/tui/mcp.tui-app.descriptor.d.ts.map +1 -0
  572. package/dist/tui/mcp.tui-app.descriptor.js +19 -0
  573. package/dist/tui/mcp.tui-app.descriptor.js.map +1 -0
  574. package/dist/tui/mcp.tui-app.impl.consumer.d.ts +4 -0
  575. package/dist/tui/mcp.tui-app.impl.consumer.d.ts.map +1 -0
  576. package/dist/tui/mcp.tui-app.impl.consumer.js +48 -0
  577. package/dist/tui/mcp.tui-app.impl.consumer.js.map +1 -0
  578. package/dist/tui/mcp.tui-state.descriptor.d.ts +8 -0
  579. package/dist/tui/mcp.tui-state.descriptor.d.ts.map +1 -0
  580. package/dist/tui/mcp.tui-state.descriptor.js +37 -0
  581. package/dist/tui/mcp.tui-state.descriptor.js.map +1 -0
  582. package/dist/tui/mcp.tui-state.impl.consumer.d.ts +5 -0
  583. package/dist/tui/mcp.tui-state.impl.consumer.d.ts.map +1 -0
  584. package/dist/tui/mcp.tui-state.impl.consumer.js +97 -0
  585. package/dist/tui/mcp.tui-state.impl.consumer.js.map +1 -0
  586. package/dist/tui/mcp.tui-state.key.d.ts +45 -0
  587. package/dist/tui/mcp.tui-state.key.d.ts.map +1 -0
  588. package/dist/tui/mcp.tui-state.key.js +25 -0
  589. package/dist/tui/mcp.tui-state.key.js.map +1 -0
  590. package/dist/types.core.d.ts +25 -0
  591. package/dist/types.core.d.ts.map +1 -0
  592. package/dist/types.core.js +8 -0
  593. package/dist/types.core.js.map +1 -0
  594. package/dist/types.d.ts +71 -0
  595. package/dist/types.d.ts.map +1 -0
  596. package/dist/types.js +2 -0
  597. package/dist/types.js.map +1 -0
  598. package/dist/types.registry.d.ts +93 -0
  599. package/dist/types.registry.d.ts.map +1 -0
  600. package/dist/types.registry.js +32 -0
  601. package/dist/types.registry.js.map +1 -0
  602. package/package.json +323 -4
@@ -0,0 +1,383 @@
1
+ const descriptor = {
2
+ kind: 'docs/topic',
3
+ id: 'mcp.server',
4
+ title: 'MCP Server',
5
+ summary: 'Model Context Protocol server setup, transport, and lifecycle',
6
+ body: {
7
+ type: 'markdown',
8
+ sourceType: 'raw',
9
+ source: `---
10
+ title: MCP Server
11
+ summary: Model Context Protocol server setup and lifecycle management
12
+ tags: [mcp, server, transport, lifecycle, protocol]
13
+ parent: mcp
14
+ order: 1
15
+ surfaces: [cli, web, in-app]
16
+ hardware: [consumer, cloud]
17
+ man:
18
+ name: "mcp.server — MCP server setup and lifecycle"
19
+ section: 1
20
+ synopsis: "vibes man mcp.server"
21
+ seeAlso: ["mcp.tools", "dev.mcp.start", "dev.mcp.serve"]
22
+ ---
23
+
24
+ The **Model Context Protocol (MCP)** server enables AI agents to discover and invoke tools, access resources, and use prompts from the runtime.
25
+
26
+ ## Server architecture
27
+
28
+ MCP server exposes runtime capabilities via standard protocol:
29
+
30
+ \`\`\`
31
+ ┌─────────────────┐
32
+ │ MCP Client │ ←→ MCP Protocol (JSON-RPC)
33
+ │ (Claude, etc.) │
34
+ └─────────────────┘
35
+ ↓
36
+ ┌─────────────────┐
37
+ │ MCP Server │ ←→ Runtime (tools/resources/prompts)
38
+ │ (@vibesdotdev/mcp)
39
+ └─────────────────┘
40
+ \`\`\`
41
+
42
+ ## Transport modes
43
+
44
+ ### Stdio transport (default)
45
+
46
+ Communicate via standard streams:
47
+
48
+ \`\`\`ts
49
+ import { createMcpAdapter } from '@vibesdotdev/mcp/adapters/mcp';
50
+
51
+ const adapter = createMcpAdapter(runtime, { mode: 'stdio', preset: 'full' }, logger);
52
+ await adapter.start();
53
+ // On host shutdown:
54
+ await adapter.shutdown();
55
+ \`\`\`
56
+
57
+ **Use when:** Local MCP clients (Claude Desktop, IDE plugins).
58
+
59
+ ### HTTP transport (Web Standard streamable HTTP)
60
+
61
+ Bun-native HTTP server using Web Standard APIs (not SSE):
62
+
63
+ \`\`\`ts
64
+ import { createBunMcpServer } from '@vibesdotdev/mcp/adapters';
65
+ import { createMcpAuthenticator } from '@vibesdotdev/mcp';
66
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
67
+ import { getRuntimeHttpListener } from '@vibesdotdev/kernel';
68
+
69
+ const server = createBunMcpServer({
70
+ listener: getRuntimeHttpListener(runtime),
71
+ port: 3001,
72
+ hostname: '0.0.0.0',
73
+ buildServer: () => new McpServer({ name: 'my-server', version: '1.0.0' }),
74
+ logger: myLogger,
75
+ lifecycle: runtime.lifecycle,
76
+ authenticate: createMcpAuthenticator({ remote: true, scope: 'mcp' })
77
+ });
78
+
79
+ await server.start();
80
+ \`\`\`
81
+
82
+ \`lifecycle\` is the serving runtime's: idle sessions expire per request on every
83
+ host, and a persistent host also sweeps them on its runtime-owned interval (a
84
+ finite host has no background sweep). Disposing the runtime clears it.
85
+
86
+ **Use when:** Remote MCP clients, cloud deployments, Workers (use \`createMcpFetchHandler\` instead of \`createBunMcpServer\` in a Workers environment).
87
+
88
+ **Note:** This transport uses Web Standard streamable HTTP (MCP Streamable HTTP transport; the SDK negotiates protocol version, defaulting to 2025-03-26 and supporting up to 2025-11-25). There are no \`/mcp/sse\` or \`/mcp/message\` endpoints — the server handles all MCP traffic through a single fetch handler.
89
+
90
+ ## Server lifecycle
91
+
92
+ ### Starting MCP server
93
+
94
+ \`\`\`bash
95
+ vibes dev mcp start
96
+ \`\`\`
97
+
98
+ Starts MCP server in background with stdio transport.
99
+
100
+ ### Serving HTTP endpoint
101
+
102
+ \`\`\`bash
103
+ vibes dev mcp serve --port 3001
104
+ \`\`\`
105
+
106
+ Starts HTTP server using Web Standard streamable HTTP transport (not SSE).
107
+
108
+ ### Stopping server
109
+
110
+ \`\`\`bash
111
+ vibes dev mcp stop
112
+ \`\`\`
113
+
114
+ Gracefully shuts down server.
115
+
116
+ ### Restarting server
117
+
118
+ \`\`\`bash
119
+ vibes dev mcp restart
120
+ \`\`\`
121
+
122
+ Stops and restarts server (picks up config changes).
123
+
124
+ ## Server configuration
125
+
126
+ ### MCP adapter options
127
+
128
+ \`\`\`ts
129
+ import type { McpAdapterOptions } from '@vibesdotdev/mcp';
130
+ import { createMcpAdapter } from '@vibesdotdev/mcp/adapters/mcp';
131
+ import { createMcpAuthenticator } from '@vibesdotdev/mcp';
132
+
133
+ // \`runtime\` is the VibesRuntime handed to your host entry. The token is a credential.
134
+ const token = await runtime.resolveCredential({ source: 'secret', key: 'MCP_TOKEN' });
135
+ if (!token.ok) throw token.error;
136
+
137
+ const options: McpAdapterOptions = {
138
+ mode: 'http', // 'stdio' | 'http'
139
+ mcpClientId: 'claude-desktop', // Client identifier (optional)
140
+ logLevel: 'info', // LogLevel (optional)
141
+ toolExecutionTimeoutMs: 30_000, // Per-tool timeout (optional)
142
+ port: 3001, // http mode only
143
+ authenticate: createMcpAuthenticator({
144
+ apiKeys: [token.value],
145
+ scope: 'mcp'
146
+ }) // optional; omit for unauthenticated
147
+ };
148
+
149
+ const server = createMcpAdapter(runtime, options, logger);
150
+ \`\`\`
151
+
152
+ ### Capability negotiation
153
+
154
+ Server advertises capabilities during handshake:
155
+
156
+ \`\`\`ts
157
+ capabilities: {
158
+ tools: { listChanged: true }, // Tool discovery
159
+ resources: { listChanged: true }, // Resource access
160
+ prompts: { listChanged: true } // Prompt templates
161
+ }
162
+ \`\`\`
163
+
164
+ Clients can request specific capabilities.
165
+
166
+ ## Tool registration
167
+
168
+ Tools are auto-discovered from runtime:
169
+
170
+ \`\`\`ts
171
+ const descriptors = runtime.query('tools/tool').descriptors();
172
+ for (const descriptor of descriptors) {
173
+ server.registerTool(
174
+ descriptor.id,
175
+ {
176
+ title: descriptor.name,
177
+ description: descriptor.description,
178
+ inputSchema: descriptor.schemas.input,
179
+ outputSchema: descriptor.schemas.output
180
+ },
181
+ async (args) => {
182
+ return invokeTool({ runtime, toolId: descriptor.id, input: args });
183
+ }
184
+ );
185
+ }
186
+ \`\`\`
187
+
188
+ ## Resource registration
189
+
190
+ Resources provide read-only data access:
191
+
192
+ \`\`\`ts
193
+ server.registerResource(
194
+ 'workspace-files',
195
+ 'file://workspace/**',
196
+ {
197
+ description: 'Workspace file contents',
198
+ mimeType: 'text/plain'
199
+ },
200
+ async (uri) => {
201
+ const content = await fs.read(uri.pathname);
202
+ return {
203
+ contents: [{
204
+ uri: uri.href,
205
+ mimeType: 'text/plain',
206
+ text: content
207
+ }]
208
+ };
209
+ }
210
+ );
211
+ \`\`\`
212
+
213
+ ## Prompt registration
214
+
215
+ Prompts provide templated messages:
216
+
217
+ \`\`\`ts
218
+ server.registerPrompt(
219
+ 'code-review',
220
+ {
221
+ description: 'Review code for best practices',
222
+ argsSchema: {
223
+ filePath: z.string().describe('File to review')
224
+ }
225
+ },
226
+ async (args) => {
227
+ const code = await fs.read(args.filePath);
228
+ return {
229
+ messages: [{
230
+ role: 'user',
231
+ content: {
232
+ type: 'text',
233
+ text: \`Review this code:\\n\\n\${code}\`
234
+ }
235
+ }]
236
+ };
237
+ }
238
+ );
239
+ \`\`\`
240
+
241
+ ## Authentication
242
+
243
+ ### Bearer token auth (local allowlist)
244
+
245
+ Pass allowed API keys directly. The returned function is passed as \`authenticate\` to the transport or adapter options.
246
+
247
+ \`\`\`ts
248
+ import { createMcpAuthenticator } from '@vibesdotdev/mcp';
249
+
250
+ const token = await runtime.resolveCredential({ source: 'secret', key: 'MCP_TOKEN' });
251
+ if (!token.ok) throw token.error;
252
+
253
+ const authenticate = createMcpAuthenticator({
254
+ apiKeys: [token.value],
255
+ scope: 'mcp'
256
+ });
257
+
258
+ // Pass to createBunMcpServer:
259
+ const server = createBunMcpServer({ ..., authenticate });
260
+
261
+ // Or pass to createMcpAdapter:
262
+ const adapter = createMcpAdapter(runtime, { ..., authenticate }, logger);
263
+ \`\`\`
264
+
265
+ ### Remote validation (cloud mode)
266
+
267
+ For cloud deployments, configure the host-owned authentication API endpoint:
268
+
269
+ \`\`\`ts
270
+ const authenticate = createMcpAuthenticator({
271
+ remote: true,
272
+ scope: 'mcp',
273
+ authApiBaseUrl: 'https://auth.example.test' // supplied by host composition
274
+ });
275
+ \`\`\`
276
+
277
+ ## Logging
278
+
279
+ MCP server emits structured logs on the logger of the runtime it was handed (never a module-level logger, which has no runtime):
280
+
281
+ \`\`\`ts
282
+ import { getLogger } from '@vibesdotdev/logging';
283
+
284
+ const logger = getLogger('mcp', runtime);
285
+ logger.info('MCP server started', {
286
+ transport: 'stdio',
287
+ capabilities: ['tools', 'resources']
288
+ });
289
+ \`\`\`
290
+
291
+ **Log levels:**
292
+ - \`debug\` — Protocol messages
293
+ - \`info\` — Lifecycle events
294
+ - \`warn\` — Non-critical errors
295
+ - \`error\` — Critical failures
296
+
297
+ ## WRONG: Manual protocol handling
298
+
299
+ \`\`\`ts
300
+ // ❌ NEVER — use createMcpAdapter instead
301
+ const server = new McpServer({ name: 'custom', version: '1.0' });
302
+ // Manual tool registration...
303
+ \`\`\`
304
+
305
+ ## RIGHT: Runtime-integrated server
306
+
307
+ \`\`\`ts
308
+ // ✅ Auto-discovers tools/resources/prompts
309
+ const server = createMcpAdapter(runtime, options, logger);
310
+ \`\`\`
311
+
312
+ ## MCP client configuration
313
+
314
+ ### Claude Desktop
315
+
316
+ \`\`\`json
317
+ {
318
+ "mcpServers": {
319
+ "vibes": {
320
+ "command": "vibes",
321
+ "args": ["dev", "mcp", "start"]
322
+ }
323
+ }
324
+ }
325
+ \`\`\`
326
+
327
+ ### Cursor IDE (and any stdio-capable client)
328
+
329
+ \`\`\`json
330
+ {
331
+ "mcpServers": {
332
+ "vibes": {
333
+ "type": "stdio",
334
+ "command": "vibes",
335
+ "args": ["dev", "mcp", "serve", "--mode", "stdio", "--client", "claude"]
336
+ }
337
+ }
338
+ }
339
+ \`\`\`
340
+
341
+ The stdio relay attaches to the shared runtime host, so there is no fixed URL
342
+ to configure. The HTTP transport's port is derived per workspace (there is no
343
+ fixed \`3001\`) — run \`vibes dev mcp status\` to see the port the current
344
+ workspace is serving on before pointing an HTTP client at it. \`--client\` is
345
+ the legacy catalog/harness selector; \`vibes dev mcp serve --help\` lists the
346
+ newer \`--preset\` / \`--harness\` / \`--agent\` knobs.
347
+
348
+ ## Monitoring
349
+
350
+ Adapters expose start() and shutdown(). They do not expose an event emitter.
351
+ Pass the runtime logger to observe protocol and listener failures. For tool-call
352
+ instrumentation, supply prepareToolCallContext on the tool-aware adapter; it
353
+ receives the canonical tool id, validated input and prepared context before
354
+ invocation. Return the context to preserve the serving authority.
355
+
356
+ Use the projection doctor and live tool audit to compare the observed wire
357
+ catalog with authored descriptors. They report measured bytes, schema loss and
358
+ description drift; policy audit findings and high-severity wire findings retain
359
+ their distinct verdicts.
360
+
361
+ :::card{title="See also"}
362
+ - [\`mcp.tools\`](mcp.tools) — MCP tool exposure
363
+ - [\`mcp.resources\`](mcp.resources) — MCP resources
364
+ - [\`mcp.prompts\`](mcp.prompts) — MCP prompts
365
+ - \`dev.mcp.start\` — Start command reference
366
+ :::
367
+ `
368
+ },
369
+ parent: 'mcp',
370
+ order: 1,
371
+ tags: ['mcp', 'server', 'transport', 'lifecycle', 'protocol'],
372
+ surfaces: ['cli', 'web', 'in-app'],
373
+ hardware: ['consumer', 'cloud'],
374
+ man: {
375
+ name: 'mcp.server — MCP server setup and lifecycle',
376
+ section: 1,
377
+ synopsis: 'vibes man mcp.server',
378
+ seeAlso: ['mcp.tools', 'dev.mcp.start', 'dev.mcp.serve']
379
+ },
380
+ enabled: true
381
+ };
382
+ export default descriptor;
383
+ //# sourceMappingURL=server.docs.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.docs.descriptor.js","sourceRoot":"","sources":["../../src/docs/server.docs.descriptor.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAwB;IACtC,IAAI,EAAE,YAAY;IAClB,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,YAAY;IACnB,OAAO,EAAE,+DAA+D;IACxE,IAAI,EAAE;QACJ,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsWX;KACE;IACD,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC;IAC7D,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;IAClC,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;IAC/B,GAAG,EAAE;QACH,IAAI,EAAE,6CAA6C;QACnD,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,sBAAsB;QAChC,OAAO,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,CAAC;KACzD;IACD,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { DocsTopicDescriptor } from '@vibesdotdev/docs-contracts';
2
+ declare const descriptor: DocsTopicDescriptor;
3
+ export default descriptor;
4
+ //# sourceMappingURL=tools.docs.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.docs.descriptor.d.ts","sourceRoot":"","sources":["../../src/docs/tools.docs.descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,QAAA,MAAM,UAAU,EAAE,mBAyTjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,316 @@
1
+ const descriptor = {
2
+ kind: 'docs/topic',
3
+ id: 'mcp.tools',
4
+ title: 'MCP Tools',
5
+ summary: 'Tool exposure, discovery, and invocation via MCP protocol',
6
+ body: {
7
+ type: 'markdown',
8
+ sourceType: 'raw',
9
+ source: `---
10
+ title: MCP Tools
11
+ summary: Expose and invoke runtime tools via Model Context Protocol
12
+ tags: [mcp, tools, discovery, invocation, adapters]
13
+ parent: mcp
14
+ order: 2
15
+ surfaces: [cli, web, in-app]
16
+ hardware: [consumer, cloud]
17
+ ---
18
+
19
+ MCP **tools** are callable functions exposed to AI clients. The MCP server auto-discovers \`tools/tool\` descriptors from the runtime and exposes them via the protocol.
20
+
21
+ MCP owns one orientation tool: \`vibes-context\`. It returns a read-only snapshot of workspace path, project id, atlas index, workspace file index, and the bound work session. Chat surfaces render that payload with a designed Kit \`ToolCard\` registered as \`tools/ui\` by \`@vibesdotdev/mcp/svelte/plugin\` — not a JSON dump and not a host-local card table.
22
+
23
+ ## Tool discovery
24
+
25
+ MCP server queries runtime for available tools:
26
+
27
+ \`\`\`ts
28
+ const descriptors = runtime.query('tools/tool').descriptors();
29
+ const enabled = runtime.query('tools/tool').enabled().descriptors();
30
+ \`\`\`
31
+
32
+ Tools are filtered based on:
33
+ 1. **Enabled status** — Disabled tools not exposed
34
+ 2. **MCP client ID** — Some tools client-specific
35
+ 3. **Safety category** — High-risk tools may require approval
36
+
37
+ ## Tool exposure
38
+
39
+ Each tool registers with MCP server:
40
+
41
+ \`\`\`ts
42
+ server.registerTool(
43
+ descriptor.id,
44
+ {
45
+ title: descriptor.name ?? descriptor.id,
46
+ description: resolveMcpDescription(descriptor),
47
+ inputSchema: flattenDiscriminatedUnion(descriptor.schemas.input),
48
+ outputSchema: descriptor.schemas.output,
49
+ annotations: deriveMcpAnnotations(descriptor.safety)
50
+ },
51
+ async (args, extra) => {
52
+ // Invoke through runtime
53
+ const result = await invokeTool({
54
+ runtime,
55
+ toolId: descriptor.id,
56
+ input: args,
57
+ ctx: {
58
+ callId: \`mcp_\${Date.now()}_\${crypto.randomUUID()}\`,
59
+ signal: extra.signal,
60
+ sendProgress: extra.sendProgress
61
+ }
62
+ });
63
+
64
+ return formatMcpResponse(result);
65
+ }
66
+ );
67
+ \`\`\`
68
+
69
+ ## Schema conversion
70
+
71
+ A tool's \`schemas.input\` zod schema is converted to MCP JSON Schema by the MCP
72
+ adapter when it serves \`tools/list\` (Zod's JSON Schema generation, then pattern and
73
+ union-branch tightening). Tool authors write the zod schema; there is no conversion
74
+ call to make:
75
+
76
+ \`\`\`ts
77
+ schemas: {
78
+ input: z.object({
79
+ path: z.string().describe('File path to read'),
80
+ encoding: z.enum(['utf8', 'binary']).optional()
81
+ })
82
+ }
83
+ \`\`\`
84
+
85
+ **Supported Zod features:**
86
+ - ✅ \`z.string()\`, \`z.number()\`, \`z.boolean()\`
87
+ - ✅ \`z.object()\` with nested properties
88
+ - ✅ \`z.enum()\` for fixed options
89
+ - ✅ \`z.array()\` for lists
90
+ - ✅ \`z.optional()\` for optional fields
91
+ - ✅ \`z.describe()\` for field descriptions
92
+
93
+ **Discriminated unions:** Flattened to merged object schema:
94
+
95
+ \`\`\`ts
96
+ // Zod discriminated union
97
+ const schema = z.discriminatedUnion('action', [
98
+ z.object({ action: z.literal('read'), path: z.string() }),
99
+ z.object({ action: z.literal('write'), path: z.string(), content: z.string() })
100
+ ]);
101
+
102
+ // MCP schema (flattened)
103
+ {
104
+ type: 'object',
105
+ properties: {
106
+ action: { type: 'string', enum: ['read', 'write'] },
107
+ path: { type: 'string' },
108
+ content: { type: 'string', optional: true }
109
+ }
110
+ }
111
+ \`\`\`
112
+
113
+ ## Tool annotations
114
+
115
+ MCP annotations provide hints to clients:
116
+
117
+ \`\`\`ts
118
+ annotations: {
119
+ readOnlyHint: true, // Tool doesn't modify state
120
+ destructiveHint: false, // Tool doesn't delete/destroy
121
+ idempotentHint: true, // Multiple calls = same result
122
+ openWorldHint: false // Tool operates in closed system
123
+ }
124
+ \`\`\`
125
+
126
+ Derived from tool safety category:
127
+ - \`read\` → readOnlyHint: true
128
+ - \`write\` → destructiveHint: true
129
+ - \`execute\` → openWorldHint: true
130
+
131
+ ## Tool invocation flow
132
+
133
+ \`\`\`
134
+ 1. MCP client calls tools/list
135
+ ↓
136
+ 2. Server returns available tools
137
+ ↓
138
+ 3. Client calls tools/call with tool ID + args
139
+ ↓
140
+ 4. Server invokes tool via runtime.invokeTool()
141
+ ↓
142
+ 5. Tool executes (may call other tools, access resources)
143
+ ↓
144
+ 6. Result formatted as MCP response
145
+ ↓
146
+ 7. Client receives result
147
+ \`\`\`
148
+
149
+ ## Response formatting
150
+
151
+ Tool results formatted per MCP spec:
152
+
153
+ \`\`\`ts
154
+ // String result
155
+ {
156
+ content: [{ type: 'text', text: 'Operation successful' }]
157
+ }
158
+
159
+ // Object result
160
+ {
161
+ content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
162
+ structuredContent: result // Typed data for clients
163
+ }
164
+
165
+ // MCP content (from tool)
166
+ {
167
+ content: [
168
+ { type: 'text', text: 'Processing...' },
169
+ { type: 'resource_link', name: 'file.txt', uri: 'file://file.txt' }
170
+ ]
171
+ }
172
+
173
+ // Error result
174
+ {
175
+ content: [{ type: 'text', text: 'Error: Permission denied' }],
176
+ isError: true,
177
+ _meta: {
178
+ errorCode: 'PERMISSION_DENIED',
179
+ recoveryHint: 'Grant workspace access first',
180
+ suggestedToolCall: {
181
+ toolId: 'workspace-grant',
182
+ input: { path: '/workspace' }
183
+ }
184
+ }
185
+ }
186
+ \`\`\`
187
+
188
+ ## Trust tags
189
+
190
+ Tool outputs wrapped with trust tags for prompt injection protection:
191
+
192
+ \`\`\`ts
193
+ // Trust tier derived from safety category
194
+ const trustTier = deriveTrustTier(descriptor); // 'low' | 'medium' | 'high'
195
+
196
+ // Wrap output with nonce-tagged boundary
197
+ const wrapped = wrapToolOutputText({
198
+ toolId: descriptor.id,
199
+ tier: trustTier,
200
+ text: result,
201
+ nonce: callNonce // Unique per tool call
202
+ });
203
+ \`\`\`
204
+
205
+ Prevents injected instructions in tool output from impersonating system content.
206
+
207
+ ## Progress reporting
208
+
209
+ Tools can report progress during execution:
210
+
211
+ \`\`\`ts
212
+ async (args, extra) => {
213
+ extra.sendProgress?.({
214
+ progress: 0.5, // 50% complete
215
+ total: 100,
216
+ message: 'Processing files...'
217
+ });
218
+
219
+ const result = await invokeTool({ ... });
220
+ return formatMcpResponse(result);
221
+ }
222
+ \`\`\`
223
+
224
+ ## Cancellation
225
+
226
+ Tools support cancellation via AbortSignal:
227
+
228
+ \`\`\`ts
229
+ async (args, extra) => {
230
+ if (extra.signal?.aborted) {
231
+ throw new Error('Tool call cancelled');
232
+ }
233
+
234
+ return invokeTool({
235
+ ...,
236
+ ctx: { signal: extra.signal }
237
+ });
238
+ }
239
+ \`\`\`
240
+
241
+ ## Tool selection presets
242
+
243
+ MCP clients can request tool subsets:
244
+
245
+ \`\`\`ts
246
+ import { selectMcpTools } from '@vibesdotdev/mcp/adapters/mcp';
247
+
248
+ const selected = selectMcpTools(descriptors, {
249
+ mcpClientId: 'claude-desktop',
250
+ preset: 'minimal' // or 'full', 'safe-only'
251
+ });
252
+ \`\`\`
253
+
254
+ **Presets:**
255
+ - \`minimal\` — Read-only tools (workspace-fs, workspace-fs)
256
+ - \`safe\` — Read + write with confirmation
257
+ - \`full\` — All tools including execute
258
+
259
+ ## WRONG: Manual tool registration
260
+
261
+ \`\`\`ts
262
+ // ❌ NEVER — bypasses auto-discovery
263
+ server.registerTool('my-tool', {...}, handler);
264
+ \`\`\`
265
+
266
+ ## RIGHT: Runtime auto-discovery
267
+
268
+ \`\`\`ts
269
+ // ✅ Server auto-discovers all tools/tool descriptors
270
+ const server = buildServer(runtime, options, logger);
271
+ \`\`\`
272
+
273
+ ## Tool debugging
274
+
275
+ Enable debug logging:
276
+
277
+ \`\`\`bash
278
+ vibes dev mcp start --log-level debug
279
+ \`\`\`
280
+
281
+ Logs show:
282
+ - Tool discovery results
283
+ - Schema conversion warnings
284
+ - Invocation timing
285
+ - Error details
286
+
287
+ ## Monitoring
288
+
289
+ Track tool usage:
290
+
291
+ \`\`\`ts
292
+ runtime.on('tools/invocation', (event) => {
293
+ metrics.histogram('tools.duration', event.duration);
294
+ metrics.increment(\`tools.\${event.toolId}.calls\`);
295
+
296
+ if (event.error) {
297
+ metrics.increment(\`tools.\${event.toolId}.errors\`);
298
+ }
299
+ });
300
+ \`\`\`
301
+
302
+ :::card{title="See also"}
303
+ - [\`mcp.server\`](mcp.server) — MCP server setup
304
+ - [\`tools.invoke\`](tools.invoke) — invokeTool API
305
+ :::
306
+ `
307
+ },
308
+ parent: 'mcp',
309
+ order: 2,
310
+ tags: ['mcp', 'tools', 'discovery', 'invocation', 'adapters'],
311
+ surfaces: ['cli', 'web', 'in-app'],
312
+ hardware: ['consumer', 'cloud'],
313
+ enabled: true
314
+ };
315
+ export default descriptor;
316
+ //# sourceMappingURL=tools.docs.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.docs.descriptor.js","sourceRoot":"","sources":["../../src/docs/tools.docs.descriptor.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAwB;IACtC,IAAI,EAAE,YAAY;IAClB,EAAE,EAAE,WAAW;IACf,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,2DAA2D;IACpE,IAAI,EAAE;QACJ,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAySX;KACE;IACD,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC;IAC7D,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;IAClC,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;IAC/B,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,eAAe,UAAU,CAAC"}