@assistant-ui/mcp-docs-server 0.1.31 → 0.1.32

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 (247) hide show
  1. package/.docs/organized/code-examples/waterfall.md +8 -8
  2. package/.docs/organized/code-examples/with-a2a.md +10 -10
  3. package/.docs/organized/code-examples/with-ag-ui.md +11 -11
  4. package/.docs/organized/code-examples/with-ai-sdk-v6.md +13 -13
  5. package/.docs/organized/code-examples/with-artifacts.md +13 -13
  6. package/.docs/organized/code-examples/with-assistant-transport.md +10 -10
  7. package/.docs/organized/code-examples/with-browser-extension.md +345 -0
  8. package/.docs/organized/code-examples/with-chain-of-thought.md +54 -17
  9. package/.docs/organized/code-examples/with-cloud-standalone.md +13 -13
  10. package/.docs/organized/code-examples/with-cloud.md +13 -13
  11. package/.docs/organized/code-examples/with-custom-thread-list.md +13 -13
  12. package/.docs/organized/code-examples/with-elevenlabs-conversational.md +17 -16
  13. package/.docs/organized/code-examples/with-elevenlabs-scribe.md +17 -16
  14. package/.docs/organized/code-examples/with-expo.md +24 -24
  15. package/.docs/organized/code-examples/with-external-store.md +10 -10
  16. package/.docs/organized/code-examples/with-ffmpeg.md +13 -13
  17. package/.docs/organized/code-examples/with-generative-ui.md +210 -13
  18. package/.docs/organized/code-examples/with-google-adk.md +10 -10
  19. package/.docs/organized/code-examples/with-heat-graph.md +8 -8
  20. package/.docs/organized/code-examples/with-image-generation.md +454 -0
  21. package/.docs/organized/code-examples/with-interactables.md +13 -13
  22. package/.docs/organized/code-examples/with-langchain.md +12 -12
  23. package/.docs/organized/code-examples/with-langgraph.md +15 -12
  24. package/.docs/organized/code-examples/with-livekit.md +18 -17
  25. package/.docs/organized/code-examples/with-mcp.md +748 -0
  26. package/.docs/organized/code-examples/with-opencode.md +11 -11
  27. package/.docs/organized/code-examples/with-parent-id-grouping.md +11 -11
  28. package/.docs/organized/code-examples/with-react-hook-form.md +14 -14
  29. package/.docs/organized/code-examples/with-react-ink.md +4 -4
  30. package/.docs/organized/code-examples/with-react-router.md +15 -15
  31. package/.docs/organized/code-examples/with-resumable-stream.md +660 -0
  32. package/.docs/organized/code-examples/with-store.md +8 -8
  33. package/.docs/organized/code-examples/with-tanstack.md +14 -14
  34. package/.docs/organized/code-examples/with-tap-runtime.md +11 -10
  35. package/.docs/raw/docs/(docs)/cli.mdx +1 -0
  36. package/.docs/raw/docs/(docs)/index.mdx +2 -2
  37. package/.docs/raw/docs/(docs)/installation.mdx +1 -1
  38. package/.docs/raw/docs/(reference)/api-reference/adapters/attachments.mdx +26 -24
  39. package/.docs/raw/docs/(reference)/api-reference/adapters/feedback.mdx +20 -0
  40. package/.docs/raw/docs/(reference)/api-reference/adapters/index.mdx +20 -12
  41. package/.docs/raw/docs/(reference)/api-reference/adapters/model.mdx +44 -0
  42. package/.docs/raw/docs/(reference)/api-reference/adapters/persistence.mdx +37 -16
  43. package/.docs/raw/docs/(reference)/api-reference/adapters/runtime.mdx +12 -23
  44. package/.docs/raw/docs/(reference)/api-reference/adapters/suggestions.mdx +20 -0
  45. package/.docs/raw/docs/(reference)/api-reference/context-providers/assistant-runtime-provider.mdx +37 -8
  46. package/.docs/raw/docs/(reference)/api-reference/context-providers/index.mdx +11 -9
  47. package/.docs/raw/docs/(reference)/api-reference/context-providers/scoped-providers.mdx +64 -0
  48. package/.docs/raw/docs/(reference)/api-reference/external-store/index.mdx +22 -0
  49. package/.docs/raw/docs/(reference)/api-reference/external-store/message-conversion.mdx +52 -0
  50. package/.docs/raw/docs/(reference)/api-reference/external-store/runtime.mdx +36 -0
  51. package/.docs/raw/docs/(reference)/api-reference/hooks/composer-triggers.mdx +98 -0
  52. package/.docs/raw/docs/(reference)/api-reference/hooks/index.mdx +18 -13
  53. package/.docs/raw/docs/(reference)/api-reference/hooks/model-context.mdx +18 -57
  54. package/.docs/raw/docs/(reference)/api-reference/hooks/primitives.mdx +640 -0
  55. package/.docs/raw/docs/(reference)/api-reference/hooks/runtimes.mdx +15 -28
  56. package/.docs/raw/docs/(reference)/api-reference/hooks/state.mdx +64 -18
  57. package/.docs/raw/docs/(reference)/api-reference/hooks/utilities.mdx +434 -0
  58. package/.docs/raw/docs/(reference)/api-reference/integrations/cloud-ai-sdk.mdx +24 -0
  59. package/.docs/raw/docs/(reference)/api-reference/integrations/index.mdx +11 -12
  60. package/.docs/raw/docs/(reference)/api-reference/integrations/react-ai-sdk.mdx +79 -0
  61. package/.docs/raw/docs/(reference)/api-reference/model-context/context.mdx +52 -0
  62. package/.docs/raw/docs/(reference)/api-reference/model-context/index.mdx +22 -0
  63. package/.docs/raw/docs/(reference)/api-reference/model-context/registry.mdx +20 -0
  64. package/.docs/raw/docs/(reference)/api-reference/overview.mdx +110 -131
  65. package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar-more.mdx +78 -221
  66. package/.docs/raw/docs/(reference)/api-reference/primitives/action-bar.mdx +127 -242
  67. package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-if.mdx +39 -20
  68. package/.docs/raw/docs/(reference)/api-reference/primitives/assistant-modal.mdx +66 -87
  69. package/.docs/raw/docs/(reference)/api-reference/primitives/attachment.mdx +50 -58
  70. package/.docs/raw/docs/(reference)/api-reference/primitives/branch-picker.mdx +80 -48
  71. package/.docs/raw/docs/(reference)/api-reference/primitives/chain-of-thought.mdx +67 -0
  72. package/.docs/raw/docs/(reference)/api-reference/primitives/composer.mdx +323 -461
  73. package/.docs/raw/docs/(reference)/api-reference/primitives/error.mdx +36 -43
  74. package/.docs/raw/docs/(reference)/api-reference/primitives/index.mdx +29 -24
  75. package/.docs/raw/docs/(reference)/api-reference/primitives/message-part.mdx +63 -245
  76. package/.docs/raw/docs/(reference)/api-reference/primitives/message.mdx +175 -591
  77. package/.docs/raw/docs/(reference)/api-reference/primitives/queue-item.mdx +65 -0
  78. package/.docs/raw/docs/(reference)/api-reference/primitives/selection-toolbar.mdx +35 -22
  79. package/.docs/raw/docs/(reference)/api-reference/primitives/suggestion.mdx +57 -140
  80. package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item-more.mdx +70 -161
  81. package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list-item.mdx +84 -108
  82. package/.docs/raw/docs/(reference)/api-reference/primitives/thread-list.mdx +77 -96
  83. package/.docs/raw/docs/(reference)/api-reference/primitives/thread.mdx +173 -349
  84. package/.docs/raw/docs/(reference)/api-reference/runtimes/assistant-runtime.mdx +9 -21
  85. package/.docs/raw/docs/(reference)/api-reference/runtimes/attachment-runtime.mdx +10 -21
  86. package/.docs/raw/docs/(reference)/api-reference/runtimes/composer-runtime.mdx +15 -70
  87. package/.docs/raw/docs/(reference)/api-reference/runtimes/index.mdx +18 -13
  88. package/.docs/raw/docs/(reference)/api-reference/runtimes/message-part-runtime.mdx +25 -28
  89. package/.docs/raw/docs/(reference)/api-reference/runtimes/message-runtime.mdx +11 -63
  90. package/.docs/raw/docs/(reference)/api-reference/runtimes/queue-state.mdx +20 -0
  91. package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-item-runtime.mdx +11 -48
  92. package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-list-runtime.mdx +10 -47
  93. package/.docs/raw/docs/(reference)/api-reference/runtimes/thread-runtime.mdx +18 -30
  94. package/.docs/raw/docs/(reference)/api-reference/tools/component-tools.mdx +68 -0
  95. package/.docs/raw/docs/(reference)/api-reference/tools/index.mdx +39 -0
  96. package/.docs/raw/docs/(reference)/api-reference/tools/rendering.mdx +79 -0
  97. package/.docs/raw/docs/(reference)/api-reference/tools/status.mdx +42 -0
  98. package/.docs/raw/docs/(reference)/api-reference/tools/toolkits.mdx +92 -0
  99. package/.docs/raw/docs/(reference)/api-reference/transport/assistant-transport.mdx +48 -0
  100. package/.docs/raw/docs/(reference)/api-reference/transport/frame.mdx +62 -0
  101. package/.docs/raw/docs/(reference)/api-reference/transport/index.mdx +22 -0
  102. package/.docs/raw/docs/(reference)/api-reference/utilities/index.mdx +19 -0
  103. package/.docs/raw/docs/(reference)/api-reference/utilities/miscellaneous.mdx +131 -0
  104. package/.docs/raw/docs/(reference)/api-reference/voice/index.mdx +22 -0
  105. package/.docs/raw/docs/(reference)/api-reference/voice/session.mdx +54 -0
  106. package/.docs/raw/docs/(reference)/api-reference/voice/speech-dictation.mdx +36 -0
  107. package/.docs/raw/docs/cloud/ai-sdk.mdx +1 -1
  108. package/.docs/raw/docs/cloud/index.mdx +2 -2
  109. package/.docs/raw/docs/guides/attachments.mdx +4 -4
  110. package/.docs/raw/docs/guides/branching.mdx +1 -1
  111. package/.docs/raw/docs/guides/chain-of-thought.mdx +5 -5
  112. package/.docs/raw/docs/guides/context-api.mdx +4 -4
  113. package/.docs/raw/docs/guides/dictation.mdx +2 -2
  114. package/.docs/raw/docs/guides/editing.mdx +1 -1
  115. package/.docs/raw/docs/guides/generative-ui.mdx +142 -0
  116. package/.docs/raw/docs/guides/image-generation.mdx +74 -0
  117. package/.docs/raw/docs/guides/index.mdx +2 -2
  118. package/.docs/raw/docs/guides/interactables.mdx +2 -2
  119. package/.docs/raw/docs/guides/latex.mdx +2 -2
  120. package/.docs/raw/docs/guides/mcp-apps.mdx +231 -0
  121. package/.docs/raw/docs/guides/mentions.mdx +2 -2
  122. package/.docs/raw/docs/guides/message-timing.mdx +38 -5
  123. package/.docs/raw/docs/guides/multi-agent.mdx +2 -2
  124. package/.docs/raw/docs/guides/quoting.mdx +1 -1
  125. package/.docs/raw/docs/guides/resumable-stream-deployment.mdx +212 -0
  126. package/.docs/raw/docs/guides/resumable-stream-stores.mdx +152 -0
  127. package/.docs/raw/docs/guides/resumable-streams.mdx +210 -0
  128. package/.docs/raw/docs/guides/slash-commands.mdx +1 -1
  129. package/.docs/raw/docs/guides/speech.mdx +2 -2
  130. package/.docs/raw/docs/guides/suggestions.mdx +88 -4
  131. package/.docs/raw/docs/guides/tool-ui.mdx +2 -2
  132. package/.docs/raw/docs/guides/tools.mdx +66 -5
  133. package/.docs/raw/docs/guides/voice.mdx +2 -2
  134. package/.docs/raw/docs/ink/adapters.mdx +37 -1
  135. package/.docs/raw/docs/ink/custom-backend.mdx +59 -8
  136. package/.docs/raw/docs/ink/index.mdx +10 -11
  137. package/.docs/raw/docs/ink/primitives.mdx +349 -8
  138. package/.docs/raw/docs/integrations/auth/better-auth.mdx +1 -1
  139. package/.docs/raw/docs/integrations/auth/clerk.mdx +1 -1
  140. package/.docs/raw/docs/integrations/auth/next-auth.mdx +1 -1
  141. package/.docs/raw/docs/integrations/frameworks/ai-sdk.mdx +2 -2
  142. package/.docs/raw/docs/integrations/frameworks/cloudflare-agents/overview.mdx +282 -0
  143. package/.docs/raw/docs/integrations/frameworks/mastra/overview.mdx +2 -2
  144. package/.docs/raw/docs/integrations/frameworks/mastra/separate-server.mdx +1 -1
  145. package/.docs/raw/docs/integrations/gateways/index.mdx +9 -4
  146. package/.docs/raw/docs/integrations/index.mdx +15 -3
  147. package/.docs/raw/docs/integrations/observability/langfuse.mdx +8 -1
  148. package/.docs/raw/docs/integrations/observability/langsmith.mdx +8 -4
  149. package/.docs/raw/docs/integrations/tools/react-mcp.mdx +337 -0
  150. package/.docs/raw/docs/primitives/composer.mdx +53 -0
  151. package/.docs/raw/docs/primitives/index.mdx +2 -2
  152. package/.docs/raw/docs/primitives/suggestion.mdx +9 -0
  153. package/.docs/raw/docs/react-native/hooks.mdx +2 -2
  154. package/.docs/raw/docs/react-native/index.mdx +4 -4
  155. package/.docs/raw/docs/runtimes/a2a/client-and-hooks.mdx +4 -4
  156. package/.docs/raw/docs/runtimes/a2a/overview.mdx +2 -2
  157. package/.docs/raw/docs/runtimes/ag-ui/overview.mdx +2 -2
  158. package/.docs/raw/docs/runtimes/ag-ui/runtime-options.mdx +32 -1
  159. package/.docs/raw/docs/runtimes/ai-sdk/overview.mdx +2 -2
  160. package/.docs/raw/docs/runtimes/ai-sdk/v4-legacy.mdx +7 -2
  161. package/.docs/raw/docs/runtimes/ai-sdk/v5-legacy.mdx +1 -1
  162. package/.docs/raw/docs/runtimes/ai-sdk/v6.mdx +7 -0
  163. package/.docs/raw/docs/runtimes/custom/data-stream.mdx +27 -2
  164. package/.docs/raw/docs/runtimes/custom/external-store.mdx +9 -1
  165. package/.docs/raw/docs/runtimes/custom/overview.mdx +2 -2
  166. package/.docs/raw/docs/runtimes/google-adk/overview.mdx +2 -2
  167. package/.docs/raw/docs/runtimes/langchain.mdx +2 -2
  168. package/.docs/raw/docs/runtimes/langgraph/overview.mdx +2 -2
  169. package/.docs/raw/docs/runtimes/opencode/overview.mdx +2 -2
  170. package/.docs/raw/docs/runtimes/opencode/quickstart.mdx +1 -1
  171. package/.docs/raw/docs/runtimes/pick-a-runtime.mdx +12 -5
  172. package/.docs/raw/docs/ui/composer-trigger-popover.mdx +11 -1
  173. package/.docs/raw/docs/ui/mcp-config.mdx +102 -0
  174. package/.docs/raw/docs/ui/model-selector.mdx +8 -8
  175. package/.docs/raw/docs/ui/sources.mdx +17 -0
  176. package/.docs/raw/docs/ui/streamdown.mdx +34 -2
  177. package/.docs/raw/docs/ui/thread-list.mdx +2 -2
  178. package/.docs/raw/docs/ui/thread.mdx +2 -2
  179. package/README.md +14 -72
  180. package/dist/constants.d.ts +12 -9
  181. package/dist/constants.d.ts.map +1 -1
  182. package/dist/constants.js +13 -9
  183. package/dist/constants.js.map +1 -1
  184. package/dist/index.d.ts +7 -3
  185. package/dist/index.d.ts.map +1 -1
  186. package/dist/index.js +25 -24
  187. package/dist/index.js.map +1 -1
  188. package/dist/prepare-docs/code-examples.d.ts +4 -1
  189. package/dist/prepare-docs/code-examples.d.ts.map +1 -1
  190. package/dist/prepare-docs/code-examples.js +109 -121
  191. package/dist/prepare-docs/code-examples.js.map +1 -1
  192. package/dist/prepare-docs/copy-raw.d.ts +4 -1
  193. package/dist/prepare-docs/copy-raw.d.ts.map +1 -1
  194. package/dist/prepare-docs/copy-raw.js +45 -42
  195. package/dist/prepare-docs/copy-raw.js.map +1 -1
  196. package/dist/prepare-docs/prepare.d.ts +1 -2
  197. package/dist/prepare-docs/prepare.js +17 -17
  198. package/dist/prepare-docs/prepare.js.map +1 -1
  199. package/dist/stdio.d.ts +1 -3
  200. package/dist/stdio.js +6 -3
  201. package/dist/stdio.js.map +1 -1
  202. package/dist/tools/docs.d.ts +20 -15
  203. package/dist/tools/docs.d.ts.map +1 -1
  204. package/dist/tools/docs.js +140 -161
  205. package/dist/tools/docs.js.map +1 -1
  206. package/dist/tools/examples.d.ts +20 -15
  207. package/dist/tools/examples.d.ts.map +1 -1
  208. package/dist/tools/examples.js +74 -86
  209. package/dist/tools/examples.js.map +1 -1
  210. package/dist/tools/tests/test-setup.d.ts +5 -2
  211. package/dist/tools/tests/test-setup.d.ts.map +1 -1
  212. package/dist/tools/tests/test-setup.js +21 -28
  213. package/dist/tools/tests/test-setup.js.map +1 -1
  214. package/dist/utils/logger.d.ts +8 -5
  215. package/dist/utils/logger.d.ts.map +1 -1
  216. package/dist/utils/logger.js +17 -17
  217. package/dist/utils/logger.js.map +1 -1
  218. package/dist/utils/mcp-format.d.ts +8 -5
  219. package/dist/utils/mcp-format.d.ts.map +1 -1
  220. package/dist/utils/mcp-format.js +9 -9
  221. package/dist/utils/mcp-format.js.map +1 -1
  222. package/dist/utils/mdx.d.ts +8 -6
  223. package/dist/utils/mdx.d.ts.map +1 -1
  224. package/dist/utils/mdx.js +22 -22
  225. package/dist/utils/mdx.js.map +1 -1
  226. package/dist/utils/paths.d.ts +9 -6
  227. package/dist/utils/paths.d.ts.map +1 -1
  228. package/dist/utils/paths.js +66 -76
  229. package/dist/utils/paths.js.map +1 -1
  230. package/dist/utils/security.d.ts +4 -1
  231. package/dist/utils/security.d.ts.map +1 -1
  232. package/dist/utils/security.js +19 -40
  233. package/dist/utils/security.js.map +1 -1
  234. package/package.json +5 -5
  235. package/.docs/raw/docs/(reference)/api-reference/adapters/feedback-speech.mdx +0 -41
  236. package/.docs/raw/docs/(reference)/api-reference/context-providers/text-message-part-provider.mdx +0 -40
  237. package/.docs/raw/docs/(reference)/api-reference/integrations/react-data-stream.mdx +0 -260
  238. package/.docs/raw/docs/(reference)/api-reference/integrations/react-hook-form.mdx +0 -103
  239. package/.docs/raw/docs/(reference)/api-reference/integrations/vercel-ai-sdk.mdx +0 -254
  240. package/dist/prepare-docs/prepare.d.ts.map +0 -1
  241. package/dist/stdio.d.ts.map +0 -1
  242. /package/.docs/raw/docs/{(reference)/migrations → migrations}/deprecation-policy.mdx +0 -0
  243. /package/.docs/raw/docs/{(reference) → migrations}/react-compatibility.mdx +0 -0
  244. /package/.docs/raw/docs/{(reference)/migrations → migrations}/react-langgraph-v0-7.mdx +0 -0
  245. /package/.docs/raw/docs/{(reference)/migrations → migrations}/v0-11.mdx +0 -0
  246. /package/.docs/raw/docs/{(reference)/migrations → migrations}/v0-12.mdx +0 -0
  247. /package/.docs/raw/docs/{(reference)/migrations → migrations}/v0-14.mdx +0 -0
@@ -17,6 +17,17 @@ Pick this runtime when:
17
17
 
18
18
  If your backend exposes a richer state surface, consider [`AssistantTransport`](/docs/runtimes/custom/assistant-transport) instead.
19
19
 
20
+ ## Wire protocols
21
+
22
+ `useDataStreamRuntime` accepts two wire formats via its `protocol` option:
23
+
24
+ | Protocol | Default | Matching backend |
25
+ | --- | --- | --- |
26
+ | `"ui-message-stream"` | yes | AI SDK v6's `result.toUIMessageStreamResponse()` (SSE) |
27
+ | `"data-stream"` | no | `createAssistantStreamResponse` from `assistant-stream`, or AI SDK v4's `toDataStreamResponse()` (Vercel data stream v1) |
28
+
29
+ Pairing the default decoder with a data stream backend throws `Stream ended abruptly without receiving [DONE] marker` at flush; pass `protocol: "data-stream"` to switch decoders.
30
+
20
31
  ## Install
21
32
 
22
33
  <PlatformTabs>
@@ -55,7 +66,10 @@ import { AssistantRuntimeProvider } from "@assistant-ui/react";
55
66
  import { Thread } from "@/components/assistant-ui/thread";
56
67
 
57
68
  export default function ChatPage() {
58
- const runtime = useDataStreamRuntime({ api: "/api/chat" });
69
+ const runtime = useDataStreamRuntime({
70
+ api: "/api/chat",
71
+ protocol: "data-stream",
72
+ });
59
73
  return (
60
74
  <AssistantRuntimeProvider runtime={runtime}>
61
75
  <Thread />
@@ -76,7 +90,10 @@ import { Thread } from "@/components/assistant-ui/thread";
76
90
  const API_URL = process.env.EXPO_PUBLIC_API_URL ?? "http://localhost:3000";
77
91
 
78
92
  export default function ChatPage() {
79
- const runtime = useDataStreamRuntime({ api: `${API_URL}/api/chat` });
93
+ const runtime = useDataStreamRuntime({
94
+ api: `${API_URL}/api/chat`,
95
+ protocol: "data-stream",
96
+ });
80
97
  return (
81
98
  <AssistantRuntimeProvider runtime={runtime}>
82
99
  <View style={{ flex: 1 }}>
@@ -99,6 +116,7 @@ import { Thread } from "./components/thread.js";
99
116
  export function App() {
100
117
  const runtime = useDataStreamRuntime({
101
118
  api: "http://localhost:3000/api/chat",
119
+ protocol: "data-stream",
102
120
  });
103
121
  return (
104
122
  <AssistantRuntimeProvider runtime={runtime}>
@@ -139,6 +157,8 @@ export async function POST(request: Request) {
139
157
 
140
158
  The request body includes `messages`, `tools`, `system` (if configured), and `threadId`.
141
159
 
160
+ `createAssistantStreamResponse` returns a standard Web `Response`. It drops into any Fetch-style route (Next.js App Router, Hono, Bun.serve, Deno, Cloudflare Workers) without ceremony. On frameworks that use their own response object (Express, Fastify), copy `status` and `headers` over, then pipe `response.body` into the framework's writable stream. Avoid sending the `Response` body into a `res` object whose lifecycle is already controlled by the framework (that is the `ERR_INVALID_STATE: Controller is already closed` failure mode).
161
+
142
162
  </Step>
143
163
  </Steps>
144
164
 
@@ -147,6 +167,7 @@ The request body includes `messages`, `tools`, `system` (if configured), and `th
147
167
  ```tsx
148
168
  const runtime = useDataStreamRuntime({
149
169
  api: "/api/chat",
170
+ protocol: "data-stream",
150
171
  headers: { Authorization: `Bearer ${token}`, "X-Custom-Header": "value" },
151
172
  credentials: "include",
152
173
  });
@@ -157,6 +178,7 @@ Evaluate per-request:
157
178
  ```tsx
158
179
  const runtime = useDataStreamRuntime({
159
180
  api: "/api/chat",
181
+ protocol: "data-stream",
160
182
  headers: async () => ({
161
183
  Authorization: `Bearer ${await getAuthToken()}`,
162
184
  }),
@@ -173,6 +195,7 @@ const runtime = useDataStreamRuntime({
173
195
  ```tsx
174
196
  const runtime = useDataStreamRuntime({
175
197
  api: "/api/chat",
198
+ protocol: "data-stream",
176
199
  onResponse: (response) => console.log("status:", response.status),
177
200
  onFinish: (message) => console.log("done:", message),
178
201
  onError: (error) => console.error(error),
@@ -207,6 +230,7 @@ const myTools = {
207
230
 
208
231
  const runtime = useDataStreamRuntime({
209
232
  api: "/api/chat",
233
+ protocol: "data-stream",
210
234
  body: { tools: toToolsJSONSchema(myTools) },
211
235
  });
212
236
  ```
@@ -267,6 +291,7 @@ const runtime = useCloudRuntime({
267
291
  ```tsx
268
292
  const runtime = useDataStreamRuntime({
269
293
  api: "/api/chat",
294
+ protocol: "data-stream",
270
295
  initialMessages: [
271
296
  { role: "user", content: [{ type: "text", text: "Hello" }] },
272
297
  { role: "assistant", content: [{ type: "text", text: "Hi!" }] },
@@ -627,7 +627,15 @@ useExternalStoreRuntime({
627
627
  {
628
628
  name: "isDisabled",
629
629
  type: "boolean",
630
- description: "Whether the chat input should be disabled.",
630
+ description:
631
+ "Disables the entire composer, including the text input. For a narrower gate that keeps the input usable but blocks only sending, use isSendDisabled.",
632
+ default: "false",
633
+ },
634
+ {
635
+ name: "isSendDisabled",
636
+ type: "boolean",
637
+ description:
638
+ "Blocks new-message sending while leaving the input usable. When true, the thread composer's canSend becomes false, the Send button is disabled, Enter and the steer hotkey are no-ops, and aui.composer().send() short-circuits. Edit composers (saving message edits) ignore this flag. Use this to gate sending on external React state (e.g. while tools or auth are still loading).",
631
639
  default: "false",
632
640
  },
633
641
  {
@@ -1,6 +1,6 @@
1
1
  ---
2
- title: Overview
3
- description: Four ways to wire assistant-ui to a backend without a framework adapter.
2
+ title: Custom Runtime
3
+ description: Build a React chat UI for any AI backend with assistant-ui — four runtime patterns covering local state, REST, custom protocols, and external runtimes.
4
4
  ---
5
5
 
6
6
  If no [framework adapter](/docs/runtimes/pick-a-runtime) fits your backend, this section gives you four building blocks. All four are built on one of the two core runtimes; understanding the layering (see [architecture](/docs/runtimes/concepts/architecture)) makes the choice clear.
@@ -1,6 +1,6 @@
1
1
  ---
2
- title: Overview
3
- description: Connect to Google ADK agents with streaming, tool calls, and multi-agent support.
2
+ title: Google ADK Runtime
3
+ description: Connect Google's Agent Development Kit (ADK) to a React chat UI with assistant-ui — streaming, tool calls, and multi-agent orchestration supported.
4
4
  ---
5
5
 
6
6
  `@assistant-ui/react-google-adk` integrates with [Google ADK JS](https://github.com/google/adk-js), Google's official agent framework for TypeScript, and works with ADK Python backends as well. It supports streaming text, tool calls, multi-agent orchestration, code execution, session state, tool confirmations, auth flows, and input requests.
@@ -1,6 +1,6 @@
1
1
  ---
2
- title: LangChain useStream
3
- description: Lighter-weight LangGraph adapter that wraps @langchain/react's useStream hook.
2
+ title: LangChain React Runtime
3
+ description: Use LangChain's useStream hook with a React chat UI through assistant-ui — a lighter LangGraph adapter that delegates streaming to @langchain/react.
4
4
  ---
5
5
 
6
6
  import { LangGraphIcon } from "@/components/icons/langgraph";
@@ -1,6 +1,6 @@
1
1
  ---
2
- title: Overview
3
- description: Connect to LangGraph Cloud for agent workflows with streaming.
2
+ title: LangGraph UI Runtime
3
+ description: Build a chat UI for LangGraph agents in React with assistant-ui — streaming, subgraph events, UI messages, interrupts, and end-to-end cancellation supported.
4
4
  ---
5
5
 
6
6
  `@assistant-ui/react-langgraph` integrates with [`@langchain/langgraph-sdk`](https://docs.langchain.com/oss/javascript/langgraph-sdk) directly, exposing the full LangGraph Cloud feature set in assistant-ui: streaming, subgraph events, UI messages, message metadata, interrupts, and end-to-end cancellation.
@@ -1,6 +1,6 @@
1
1
  ---
2
- title: Overview
3
- description: Connect to an OpenCode coding-agent server.
2
+ title: OpenCode Runtime
3
+ description: Build a React chat UI for OpenCode coding agents with assistant-ui — streaming, tool calls, file edits, and terminal output rendered in chat.
4
4
  ---
5
5
 
6
6
  `@assistant-ui/react-opencode` is a runtime adapter for [OpenCode](https://opencode.ai/), an open-source AI coding agent. It wires the OpenCode server's session and event APIs into an assistant-ui thread, including tool permissions, interactive questions, and session state.
@@ -72,7 +72,7 @@ Pin a default model or agent when starting new sessions:
72
72
  ```tsx
73
73
  const runtime = useOpenCodeRuntime({
74
74
  baseUrl: "http://localhost:4096",
75
- defaultModel: { providerID: "anthropic", modelID: "claude-sonnet-4" },
75
+ defaultModel: { providerID: "anthropic", modelID: "claude-sonnet-4-6" },
76
76
  defaultAgent: "coder",
77
77
  });
78
78
  ```
@@ -3,14 +3,15 @@ title: Picking a runtime
3
3
  description: Decision guide for choosing the right runtime, by framework or by feature.
4
4
  ---
5
5
 
6
+ import { A2AIcon } from "@/components/icons/a2a";
7
+ import { AdkIcon } from "@/components/icons/adk";
6
8
  import { AguiIcon } from "@/components/icons/agui";
7
- import { GeminiIcon } from "@/components/icons/gemini";
9
+ import { CloudflareIcon } from "@/components/icons/cloudflare";
8
10
  import { LangChainIcon } from "@/components/icons/langchain";
9
11
  import { LangGraphIcon } from "@/components/icons/langgraph";
10
12
  import { MastraIcon } from "@/components/icons/mastra";
11
13
  import { OpenCodeIcon } from "@/components/icons/opencode";
12
14
  import { VercelIcon } from "@/components/icons/vercel";
13
- import { Network } from "lucide-react";
14
15
 
15
16
  A runtime is the connection between assistant-ui's UI primitives and your AI backend. This page helps you pick one. Two lenses, pick whichever maps to what you already know.
16
17
 
@@ -42,16 +43,16 @@ assistant-ui ships React adapter packages for these. Pick the matching card and
42
43
  href="/docs/runtimes/langchain"
43
44
  />
44
45
  <Card
45
- icon={<GeminiIcon width={20} height={20} />}
46
+ icon={<AdkIcon width={20} height={20} />}
46
47
  title="Google ADK"
47
48
  description="ADK JS or Python agents. Tool confirmations, auth flows, multi-agent, code execution."
48
49
  href="/docs/runtimes/google-adk"
49
50
  />
50
51
  <Card
51
- icon={<Network width={20} height={20} />}
52
+ icon={<A2AIcon width={20} height={20} />}
52
53
  title="A2A Protocol"
53
54
  description="Any A2A v1.0-compliant agent server. Streaming task state, artifacts, multi-tenancy."
54
- href="/docs/runtimes/a2a"
55
+ href="/docs/runtimes/a2a/overview"
55
56
  />
56
57
  <Card
57
58
  icon={<AguiIcon width={20} height={20} />}
@@ -76,6 +77,12 @@ assistant-ui ships React adapter packages for these. Pick the matching card and
76
77
  For frameworks without a dedicated adapter, these wiring guides route through one of the adapters above.
77
78
 
78
79
  <Cards>
80
+ <Card
81
+ icon={<CloudflareIcon width={20} height={20} />}
82
+ title="Cloudflare Agents"
83
+ description="Stateful agents on Durable Objects with WebSocket streaming. Wired through the Vercel AI SDK runtime."
84
+ href="/docs/integrations/frameworks/cloudflare-agents/overview"
85
+ />
79
86
  <Card
80
87
  icon={<MastraIcon width={20} height={20} />}
81
88
  title="Mastra"
@@ -158,10 +158,20 @@ const commandHandlers: Record<string, () => void> = {
158
158
  | --- | --- |
159
159
  | <Kbd>ArrowDown</Kbd> | Highlight next item |
160
160
  | <Kbd>ArrowUp</Kbd> | Highlight previous item |
161
- | <Kbd>Enter</Kbd> | Select highlighted item / drill into category |
161
+ | <Kbd>Enter</Kbd> / <Kbd>Tab</Kbd> | Select highlighted item / drill into category |
162
+ | <Kbd>Shift + Enter</Kbd> | Insert newline (popover stays open) |
163
+ | <Kbd>Shift + Tab</Kbd> | Pass through (native focus traversal) |
162
164
  | <Kbd>Escape</Kbd> | Close popover |
163
165
  | <Kbd>Backspace</Kbd> | Go back to categories (when query is empty) |
164
166
 
167
+ ## Accessibility
168
+
169
+ The popover implements the WAI-ARIA editable combobox pattern.
170
+
171
+ - The listbox container has `role="listbox"` and each item has `role="option"` plus `aria-selected`.
172
+ - When a popover is open, `ComposerPrimitive.Input` (the underlying `<textarea>`) automatically receives `aria-controls`, `aria-expanded="true"`, `aria-haspopup="listbox"`, and `aria-activedescendant` pointing at the highlighted option. Attributes are removed when the popover closes.
173
+ - When `ComposerPrimitive.Input` is rendered outside a `TriggerPopoverRoot`, no ARIA attributes are added.
174
+
165
175
  ## API Reference
166
176
 
167
177
  | Prop | Type | Default | Description |
@@ -0,0 +1,102 @@
1
+ ---
2
+ title: MCP Config Dialog
3
+ description: Drop-in shadcn dialog that lists MCP connectors and custom servers, with inline OAuth/bearer auth controls and an add form.
4
+ platforms: ["react"]
5
+ ---
6
+
7
+ `McpConfigDialog` is a shadcn template that wraps the [`@assistant-ui/react-mcp`](/docs/integrations/tools/react-mcp) primitives. Render it anywhere inside an `McpManagerResource`-mounted client and your users get a styled MCP server panel — no manual primitive composition.
8
+
9
+ ## Getting Started
10
+
11
+ <Steps>
12
+ <Step>
13
+
14
+ ### Install the package and the component
15
+
16
+ <InstallCommand npm={["@assistant-ui/react-mcp"]} />
17
+
18
+ <InstallCommand shadcn={["mcp-config"]} />
19
+
20
+ </Step>
21
+ <Step>
22
+
23
+ ### Mount the manager
24
+
25
+ ```tsx title="app/providers.tsx"
26
+ "use client";
27
+
28
+ import { AuiProvider, useAui } from "@assistant-ui/react";
29
+ import { McpManagerResource, defineConnector } from "@assistant-ui/react-mcp";
30
+
31
+ const connectors = [
32
+ defineConnector({
33
+ id: "linear",
34
+ name: "Linear",
35
+ url: "https://mcp.linear.app",
36
+ auth: { type: "oauth", scopes: ["read"] },
37
+ }),
38
+ ];
39
+
40
+ export function Providers({ children }: { children: React.ReactNode }) {
41
+ const aui = useAui({ mcp: McpManagerResource({ connectors }) });
42
+ return <AuiProvider value={aui}>{children}</AuiProvider>;
43
+ }
44
+ ```
45
+
46
+ </Step>
47
+ <Step>
48
+
49
+ ### Drop the dialog in
50
+
51
+ ```tsx title="app/page.tsx"
52
+ import { McpConfigDialog } from "@/components/assistant-ui/mcp-config";
53
+
54
+ export default function Page() {
55
+ return (
56
+ <header className="flex items-center justify-between">
57
+ <h1>My app</h1>
58
+ <McpConfigDialog />
59
+ </header>
60
+ );
61
+ }
62
+ ```
63
+
64
+ That's it. The default trigger is an outline `"🔌 MCP servers"` button. Click it to open the dialog, which renders a **Connectors** list (your app-defined presets with connect/authorize/disconnect controls), a **Custom servers** list (user-added entries with the same controls plus a remove button), and an inline **Add server** form for URL + name + auth selection.
65
+
66
+ </Step>
67
+ <Step>
68
+
69
+ ### Override the trigger (optional)
70
+
71
+ Pass children to swap the default button for your own:
72
+
73
+ ```tsx
74
+ <McpConfigDialog>
75
+ <Button variant="ghost">Servers</Button>
76
+ </McpConfigDialog>
77
+ ```
78
+
79
+ </Step>
80
+ <Step>
81
+
82
+ ### Wire up the OAuth callback
83
+
84
+ Required for any OAuth-enabled connector or custom server. See the [OAuth callback section in the react-mcp guide](/docs/integrations/tools/react-mcp#handle-the-oauth-callback) for the route handler.
85
+
86
+ </Step>
87
+ </Steps>
88
+
89
+ ## Related
90
+
91
+ <Cards>
92
+ <Card
93
+ title="User-managed MCP servers"
94
+ description="Full @assistant-ui/react-mcp guide — connectors, custom servers, OAuth, storage, custom primitives."
95
+ href="/docs/integrations/tools/react-mcp"
96
+ />
97
+ <Card
98
+ title="Server-side MCP"
99
+ description="App-developer-controlled MCP servers wired into the API route."
100
+ href="/docs/integrations/tools/mcp"
101
+ />
102
+ </Cards>
@@ -34,11 +34,11 @@ const ComposerAction: FC = () => {
34
34
  <div className="flex items-center gap-1">
35
35
  <ModelSelector
36
36
  models={[
37
- { id: "gpt-4o-mini", name: "GPT-4o Mini", description: "Fast and efficient" },
38
- { id: "gpt-4o", name: "GPT-4o", description: "Balanced performance" },
39
- { id: "o3", name: "o3", description: "Most capable" },
37
+ { id: "gpt-5.4-nano", name: "GPT-5.4 Nano", description: "Fast and efficient" },
38
+ { id: "gpt-5.4-mini", name: "GPT-5.4 Mini", description: "Balanced performance" },
39
+ { id: "gpt-5.5", name: "GPT-5.5", description: "Most capable" },
40
40
  ]}
41
- defaultValue="gpt-4o-mini"
41
+ defaultValue="gpt-5.4-nano"
42
42
  size="sm"
43
43
  />
44
44
  </div>
@@ -58,7 +58,7 @@ export async function POST(req: Request) {
58
58
  const { messages, config } = await req.json();
59
59
 
60
60
  const result = streamText({
61
- model: openai(config?.modelName ?? "gpt-4o"),
61
+ model: openai(config?.modelName ?? "gpt-5.4-nano"),
62
62
  messages: await convertToModelMessages(messages),
63
63
  });
64
64
 
@@ -102,9 +102,9 @@ Each model in the `models` array supports:
102
102
  ```tsx
103
103
  const models = [
104
104
  {
105
- id: "gpt-4o", // Sent to backend as config.modelName
106
- name: "GPT-4o", // Display name in trigger and items
107
- description: "Most capable", // Optional subtitle in items only
105
+ id: "gpt-5.4-nano", // Sent to backend as config.modelName
106
+ name: "GPT-5.4 Nano", // Display name in trigger and items
107
+ description: "Fast and efficient", // Optional subtitle in items only
108
108
  icon: <SparklesIcon />, // Optional icon (any ReactNode)
109
109
  },
110
110
  ];
@@ -119,8 +119,25 @@ Displays the favicon for the given URL. Falls back to the domain initial inside
119
119
  | Prop | Type | Default | Description |
120
120
  |------|------|---------|-------------|
121
121
  | `url` | `string` | — | URL used to derive the favicon and fallback initial |
122
+ | `faviconUrl` | `(domain: string) => string` | DuckDuckGo's `ip3` endpoint | Override the favicon source — useful in environments where the default service is unreachable |
122
123
  | `className` | `string` | — | Additional CSS classes applied to the `<img>` or fallback `<span>` |
123
124
 
125
+ #### Customizing the favicon provider
126
+
127
+ The default `<Sources>` component renders `<SourceIcon>` without forwarding `faviconUrl`, so the prop only applies when you compose `Sources.Icon` directly:
128
+
129
+ ```tsx
130
+ <Sources.Root href={url}>
131
+ <Sources.Icon
132
+ url={url}
133
+ faviconUrl={(domain) => `https://my-favicon-proxy.example.com/${domain}.ico`}
134
+ />
135
+ <Sources.Title>{title}</Sources.Title>
136
+ </Sources.Root>
137
+ ```
138
+
139
+ To change the default for every source in your app, edit the `defaultFaviconUrl` constant at the top of your copied `sources.tsx` — that is the single source of truth used by `<Sources>`.
140
+
124
141
  ### `SourceTitle`
125
142
 
126
143
  Truncated title text rendered as a `<span>`.
@@ -1,6 +1,6 @@
1
1
  ---
2
- title: Streamdown
3
- description: Alternative markdown renderer with built-in syntax highlighting, math, and diagram support.
2
+ title: Streamdown Markdown Renderer
3
+ description: Stream markdown into a React chat UI with syntax highlighting, math, and Mermaid diagrams. Powered by Vercel Streamdown, integrated for assistant-ui.
4
4
  links:
5
5
  - label: Streamdown
6
6
  url: https://github.com/vercel/streamdown
@@ -26,6 +26,36 @@ For additional features, install the optional plugins:
26
26
 
27
27
  <PackageManagerTabs packages={["@streamdown/code", "@streamdown/math", "@streamdown/mermaid", "@streamdown/cjk"]} />
28
28
 
29
+ ## CSS setup
30
+
31
+ Streamdown's controls (code-block copy/download buttons, mermaid fullscreen overlay) and the streaming caret are written as Tailwind utility classes. Tailwind v4 does not scan `node_modules` by default, so add a `@source` directive for Streamdown (and one per installed plugin) to the same global stylesheet that imports Tailwind:
32
+
33
+ ```css
34
+ @import "tailwindcss";
35
+
36
+ @source "../node_modules/streamdown/dist/*.js";
37
+ @source "../node_modules/@streamdown/code/dist/*.js";
38
+ @source "../node_modules/@streamdown/math/dist/*.js";
39
+ @source "../node_modules/@streamdown/mermaid/dist/*.js";
40
+ @source "../node_modules/@streamdown/cjk/dist/*.js";
41
+ ```
42
+
43
+ Adjust the relative path to wherever your project's `node_modules` lives. In a pnpm or Turbo monorepo with hoisted dependencies, you typically need more `../` segments to reach the workspace root. Only include the plugin lines for packages you actually installed.
44
+
45
+ Without these directives, the copy/download/fullscreen buttons render with no padding or cursor styling (and look broken), and the `caret` indicator stays invisible.
46
+
47
+ <Callout type="info">
48
+ Streamdown's components assume the shadcn/ui design tokens (`--background`, `--muted-foreground`, `--border`, etc.). If you are not on shadcn/ui, copy the minimum variable set from the [Streamdown README](https://github.com/vercel/streamdown#css-custom-properties-design-tokens).
49
+ </Callout>
50
+
51
+ If you opt into the `animated` prop or use `createAnimatePlugin` for word-level fade-in, also import the keyframes once at your app entry:
52
+
53
+ ```ts
54
+ import "streamdown/styles.css";
55
+ ```
56
+
57
+ The bare `caret` prop does **not** require this import; only the word-level animation does.
58
+
29
59
  ## Basic Usage
30
60
 
31
61
  ```tsx
@@ -173,6 +203,8 @@ Display a caret indicator during streaming:
173
203
  <StreamdownTextPrimitive caret="circle" /> // ●
174
204
  ```
175
205
 
206
+ The caret is implemented as a Tailwind `::after` utility on the wrapper, so it only appears if your Tailwind setup includes the `@source` directive from [CSS setup](#css-setup).
207
+
176
208
  ### Link Safety
177
209
 
178
210
  Show confirmation before opening external links:
@@ -1,6 +1,6 @@
1
1
  ---
2
- title: ThreadList
3
- description: Switch between conversations. Supports sidebar or dropdown layouts.
2
+ title: Thread List Component
3
+ description: Sidebar or dropdown component for switching between AI chat conversations. Persistent thread state, search, and active selection — built for assistant-ui apps.
4
4
  platforms: ["react"]
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
- title: Thread
3
- description: The main chat container with messages, composer, and auto-scroll.
2
+ title: Thread Component
3
+ description: Stream-ready React chat container with message list, composer, auto-scroll, and accessibility built in. Drop into any AI chat UI built with assistant-ui.
4
4
  platforms: ["react"]
5
5
  ---
6
6
 
package/README.md CHANGED
@@ -1,28 +1,23 @@
1
- # Assistant-UI MCP Docs Server
1
+ # `@assistant-ui/mcp-docs-server`
2
2
 
3
- A Model Context Protocol (MCP) server that provides AI assistants with direct access to assistant-ui's documentation and examples.
3
+ Model Context Protocol (MCP) server that gives AI assistants direct access to assistant-ui's documentation and example projects. Exposes `assistantUIDocs` (retrieve documentation by path) and `assistantUIExamples` (access complete example projects).
4
4
 
5
- > **📖 Full Documentation**
6
- > For detailed installation instructions, troubleshooting, and advanced usage, visit the [complete documentation](https://www.assistant-ui.com/docs/llm#mcp).
5
+ > [!NOTE]
6
+ > Detailed installation, troubleshooting, and advanced usage at [assistant-ui.com/docs/llm#mcp](https://www.assistant-ui.com/docs/llm#mcp).
7
7
 
8
8
  ## Installation
9
9
 
10
10
  ### Claude Code
11
11
 
12
12
  ```bash
13
- # Add to current project
14
13
  claude mcp add assistant-ui -- npx -y @assistant-ui/mcp-docs-server
15
-
16
- # Or add globally for all projects
14
+ # or globally for all projects
17
15
  claude mcp add --scope user assistant-ui -- npx -y @assistant-ui/mcp-docs-server
18
16
  ```
19
17
 
20
18
  ### Claude Desktop
21
19
 
22
- Add to your Claude Desktop configuration:
23
-
24
- - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
25
- - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
20
+ Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
26
21
 
27
22
  ```json
28
23
  {
@@ -35,39 +30,13 @@ Add to your Claude Desktop configuration:
35
30
  }
36
31
  ```
37
32
 
38
- ### Cursor
39
-
40
- Add to `.cursor/mcp.json` (project) or `~/.cursor/mcp.json` (global):
33
+ ### Cursor / Windsurf
41
34
 
42
- ```json
43
- {
44
- "mcpServers": {
45
- "assistant-ui": {
46
- "command": "npx",
47
- "args": ["-y", "@assistant-ui/mcp-docs-server"]
48
- }
49
- }
50
- }
51
- ```
52
-
53
- ### Windsurf
54
-
55
- Add to `~/.codeium/windsurf/mcp_config.json`:
56
-
57
- ```json
58
- {
59
- "mcpServers": {
60
- "assistant-ui": {
61
- "command": "npx",
62
- "args": ["-y", "@assistant-ui/mcp-docs-server"]
63
- }
64
- }
65
- }
66
- ```
35
+ Add to `.cursor/mcp.json` (or `~/.cursor/mcp.json`) for Cursor, or `~/.codeium/windsurf/mcp_config.json` for Windsurf, using the same `mcpServers` block as above.
67
36
 
68
- ### VSCode
37
+ ### VS Code
69
38
 
70
- Add to `.vscode/mcp.json` in your project:
39
+ Add to `.vscode/mcp.json`:
71
40
 
72
41
  ```json
73
42
  {
@@ -83,7 +52,7 @@ Add to `.vscode/mcp.json` in your project:
83
52
 
84
53
  ### Zed
85
54
 
86
- Add to `settings.json` (open via `cmd+,` or `zed: open settings`):
55
+ Add to `settings.json`:
87
56
 
88
57
  ```json
89
58
  {
@@ -91,38 +60,11 @@ Add to `settings.json` (open via `cmd+,` or `zed: open settings`):
91
60
  "assistant-ui": {
92
61
  "command": {
93
62
  "path": "npx",
94
- "args": ["-y", "@assistant-ui/mcp-docs-server"],
95
- "env": {}
96
- },
97
- "settings": {}
63
+ "args": ["-y", "@assistant-ui/mcp-docs-server"]
64
+ }
98
65
  }
99
66
  }
100
67
  }
101
68
  ```
102
69
 
103
- ## Tools
104
-
105
- - **assistantUIDocs** - Retrieve documentation by path
106
- - **assistantUIExamples** - Access complete example projects
107
-
108
- ## Managing the Server
109
-
110
- ### Claude Code
111
-
112
- ```bash
113
- # View configured servers
114
- claude mcp list
115
-
116
- # Get server details
117
- claude mcp get assistant-ui
118
-
119
- # Remove the server
120
- claude mcp remove assistant-ui
121
-
122
- # Restart the server
123
- claude mcp restart assistant-ui
124
- ```
125
-
126
- ## License
127
-
128
- MIT
70
+ To list, get, or remove the server, use your editor's MCP management commands.
@@ -1,10 +1,13 @@
1
- export declare const ROOT_DIR: string;
2
- export declare const PACKAGE_DIR: string;
3
- export declare const EXAMPLES_PATH: string;
4
- export declare const DOCS_PATH: string;
5
- export declare const CODE_EXAMPLES_PATH: string;
6
- export declare const MDX_EXTENSION = ".mdx";
7
- export declare const MD_EXTENSION = ".md";
8
- export declare const MAX_FILE_SIZE: number;
9
- export declare const IS_PREPARE_MODE: boolean | undefined;
1
+ //#region src/constants.d.ts
2
+ declare const ROOT_DIR: string;
3
+ declare const PACKAGE_DIR: string;
4
+ declare const EXAMPLES_PATH: string;
5
+ declare const DOCS_PATH: string;
6
+ declare const CODE_EXAMPLES_PATH: string;
7
+ declare const MDX_EXTENSION = ".mdx";
8
+ declare const MD_EXTENSION = ".md";
9
+ declare const MAX_FILE_SIZE: number;
10
+ declare const IS_PREPARE_MODE: boolean | undefined;
11
+ //#endregion
12
+ export { CODE_EXAMPLES_PATH, DOCS_PATH, EXAMPLES_PATH, IS_PREPARE_MODE, MAX_FILE_SIZE, MDX_EXTENSION, MD_EXTENSION, PACKAGE_DIR, ROOT_DIR };
10
13
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ,QAA+B,CAAC;AACrD,eAAO,MAAM,WAAW,QAAyB,CAAC;AAElD,eAAO,MAAM,aAAa,QAA6B,CAAC;AAGxD,eAAO,MAAM,SAAS,QAA8B,CAAC;AACrD,eAAO,MAAM,kBAAkB,QAA6C,CAAC;AAE7E,eAAO,MAAM,aAAa,SAAS,CAAC;AACpC,eAAO,MAAM,YAAY,QAAQ,CAAC;AAElC,eAAO,MAAM,aAAa,QAAmB,CAAC;AAE9C,eAAO,MAAM,eAAe,qBAE3B,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","names":[],"sources":["../src/constants.ts"],"mappings":";cAKa,QAAA;AAAA,cACA,WAAA;AAAA,cAEA,aAAA;AAAA,cAGA,SAAA;AAAA,cACA,kBAAA;AAAA,cAEA,aAAA;AAAA,cACA,YAAA;AAAA,cAEA,aAAA;AAAA,cAEA,eAAA"}