The AI SDK adapter allows you to use AgentMark prompts with Vercel AI SDK’s generation functions. This is the recommended adapter for most TypeScript/JavaScript applications.AgentMark provides two versions of this adapter — one for AI SDK v4 and one for AI SDK v5. Both share the same API surface (VercelAIModelRegistry, createAgentMarkClient), so switching between them only requires changing the package import.
Install the adapter, the ai core package, and the provider package(s) for the models you want to use. Provider packages must be compatible with your ai core version.
AI SDK v5 (Recommended)
AI SDK v4
# Corenpm install @agentmark-ai/ai-sdk-v5-adapter ai@^5# Provider packages (install the ones you need)npm install @ai-sdk/openai # OpenAI / GPT modelsnpm install @ai-sdk/anthropic # Anthropic / Claude modelsnpm install @ai-sdk/google # Google / Gemini models# MCP server support (optional)npm install @ai-sdk/mcp
Create your AgentMark client with a model registry. Use .registerModels() to map model names to AI SDK provider instances — supports exact names or regex patterns:
Configure tools using the AI SDK’s native tool() helper:
agentmark.client.ts
import { createAgentMarkClient, VercelAIModelRegistry } from "@agentmark-ai/ai-sdk-v5-adapter";import { tool } from "ai";import { z } from "zod";const weatherTool = tool({ description: "Get current weather for a location", parameters: z.object({ location: z.string(), }), execute: async ({ location }) => { return `The weather in ${location} is sunny and 72°F`; },});export const client = createAgentMarkClient({ loader: fileLoader, modelRegistry, tools: { weather: weatherTool },});
Then reference tools in your prompts:
weather.prompt.mdx
---name: weathertext_config: model_name: claude-3-5-sonnet-20241022 tools: - weather---<System>You are a helpful weather assistant.</System><User>What's the weather in {props.location}?</User>
Update packages — upgrade the adapter, ai core, provider packages, and add MCP if needed:
npm uninstall @agentmark-ai/ai-sdk-v4-adapternpm install @agentmark-ai/ai-sdk-v5-adapter ai@^5 @ai-sdk/mcp# Also upgrade your provider packages to v5-compatible versionsnpm install @ai-sdk/openai@latest @ai-sdk/anthropic@latest
Update imports — change the package path in your agentmark.client.ts:
// Beforeimport { createAgentMarkClient, VercelAIModelRegistry } from "@agentmark-ai/ai-sdk-v4-adapter";// Afterimport { createAgentMarkClient, VercelAIModelRegistry } from "@agentmark-ai/ai-sdk-v5-adapter";
No other changes required — the VercelAIModelRegistry and createAgentMarkClient APIs are the same. Tools and MCP servers are passed as plain objects. All prompt .format() calls and AI SDK generation functions (generateText, generateObject, streamText, etc.) remain identical.