xsAI
extra-small AI SDK.
npm i @xsmcp/client-xsai
pnpm add @xsmcp/client-xsai
yarn add @xsmcp/client-xsai
bun add @xsmcp/client-xsai
Examples
getXSAITools
import type { Tool } from '@xsai/shared-chat'
import { createHttpClient } from '@xsmcp/client-http'
import { getXSAITools } from '@xsmcp/client-xsai'
const client = createHttpClient({
name: 'example-client',
version: '1.0.0',
}, { url: 'http://localhost:3000/mcp' })
const tools: Tool[] = await getXSAITools(client)
with generateText
import { generateText } from '@xsai/generate-text'
import { createHttpClient } from '@xsmcp/client-http'
import { getXSAITools } from '@xsmcp/client-xsai'
try {
const client = createHttpClient({
name: 'example-client',
version: '1.0.0',
}, { url: 'http://localhost:3000/mcp' })
const result = await generateText({
baseURL: 'http://localhost:11434/v1/'
model: 'qwen3',
tools: await getXSAITools(client),
messages: [{ role: 'user', content: 'What does 1+1 equal?' }],
})
} finally {
await client.close()
}
with streamText
import { streamText } from '@xsai/stream-text'
import { createHttpClient } from '@xsmcp/client-http'
import { getXSAITools } from '@xsmcp/client-xsai'
const client = createHttpClient({
name: 'example-client',
version: '1.0.0',
}, { url: 'http://localhost:3000/mcp' })
const result = await streamText({
baseURL: 'http://localhost:11434/v1/'
model: 'qwen3',
onFinish: async () => client.close(),
tools: await getXSAITools(client),
messages: [{ role: 'user', content: 'What does 1+1 equal?' }],
})