@assistant-ui/mcp-docs-server 0.1.6 → 0.1.7

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 (25) hide show
  1. package/.docs/organized/code-examples/with-ai-sdk-v5.md +12 -12
  2. package/.docs/organized/code-examples/with-cloud.md +16 -24
  3. package/.docs/organized/code-examples/with-external-store.md +6 -6
  4. package/.docs/organized/code-examples/with-ffmpeg.md +18 -20
  5. package/.docs/organized/code-examples/with-langgraph.md +6 -8
  6. package/.docs/organized/code-examples/with-parent-id-grouping.md +6 -6
  7. package/.docs/organized/code-examples/with-react-hook-form.md +16 -20
  8. package/.docs/raw/docs/api-reference/overview.mdx +1 -4
  9. package/.docs/raw/docs/getting-started.mdx +33 -33
  10. package/.docs/raw/docs/guides/Attachments.mdx +1 -102
  11. package/.docs/raw/docs/guides/ToolUI.mdx +3 -3
  12. package/.docs/raw/docs/guides/Tools.mdx +101 -84
  13. package/.docs/raw/docs/runtimes/ai-sdk/use-chat.mdx +134 -55
  14. package/.docs/raw/docs/runtimes/ai-sdk/v4-legacy.mdx +182 -0
  15. package/.docs/raw/docs/runtimes/langgraph/index.mdx +0 -1
  16. package/.docs/raw/docs/runtimes/langserve.mdx +9 -11
  17. package/package.json +6 -6
  18. package/.docs/organized/code-examples/local-ollama.md +0 -1135
  19. package/.docs/organized/code-examples/search-agent-for-e-commerce.md +0 -1721
  20. package/.docs/organized/code-examples/with-ai-sdk.md +0 -1082
  21. package/.docs/organized/code-examples/with-openai-assistants.md +0 -1175
  22. package/.docs/raw/docs/runtimes/ai-sdk/rsc.mdx +0 -226
  23. package/.docs/raw/docs/runtimes/ai-sdk/use-assistant-hook.mdx +0 -195
  24. package/.docs/raw/docs/runtimes/ai-sdk/use-chat-hook.mdx +0 -138
  25. package/.docs/raw/docs/runtimes/ai-sdk/use-chat-v5.mdx +0 -212
@@ -1034,34 +1034,34 @@ export default nextConfig;
1034
1034
  "version": "0.0.0",
1035
1035
  "type": "module",
1036
1036
  "dependencies": {
1037
- "@ai-sdk/openai": "^2.0.0",
1038
- "@ai-sdk/react": "^2.0.0",
1037
+ "@ai-sdk/openai": "^2.0.15",
1038
+ "@ai-sdk/react": "^2.0.15",
1039
1039
  "@assistant-ui/react": "workspace:^",
1040
1040
  "@assistant-ui/react-ai-sdk": "workspace:*",
1041
1041
  "@assistant-ui/react-markdown": "workspace:^",
1042
1042
  "@radix-ui/react-slot": "^1.2.3",
1043
- "@radix-ui/react-tooltip": "^1.2.7",
1044
- "@tailwindcss/postcss": "^4.1.11",
1045
- "ai": "^5.0.0",
1043
+ "@radix-ui/react-tooltip": "^1.2.8",
1044
+ "@tailwindcss/postcss": "^4.1.12",
1045
+ "ai": "^5.0.15",
1046
1046
  "class-variance-authority": "^0.7.1",
1047
1047
  "clsx": "^2.1.1",
1048
- "lucide-react": "^0.535.0",
1049
- "next": "15.4.5",
1048
+ "lucide-react": "^0.539.0",
1049
+ "next": "15.4.6",
1050
1050
  "postcss": "^8.5.6",
1051
1051
  "react": "19.1.1",
1052
1052
  "react-dom": "19.1.1",
1053
1053
  "remark-gfm": "^4.0.1",
1054
1054
  "tailwind-merge": "^3.3.1",
1055
- "tailwindcss": "^4.1.11",
1056
- "zod": "^4.0.14"
1055
+ "tailwindcss": "^4.1.12",
1056
+ "zod": "^4.0.17"
1057
1057
  },
1058
1058
  "devDependencies": {
1059
1059
  "@assistant-ui/x-buildutils": "workspace:*",
1060
- "@types/node": "^24.1.0",
1061
- "@types/react": "^19.1.9",
1060
+ "@types/node": "^24.3.0",
1061
+ "@types/react": "^19.1.10",
1062
1062
  "@types/react-dom": "^19.1.7",
1063
1063
  "eslint": "^9",
1064
- "eslint-config-next": "15.4.5",
1064
+ "eslint-config-next": "15.4.6",
1065
1065
  "tw-animate-css": "^1.3.6",
1066
1066
  "typescript": "^5.9.2"
1067
1067
  },
@@ -4,9 +4,9 @@
4
4
 
5
5
  ```typescript
6
6
  import { openai } from "@ai-sdk/openai";
7
- import { jsonSchema, streamText } from "ai";
7
+ import { frontendTools } from "@assistant-ui/react-ai-sdk";
8
+ import { convertToModelMessages, streamText } from "ai";
8
9
 
9
- export const runtime = "edge";
10
10
  export const maxDuration = 30;
11
11
 
12
12
  export async function POST(req: Request) {
@@ -14,22 +14,15 @@ export async function POST(req: Request) {
14
14
 
15
15
  const result = streamText({
16
16
  model: openai("gpt-4o"),
17
- messages,
17
+ messages: convertToModelMessages(messages),
18
18
  // forward system prompt and tools from the frontend
19
19
  system,
20
- tools:
21
- tools &&
22
- Object.fromEntries(
23
- Object.entries<{ parameters: unknown }>(tools).map(([name, tool]) => [
24
- name,
25
- {
26
- parameters: jsonSchema(tool.parameters!),
27
- },
28
- ]),
29
- ),
20
+ tools: {
21
+ ...frontendTools(tools),
22
+ },
30
23
  });
31
24
 
32
- return result.toDataStreamResponse();
25
+ return result.toUIMessageStreamResponse();
33
26
  }
34
27
 
35
28
  ```
@@ -210,7 +203,7 @@ export default function RootLayout({
210
203
  "use client";
211
204
 
212
205
  import { AssistantCloud, AssistantRuntimeProvider } from "@assistant-ui/react";
213
- import { useChatRuntime } from "@assistant-ui/react-ai-sdk-v4";
206
+ import { useChatRuntime } from "@assistant-ui/react-ai-sdk";
214
207
 
215
208
  const cloud = new AssistantCloud({
216
209
  baseUrl: process.env["NEXT_PUBLIC_ASSISTANT_BASE_URL"]!,
@@ -224,7 +217,6 @@ export function MyRuntimeProvider({
224
217
  }>) {
225
218
  const runtime = useChatRuntime({
226
219
  cloud,
227
- api: "/api/chat",
228
220
  });
229
221
 
230
222
  return (
@@ -1097,19 +1089,19 @@ export default nextConfig;
1097
1089
  "lint": "next lint"
1098
1090
  },
1099
1091
  "dependencies": {
1100
- "@ai-sdk/openai": "^1.3.22",
1092
+ "@ai-sdk/openai": "^2.0.15",
1101
1093
  "@assistant-ui/react": "workspace:*",
1102
- "@assistant-ui/react-ai-sdk-v4": "workspace:*",
1094
+ "@assistant-ui/react-ai-sdk": "workspace:*",
1103
1095
  "@assistant-ui/react-markdown": "workspace:*",
1104
1096
  "@radix-ui/react-slot": "^1.2.3",
1105
- "@radix-ui/react-tooltip": "^1.2.7",
1106
- "ai": "^4.3.16",
1097
+ "@radix-ui/react-tooltip": "^1.2.8",
1098
+ "ai": "^5.0.15",
1107
1099
  "class-variance-authority": "^0.7.1",
1108
1100
  "clsx": "^2.1.1",
1109
1101
  "jsonwebtoken": "^9.0.2",
1110
- "lucide-react": "^0.535.0",
1102
+ "lucide-react": "^0.539.0",
1111
1103
  "nanoid": "5.1.5",
1112
- "next": "15.4.5",
1104
+ "next": "15.4.6",
1113
1105
  "react": "19.1.1",
1114
1106
  "react-dom": "19.1.1",
1115
1107
  "remark-gfm": "^4.0.1",
@@ -1123,9 +1115,9 @@ export default nextConfig;
1123
1115
  "@types/react": "^19",
1124
1116
  "@types/react-dom": "^19",
1125
1117
  "eslint": "^9",
1126
- "eslint-config-next": "15.4.5",
1118
+ "eslint-config-next": "15.4.6",
1127
1119
  "postcss": "^8",
1128
- "tailwindcss": "^4.1.11",
1120
+ "tailwindcss": "^4.1.12",
1129
1121
  "typescript": "^5"
1130
1122
  }
1131
1123
  }
@@ -1001,15 +1001,15 @@ export default nextConfig;
1001
1001
  "lint": "next lint"
1002
1002
  },
1003
1003
  "dependencies": {
1004
- "@ai-sdk/openai": "^1.3.22",
1004
+ "@ai-sdk/openai": "^2.0.15",
1005
1005
  "@assistant-ui/react": "workspace:*",
1006
1006
  "@assistant-ui/react-markdown": "workspace:*",
1007
1007
  "@radix-ui/react-slot": "^1.2.3",
1008
- "@radix-ui/react-tooltip": "^1.2.7",
1008
+ "@radix-ui/react-tooltip": "^1.2.8",
1009
1009
  "class-variance-authority": "^0.7.1",
1010
1010
  "clsx": "^2.1.1",
1011
- "lucide-react": "^0.535.0",
1012
- "next": "15.4.5",
1011
+ "lucide-react": "^0.539.0",
1012
+ "next": "15.4.6",
1013
1013
  "react": "19.1.1",
1014
1014
  "react-dom": "19.1.1",
1015
1015
  "remark-gfm": "^4.0.1",
@@ -1022,9 +1022,9 @@ export default nextConfig;
1022
1022
  "@types/react": "^19",
1023
1023
  "@types/react-dom": "^19",
1024
1024
  "eslint": "^9",
1025
- "eslint-config-next": "15.4.5",
1025
+ "eslint-config-next": "15.4.6",
1026
1026
  "postcss": "^8",
1027
- "tailwindcss": "^4.1.11",
1027
+ "tailwindcss": "^4.1.12",
1028
1028
  "typescript": "^5"
1029
1029
  }
1030
1030
  }
@@ -4,10 +4,9 @@
4
4
 
5
5
  ```typescript
6
6
  import { openai } from "@ai-sdk/openai";
7
- import { frontendTools } from "@assistant-ui/react-ai-sdk-v4";
8
- import { streamText } from "ai";
7
+ import { frontendTools } from "@assistant-ui/react-ai-sdk";
8
+ import { convertToModelMessages, streamText } from "ai";
9
9
 
10
- export const runtime = "edge";
11
10
  export const maxDuration = 30;
12
11
 
13
12
  export async function POST(req: Request) {
@@ -15,8 +14,7 @@ export async function POST(req: Request) {
15
14
 
16
15
  const result = streamText({
17
16
  model: openai("gpt-4o"),
18
- messages,
19
- toolCallStreaming: true,
17
+ messages: convertToModelMessages(messages),
20
18
  system,
21
19
  tools: {
22
20
  ...frontendTools(tools),
@@ -24,7 +22,7 @@ export async function POST(req: Request) {
24
22
  },
25
23
  });
26
24
 
27
- return result.toDataStreamResponse();
25
+ return result.toUIMessageStreamResponse();
28
26
  }
29
27
 
30
28
  ```
@@ -192,8 +190,9 @@ export default function RootLayout({
192
190
 
193
191
  import { AssistantRuntimeProvider } from "@assistant-ui/react";
194
192
  import { AttachmentAdapter } from "@assistant-ui/react";
195
- import { useChatRuntime } from "@assistant-ui/react-ai-sdk-v4";
193
+ import { useChatRuntime } from "@assistant-ui/react-ai-sdk";
196
194
  import { INTERNAL } from "@assistant-ui/react";
195
+ import { lastAssistantMessageIsCompleteWithToolCalls } from "ai";
197
196
 
198
197
  const { generateId } = INTERNAL;
199
198
 
@@ -232,8 +231,7 @@ export function MyRuntimeProvider({
232
231
  children: React.ReactNode;
233
232
  }>) {
234
233
  const runtime = useChatRuntime({
235
- api: "/api/chat",
236
- maxSteps: 4,
234
+ sendAutomaticallyWhen: lastAssistantMessageIsCompleteWithToolCalls,
237
235
  adapters: {
238
236
  attachments: attachmentAdapter,
239
237
  },
@@ -1225,9 +1223,9 @@ export default nextConfig;
1225
1223
  "lint": "next lint"
1226
1224
  },
1227
1225
  "dependencies": {
1228
- "@ai-sdk/openai": "^1.3.22",
1226
+ "@ai-sdk/openai": "^2.0.15",
1229
1227
  "@assistant-ui/react": "workspace:*",
1230
- "@assistant-ui/react-ai-sdk-v4": "workspace:*",
1228
+ "@assistant-ui/react-ai-sdk": "workspace:*",
1231
1229
  "@assistant-ui/react-hook-form": "workspace:*",
1232
1230
  "@assistant-ui/react-markdown": "workspace:*",
1233
1231
  "@ffmpeg/ffmpeg": "^0.12.15",
@@ -1237,23 +1235,23 @@ export default nextConfig;
1237
1235
  "@radix-ui/react-icons": "^1.3.2",
1238
1236
  "@radix-ui/react-label": "^2.1.7",
1239
1237
  "@radix-ui/react-slot": "^1.2.3",
1240
- "@radix-ui/react-tabs": "^1.1.12",
1241
- "@radix-ui/react-tooltip": "^1.2.7",
1238
+ "@radix-ui/react-tabs": "^1.1.13",
1239
+ "@radix-ui/react-tooltip": "^1.2.8",
1242
1240
  "@react-hook/media-query": "^1.1.1",
1243
- "ai": "^4.3.16",
1241
+ "ai": "^5.0.15",
1244
1242
  "class-variance-authority": "^0.7.1",
1245
1243
  "clsx": "^2.1.1",
1246
1244
  "json-schema-to-zod": "^2.6.1",
1247
- "lucide-react": "^0.535.0",
1248
- "next": "15.4.5",
1245
+ "lucide-react": "^0.539.0",
1246
+ "next": "15.4.6",
1249
1247
  "react": "19.1.1",
1250
1248
  "react-dom": "19.1.1",
1251
- "react-hook-form": "^7.61.1",
1249
+ "react-hook-form": "^7.62.0",
1252
1250
  "react-resizable-panels": "^3.0.4",
1253
1251
  "remark-gfm": "^4.0.1",
1254
1252
  "tailwind-merge": "^3.3.1",
1255
1253
  "tw-animate-css": "^1.3.6",
1256
- "zod": "^4.0.14",
1254
+ "zod": "^4.0.17",
1257
1255
  "zustand": "^5.0.7"
1258
1256
  },
1259
1257
  "devDependencies": {
@@ -1262,9 +1260,9 @@ export default nextConfig;
1262
1260
  "@types/react": "^19",
1263
1261
  "@types/react-dom": "^19",
1264
1262
  "eslint": "^9",
1265
- "eslint-config-next": "15.4.5",
1263
+ "eslint-config-next": "15.4.6",
1266
1264
  "postcss": "^8",
1267
- "tailwindcss": "^4.1.11",
1265
+ "tailwindcss": "^4.1.12",
1268
1266
  "typescript": "^5.9.2"
1269
1267
  }
1270
1268
  }
@@ -5,8 +5,6 @@
5
5
  ```typescript
6
6
  import { NextRequest, NextResponse } from "next/server";
7
7
 
8
- export const runtime = "edge";
9
-
10
8
  function getCorsHeaders() {
11
9
  return {
12
10
  "Access-Control-Allow-Origin": "*",
@@ -1727,16 +1725,16 @@ export default nextConfig;
1727
1725
  "@assistant-ui/react": "workspace:*",
1728
1726
  "@assistant-ui/react-langgraph": "workspace:*",
1729
1727
  "@assistant-ui/react-markdown": "workspace:*",
1730
- "@langchain/langgraph-sdk": "^0.0.105",
1728
+ "@langchain/langgraph-sdk": "^0.0.107",
1731
1729
  "@radix-ui/react-slot": "^1.2.3",
1732
- "@radix-ui/react-tooltip": "^1.2.7",
1730
+ "@radix-ui/react-tooltip": "^1.2.8",
1733
1731
  "class-variance-authority": "^0.7.1",
1734
1732
  "clsx": "^2.1.1",
1735
1733
  "js-cookie": "^3.0.5",
1736
1734
  "jsonwebtoken": "^9.0.2",
1737
- "lucide-react": "^0.535.0",
1735
+ "lucide-react": "^0.539.0",
1738
1736
  "nanoid": "5.1.5",
1739
- "next": "15.4.5",
1737
+ "next": "15.4.6",
1740
1738
  "react": "19.1.1",
1741
1739
  "react-dom": "19.1.1",
1742
1740
  "remark-gfm": "^4.0.1",
@@ -1751,9 +1749,9 @@ export default nextConfig;
1751
1749
  "@types/react": "^19",
1752
1750
  "@types/react-dom": "^19",
1753
1751
  "eslint": "^9",
1754
- "eslint-config-next": "15.4.5",
1752
+ "eslint-config-next": "15.4.6",
1755
1753
  "postcss": "^8",
1756
- "tailwindcss": "^4.1.11",
1754
+ "tailwindcss": "^4.1.12",
1757
1755
  "typescript": "^5.9.2"
1758
1756
  }
1759
1757
  }
@@ -1247,15 +1247,15 @@ export default nextConfig;
1247
1247
  "lint": "next lint"
1248
1248
  },
1249
1249
  "dependencies": {
1250
- "@ai-sdk/openai": "^1.3.22",
1250
+ "@ai-sdk/openai": "^2.0.15",
1251
1251
  "@assistant-ui/react": "workspace:*",
1252
1252
  "@assistant-ui/react-markdown": "workspace:*",
1253
1253
  "@radix-ui/react-slot": "^1.2.3",
1254
- "@radix-ui/react-tooltip": "^1.2.7",
1254
+ "@radix-ui/react-tooltip": "^1.2.8",
1255
1255
  "class-variance-authority": "^0.7.1",
1256
1256
  "clsx": "^2.1.1",
1257
- "lucide-react": "^0.535.0",
1258
- "next": "15.4.5",
1257
+ "lucide-react": "^0.539.0",
1258
+ "next": "15.4.6",
1259
1259
  "react": "19.1.1",
1260
1260
  "react-dom": "19.1.1",
1261
1261
  "remark-gfm": "^4.0.1",
@@ -1268,9 +1268,9 @@ export default nextConfig;
1268
1268
  "@types/react": "^19",
1269
1269
  "@types/react-dom": "^19",
1270
1270
  "eslint": "^9",
1271
- "eslint-config-next": "15.4.5",
1271
+ "eslint-config-next": "15.4.6",
1272
1272
  "postcss": "^8",
1273
- "tailwindcss": "^4.1.11",
1273
+ "tailwindcss": "^4.1.12",
1274
1274
  "typescript": "^5"
1275
1275
  }
1276
1276
  }
@@ -4,10 +4,9 @@
4
4
 
5
5
  ```typescript
6
6
  import { openai } from "@ai-sdk/openai";
7
- import { frontendTools } from "@assistant-ui/react-ai-sdk-v4";
8
- import { streamText } from "ai";
7
+ import { frontendTools } from "@assistant-ui/react-ai-sdk";
8
+ import { convertToModelMessages, streamText } from "ai";
9
9
 
10
- export const runtime = "edge";
11
10
  export const maxDuration = 30;
12
11
 
13
12
  export async function POST(req: Request) {
@@ -15,15 +14,14 @@ export async function POST(req: Request) {
15
14
 
16
15
  const result = streamText({
17
16
  model: openai("gpt-4o"),
18
- messages,
19
- toolCallStreaming: true,
17
+ messages: convertToModelMessages(messages),
20
18
  system,
21
19
  tools: {
22
20
  ...frontendTools(tools),
23
21
  },
24
22
  });
25
23
 
26
- return result.toDataStreamResponse();
24
+ return result.toUIMessageStreamResponse();
27
25
  }
28
26
 
29
27
  ```
@@ -189,16 +187,14 @@ export default function RootLayout({
189
187
  "use client";
190
188
 
191
189
  import { AssistantRuntimeProvider } from "@assistant-ui/react";
192
- import { useChatRuntime } from "@assistant-ui/react-ai-sdk-v4";
190
+ import { useChatRuntime } from "@assistant-ui/react-ai-sdk";
193
191
 
194
192
  export function MyRuntimeProvider({
195
193
  children,
196
194
  }: Readonly<{
197
195
  children: React.ReactNode;
198
196
  }>) {
199
- const runtime = useChatRuntime({
200
- api: "/api/chat",
201
- });
197
+ const runtime = useChatRuntime();
202
198
 
203
199
  return (
204
200
  <AssistantRuntimeProvider runtime={runtime}>
@@ -1649,7 +1645,7 @@ export default nextConfig;
1649
1645
  "lint": "next lint"
1650
1646
  },
1651
1647
  "dependencies": {
1652
- "@ai-sdk/openai": "^1.3.22",
1648
+ "@ai-sdk/openai": "^2.0.15",
1653
1649
  "@assistant-ui/react": "workspace:*",
1654
1650
  "@assistant-ui/react-ai-sdk": "workspace:*",
1655
1651
  "@assistant-ui/react-hook-form": "workspace:*",
@@ -1659,23 +1655,23 @@ export default nextConfig;
1659
1655
  "@radix-ui/react-icons": "^1.3.2",
1660
1656
  "@radix-ui/react-label": "^2.1.7",
1661
1657
  "@radix-ui/react-slot": "^1.2.3",
1662
- "@radix-ui/react-tabs": "^1.1.12",
1663
- "@radix-ui/react-tooltip": "^1.2.7",
1658
+ "@radix-ui/react-tabs": "^1.1.13",
1659
+ "@radix-ui/react-tooltip": "^1.2.8",
1664
1660
  "@react-hook/media-query": "^1.1.1",
1665
- "ai": "^4.3.16",
1661
+ "ai": "^5.0.15",
1666
1662
  "class-variance-authority": "^0.7.1",
1667
1663
  "clsx": "^2.1.1",
1668
1664
  "json-schema-to-zod": "^2.6.1",
1669
- "lucide-react": "^0.535.0",
1670
- "next": "15.4.5",
1665
+ "lucide-react": "^0.539.0",
1666
+ "next": "15.4.6",
1671
1667
  "react": "19.1.1",
1672
1668
  "react-dom": "19.1.1",
1673
- "react-hook-form": "^7.61.1",
1669
+ "react-hook-form": "^7.62.0",
1674
1670
  "react-resizable-panels": "^3.0.4",
1675
1671
  "remark-gfm": "^4.0.1",
1676
1672
  "tailwind-merge": "^3.3.1",
1677
1673
  "tw-animate-css": "^1.3.6",
1678
- "zod": "^4.0.14",
1674
+ "zod": "^4.0.17",
1679
1675
  "zustand": "^5.0.7"
1680
1676
  },
1681
1677
  "devDependencies": {
@@ -1684,9 +1680,9 @@ export default nextConfig;
1684
1680
  "@types/react": "^19",
1685
1681
  "@types/react-dom": "^19",
1686
1682
  "eslint": "^9",
1687
- "eslint-config-next": "15.4.5",
1683
+ "eslint-config-next": "15.4.6",
1688
1684
  "postcss": "^8",
1689
- "tailwindcss": "^4.1.11",
1685
+ "tailwindcss": "^4.1.12",
1690
1686
  "typescript": "^5.9.2"
1691
1687
  }
1692
1688
  }
@@ -29,10 +29,7 @@ export const contextColors = {
29
29
  ### AI SDK
30
30
 
31
31
  - [`useChatRuntime`](#use-chat-runtime)
32
- - [`useVercelUseChatRuntime`](#use-vercel-use-chat-runtime) (legacy)
33
- - [`useVercelUseAssistantRuntime`](#use-vercel-use-assistant-runtime)
34
- - [`useVercelRSCRuntime`](#use-vercel-rsc-runtime)
35
- - [`useDangerousInBrowserRuntime`](#use-dangerous-in-browser-runtime)
32
+ - [`useAISDKRuntime`](#use-aisdk-runtime)
36
33
 
37
34
  ### LangGraph
38
35