@moss-tools/vercel-sdk
v0.1.0
Published
Vercel AI SDK tools for MOSS semantic search
Maintainers
Readme
@moss-tools/vercel-sdk
Vercel AI SDK 6 tool wrappers for MOSS semantic search.
Gives AI agents the ability to search, create indexes, and manage documents through MOSS — all via standard AI SDK tool() definitions.
Install
npm install @moss-tools/vercel-sdk @moss-dev/moss ai zodUsage
import { MossClient } from '@moss-dev/moss';
import { mossSearchTool, mossCreateIndexTool } from '@moss-tools/vercel-sdk';
import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai';
const client = new MossClient('your-project-id', 'your-project-key');
const result = await generateText({
model: openai('gpt-4o'),
tools: {
search: mossSearchTool({ client, indexName: 'docs' }),
createIndex: mossCreateIndexTool({ client }),
},
maxSteps: 5,
prompt: 'Find docs about neural networks and summarize them.',
});Available tools
| Factory | Description | Mutating |
| --- | --- | --- |
| mossSearchTool | Semantic search | No |
| mossAddDocsTool | Add documents to an index | Yes |
| mossDeleteDocsTool | Delete documents by ID | Yes |
| mossCreateIndexTool | Create a new index with documents | Yes |
| mossLoadIndexTool | Load an index into memory for fast local queries | No |
| mossListIndexesTool | List all indexes | No |
Mutating tools set needsApproval: true so the AI SDK can prompt for user confirmation.
Tool options
All tool factories accept:
client— aMossClientinstance (required)description— override the default tool description
Search, loadIndex, addDocs, and deleteDocs also accept:
indexName— prebind to a specific index. When omitted, the LLM must specify the index name as part of the tool input.
Examples
Prebound index (simpler schema for the LLM)
const search = mossSearchTool({ client, indexName: 'docs' });
// LLM only needs to provide: { query, topK? }Dynamic index (LLM chooses the index)
const search = mossSearchTool({ client });
// LLM must provide: { indexName, query, topK? }All tools
import {
mossSearchTool,
mossLoadIndexTool,
mossAddDocsTool,
mossDeleteDocsTool,
mossCreateIndexTool,
mossListIndexesTool,
} from '@moss-tools/vercel-sdk';
const tools = {
search: mossSearchTool({ client, indexName: 'docs' }),
loadIndex: mossLoadIndexTool({ client, indexName: 'docs' }),
addDocs: mossAddDocsTool({ client, indexName: 'docs' }),
deleteDocs: mossDeleteDocsTool({ client, indexName: 'docs' }),
createIndex: mossCreateIndexTool({ client }),
listIndexes: mossListIndexesTool({ client }),
};License
See LICENSE.
