xsMCP0.1.0-beta.2

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?' }],
})