Set your API key once, and every client below uses the same URL and bearer header.
Hosted HTTP
Pydantic AI
LangChain
Mastra
OpenAI Agents SDK
Claude Code
Claude Desktop
native=False is the default: Pydantic AI connects and calls the tools. native=True sends the URL to the model provider (OpenAI Responses, Anthropic, xAI), and the provider connects.Install with pip install langchain-mcp-adapters langgraph. Pass tools to any Mastra Agent. Install with npm install @mastra/mcp. Claude Desktop speaks MCP over stdio, and its connector UI cannot send Authorization. Bridge it with mcp-remote in claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json):Replace /path/to/node with the directory that holds Node.js. If npx is at /usr/local/bin/npx, use /usr/local. Claude Desktop does not inherit your shell PATH, so set command, PATH, and VLM_AUTH yourself. Node.js 18 or newer is required.
initialize returns server instructions that name each tool. Most clients inject them as the system message, so keep your own steering in the user turn. A second system message breaks strict OpenAI-compatible endpoints.
Call it without a framework
One POST calls a tool. The server issues no session id, so each request carries its own headers and any replica can answer. Send Accept: application/json, text/event-stream. The reply is a Server-Sent Events stream. The endpoint accepts POST only. GET /mcp returns 405.
initialize returns the server instructions. It does not open a session.