- Conversations — instrument agent turns from your application code.
- MCP — wrap an MCP server so every call it handles is captured for you.
Which one do I use
Conversations SDK
Reach for this when your agent is application code that produces a reply per turn. You control when a turn begins and ends, and you attach the user, the input, and the output.
MCP wrapper
Reach for this when your agent uses tools through a supported MCP server. The wrapper captures registered tool invocations; it does not currently capture resource reads or prompt calls.
- If you already talk to the model directly and shape the conversation, use Conversations.
- If the model reaches your tools through MCP, use the MCP wrapper to capture registered tool invocations.
- If both are true (an app-level agent that also exposes MCP tools), use both. Turns and tool calls link together into one event tree.
Install
The shared shape
Both SDKs expose the same core calls. The naming follows each language’s conventions (snake_case in Python, camelCase in TypeScript), but the behavior is identical.Full references
Python SDK
Every call with runnable examples.
TypeScript SDK
Every call with runnable examples.
MCP
Wrapping an MCP server in Python and TypeScript.