Adapters connect AgentMark prompts to AI SDKs. They translate AgentMark’s prompt format into the format your AI SDK expects.The pattern is always the same:
Recommended: Pydantic AI — Best for most Python projects. Provides:
Type-safe outputs via Pydantic models
Streaming support
Sync and async tool functions
All major LLM providers (OpenAI, Anthropic, Google)
Alternative: Claude Agent SDK — Use when you need agentic capabilities with Claude:
Multi-turn tool use
Budget controls
Permission management
Image and speech generation are not available in Python adapters. If you need these features, consider using the AI SDK adapter via a Node.js service, or use provider SDKs directly.
Switch between adapters without changing your prompts. Only your client configuration changes:
TypeScript
Python
// Switch from AI SDK to Mastra — your prompts stay exactly the sameimport { createAgentMarkClient, MastraModelRegistry } from "@agentmark-ai/mastra-v0-adapter";
# Switch from Pydantic AI to Claude Agent SDK — your prompts stay exactly the samefrom agentmark_claude_agent_sdk import create_claude_agent_client, ClaudeAgentModelRegistry
Your prompts are adapter-agnostic. The same .prompt.mdx files work with any adapter. Only your client configuration (agentmark.client.ts or agentmark_client.py) needs to change.
Adapter packages use a -v0 suffix (e.g., agentmark-pydantic-ai-v0, @agentmark-ai/mastra-v0-adapter). This indicates the adapter API version, not stability:
v0 = current stable API
Future breaking changes would be released as v1, v2, etc.
This allows you to pin to a specific adapter API version while still receiving bug fixes.