Skip to Content
Tools & MCPFrameworks (SDK)

Frameworks with Marshal SDK

Use the Marshal SDK to load org MCP tools into your agent runtime. Copy the MCP URL and headers from console Marshal → Tools & MCP → Connect (production default below).

Install

pip install "exemplar-harness-sdk[langchain]" # or [agno], [google-adk], … export EXEMPLAR_API_KEY="eis_your_org_api_key" # optional: export EXEMPLAR_MCP_URL="https://production-api.exemplar.dev/mcp"
from exemplar_harness import Harness harness = Harness.from_env() toolkit = harness.tools() print(toolkit.mcp_url)

Prefer MCP for discrete actions. Use A2A connector specialists when an orchestrator should hand off a whole vendor turn — see Connector agents. Full catalog of live demos: Live SDK examples.

Live examples by framework

Customer samples live in exemplar-platform-samples. Set EXEMPLAR_API_KEY (and a provider key). Do not use HARNESS_EXAMPLES_SIMULATED=1.

FrameworkPython (MCP)Python RelayTypeScript
LangChainlangchain_mcp.pylangchain.pyingest  · relay 
LangGraphlanggraph.py(LangChain.js middleware)
Agnoagno_mcp.pyagno.py
Google ADKgoogle_adk_mcp.pyadk.py
Claude Agent SDKclaude_agent_mcp.pyclaude_sdk.pyingest  · relay 
OpenAI Agentsopenai_agents.pyingest  · relay 
Pydantic AI / CrewAI / SKpydantic_ai · crewai · semantic_kernel
OpenAI / Anthropicopenai  · anthropic 
Mastraingest  · relay 
Vercel AI SDKingest/vercel-ai.ts
MoreSee Live SDK examples · python/relay/
# Python — live LangChain + MCP cd exemplar-platform-samples/python EXEMPLAR_API_KEY=... GOOGLE_API_KEY=... python -m frameworks.langchain_mcp # TypeScript — live Relay evaluate cd exemplar-platform-samples/typescript EXEMPLAR_API_KEY=... npx tsx relay/evaluate.ts

Provider map

Python

FrameworkExtraEntry
LangChain / LangGraph[langchain] / [langgraph]for_provider("langchain")get_tools()
Agno[agno]for_provider("agno")
Google ADK[google-adk]for_provider("google_adk")
Claude Agent SDK, Pydantic AI, Autogen, …matching extrafor_provider(...)
OpenAI / Anthropic / LiteLLM adaptersmatching extrafor_provider_tools_schema + execute helper

List names: HarnessTools.supported_providers().

TypeScript

FrameworkHelper area
Vercel AI SDK, OpenAI Agents, Anthropic, Claude Agent SDK./integrations/…
LangChain.js / Mastrahandlers + optional Relay hooks
Other chat SDKssession ingest helpers

Golden path — LangChain (live)

Matches frameworks/langchain_mcp.py:

import asyncio from langchain_core.messages import HumanMessage from langchain_google_genai import ChatGoogleGenerativeAI from langgraph.prebuilt import create_react_agent from exemplar_harness import Harness from exemplar_harness.integrations.langchain import make_langchain_callback_handler async def main(): harness = Harness.from_env() toolkit = harness.tools() mcp = toolkit.for_provider("langchain") mcp_tools = await mcp.get_tools() handler = make_langchain_callback_handler( harness, session_id="demo-session-1", chain_name="sre-orchestrator" ) llm = ChatGoogleGenerativeAI(model="gemini-2.5-flash", callbacks=[handler]) agent = create_react_agent(llm, mcp_tools) result = await agent.ainvoke( {"messages": [HumanMessage(content="List triggered PagerDuty incidents")]}, config={"callbacks": [handler]}, ) print(result["messages"][-1].content) await toolkit.close_adapters() asyncio.run(main())
Last updated on