Skip to Content
FrameworksFramework Integrations

Framework Integrations

Curate-Me’s gateway is wire-compatible with the OpenAI and Anthropic APIs, so every major agent framework works by swapping a single base URL. We treat each of the supported frameworks as a first-class product path: each one has a maintained example, a smoke test that runs in CI against the gateway contract, and a documented set of known limitations.

Every example here is exercised by scripts/docs/docs-example-smoke.sh on every pull request against a mock gateway, and nightly against staging. If a framework’s example breaks (base URL drift, header rename, response shape change) the CI build fails.

Supported frameworks

FrameworkLanguagePatternExampleTests
LangChainPythonbase_url on ChatOpenAIexamples/integrations/langchain 3 cases
LangGraphPythonbase_url on ChatOpenAIexamples/integrations/langgraph 4 cases
OpenAI Agents SDKPythonbase_url on AsyncOpenAIexamples/integrations/openai-agents 4 cases
Claude Agent SDKPythonbase_url on Anthropicexamples/integrations/claude-agent-sdk 3 cases
Vercel AI SDKTypeScriptbaseURL on createOpenAIexamples/integrations/vercel-ai-sdk 4 cases
CrewAIPythonOPENAI_BASE_URL env varexamples/integrations/crewai 3 cases
MCPany host@curate-me/mcp-serverexamples/integrations/mcp 4 cases

The gateway contract every integration verifies

Each framework’s smoke test confirms the same five guarantees, so the integration story is identical regardless of which framework you start from:

  1. Base URL ends with /v1/openai (or /v1/anthropic) on a curate-me host.
  2. Auth is set via X-CM-API-Key: cm_sk_... (or Authorization: Bearer cm_sk_...).
  3. Response carries X-CM-Request-Id — required for trace correlation in the dashboard.
  4. Response carries X-CM-Trace-Id — W3C-compatible trace ID propagated to upstream provider calls.
  5. No raw provider key (sk-..., sk-ant-...) appears in the example source — examples never embed real OpenAI / Anthropic credentials.

If any of those guarantees regress for any framework, the framework-examples-smoke.yml CI workflow fails the PR.

Known unsupported behaviors

Not every framework feature is supported by the gateway today. The honest list, refreshed each release:

  • Vercel AI SDK tools — function-calling tool definitions work through the gateway, but the auto-tool-execution path requires the upstream provider to support OpenAI’s tool format. Anthropic’s native tool format requires hitting /v1/anthropic directly.
  • LangGraph checkpointer persistence — the checkpointer (memory saver, Postgres saver, etc.) runs on your infrastructure; the gateway only sees the per-step LLM call. We don’t yet record cross-step memory diffs.
  • OpenAI Agents SDK handoffs — handoffs work as long as both the source and target agent use the gateway base URL. We don’t yet model handoffs as first-class trace edges; each agent’s LLM call shows up as a separate trace row.
  • MCP streaming tools — SSE / streaming tool responses pass through unmodified, but the gateway only records per-tool-call cost; chunked cost rollup happens at the end of the stream.

Full table with version pins lives in docs/00-platform/FRAMEWORK_INTEGRATIONS.md.

Troubleshooting

If a framework call returns a non-Curate-Me response shape, check in this order:

  1. Base URLecho $OPENAI_BASE_URL (or the equivalent SDK config). Must end with /v1/openai and host curate-me.
  2. Auth headercurl -I your endpoint and confirm X-CM-API-Key (or Authorization: Bearer cm_sk_...) is present.
  3. Request ID — every gateway response has X-CM-Request-Id. If it’s missing, you bypassed the gateway. Re-check step 1.
  4. Open the trace — paste the request ID into the dashboard Traces search.

For framework-specific troubleshooting, see the per-framework page linked in the table above.