api.yambr.com is a public MCP endpoint (Computer Use tools only). Bring your own model — we don’t resell inference.
api.yambr.com is a LiteLLM deployment that only exposes the Computer Use MCP endpoint publicly. It is not a model gateway — we don’t proxy chat/completions and we don’t resell OpenAI / Anthropic / Google inference.
Bring your own model. Your Yambr API key is for the MCP tool server at https://api.yambr.com/mcp/computer_use. LLM requests go to your provider (OpenAI, Anthropic, a self-hosted LiteLLM, …) with your key. Pipelines that do OpenAI(base_url="https://api.yambr.com").chat.completions.create(...) will fail — that endpoint is closed.
B. OpenAI / Anthropic SDK — tool-use with your own model
Call your own provider. Hand the model a tool spec that forwards tool calls to our MCP endpoint. Many frameworks (OpenAI Agents SDK, Mastra, Vercel AI SDK, LangChain, Anthropic MCP support) have native MCP-tool adapters — point them at https://api.yambr.com/mcp/computer_use with your Yambr key.Minimal shape with the OpenAI Agents SDK:
from agents import Agent, Runnerfrom agents.mcp import MCPServerStreamableHttpfrom openai import OpenAI# Your own OpenAI key / account — NOT a Yambr keyopenai_client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])yambr_mcp = MCPServerStreamableHttp( params={ "url": "https://api.yambr.com/mcp/computer_use", "headers": {"Authorization": f"Bearer {os.environ['YAMBR_API_KEY']}"}, }, name="yambr-computer-use",)agent = Agent( name="computer-user", instructions="Use the Computer Use tools to complete the user's task.", model="gpt-4o", # ← YOUR model, YOUR provider mcp_servers=[yambr_mcp],)result = await Runner.run(agent, "Create a pitch deck about coffee")print(result.final_output)
Equivalent patterns exist for Anthropic’s MCP tool support and for LangChain’s MultiServerMCPClient. The rule: model traffic = your provider; tool traffic = api.yambr.com.
Long-running bash_tool / sub_agent calls stream SSE back over the same MCP connection with 15-second heartbeats. If a client closes the socket early the sandbox keeps running — the sub_agent tmux session is reconnectable from chat.yambr.com’s Terminal tab.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Yambr","colors":{"primary":"#65A30D","light":"#A3E635","dark":"#3F6212"},"logo":{"light":"https://mintcdn.com/yambr/b_GH1xc1e1O0xxjD/logo/yambr.png?fit=max\u0026auto=format\u0026n=b_GH1xc1e1O0xxjD\u0026q=85\u0026s=86eaec0a14414049dfb9a1068cd73bcd","dark":"https://mintcdn.com/yambr/b_GH1xc1e1O0xxjD/logo/yambr.png?fit=max\u0026auto=format\u0026n=b_GH1xc1e1O0xxjD\u0026q=85\u0026s=86eaec0a14414049dfb9a1068cd73bcd"},"favicon":"https://mintcdn.com/yambr/b_GH1xc1e1O0xxjD/favicon.png?fit=max\u0026auto=format\u0026n=b_GH1xc1e1O0xxjD\u0026q=85\u0026s=8212a5dc1f6ddce62a776b01959c2a29","navbar":{"links":[{"href":"https://github.com/Yambr/open-computer-use","label":"GitHub"},{"href":"https://t.me/yambrcom","label":"Telegram"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.yambr.com/"}},"footer":{"socials":{"github":"https://github.com/Yambr/open-computer-use","telegram":"https://t.me/yambrcom"}},"seo":{"metatags":{"og:image":"https://yambr.com/og-image.svg","og:site_name":"Yambr Docs","twitter:card":"summary_large_image","twitter:image":"https://yambr.com/og-image.svg"}},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Try on chat.yambr.com","icon":"comments","href":"https://chat.yambr.com/"},{"anchor":"Get API key","icon":"key","href":"https://app.yambr.com/"},{"anchor":"GitHub","icon":"github","href":"https://github.com/Yambr/open-computer-use"},{"anchor":"Telegram","icon":"telegram","href":"https://t.me/yambrcom"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"yambr","hasAudioNarration":false,"actualSubdomain":"yambr","customDomains":["docs.yambr.com"],"gitSource":{"type":"github","owner":"yambr","repo":"docs","deployBranch":"main","isPrivate":false,"contentDirectory":"","mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21dd7a29c7042dd5f5eeb7","collectionId":"fe7c0671-4c95-40b6-b349-8d4464c33b14","schemaVersion":"v2"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6a21dd7a29c7042dd5f5eeb7:success","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"Guides","count":47},{"language":"default","tag":"Demo course","count":10},{"language":"default","tag":"Yambr Platform","count":7},{"language":"default","tag":"API reference","count":6},{"language":"default","tag":"Integrations","count":6},{"language":"default","tag":"Features","count":5},{"language":"default","tag":"Self-hosting","count":5},{"language":"default","tag":"Reference","count":5},{"language":"default","tag":"Skills","count":5},{"language":"default","tag":"MCP methods","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"platform/litellm","slug":"/platform/litellm","pageMetadata":{"title":"LiteLLM gateway","description":"api.yambr.com is a public MCP endpoint (Computer Use tools only). Bring your own model — we don't resell inference.","href":"/platform/litellm"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"api.yambr.com is a public MCP endpoint (Computer Use tools only). Bring your own model — we don’t resell inference.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://api.yambr.com`,children:`api.yambr.com`}),` is a `,_jsx(_components.a,{href:`https://github.com/BerriAI/litellm`,children:`LiteLLM`}),` deployment that `,_jsx(_components.strong,{children:`only exposes the Computer Use MCP endpoint`}),` publicly. It is `,_jsx(_components.em,{children:`not`}),` a model gateway — we don’t proxy `,_jsx(_components.code,{children:`chat/completions`}),` and we don’t resell OpenAI / Anthropic / Google inference.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Bring your own model.`}),` Your Yambr API key is for the MCP tool server at `,_jsx(_components.code,{children:`https://api.yambr.com/mcp/computer_use`}),`. LLM requests go to `,_jsx(_components.em,{children:`your`}),` provider (OpenAI, Anthropic, a self-hosted LiteLLM, …) with `,_jsx(_components.em,{children:`your`}),` key. Pipelines that do `,_jsx(_components.code,{children:`OpenAI(base_url=\"https://api.yambr.com\").chat.completions.create(...)`}),` will fail — that endpoint is closed.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`the-public-endpoint`,children:`The public endpoint`}),`\n`,_jsx(CodeBlock,{numberOfLines:`3`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`POST https://api.yambr.com/mcp/computer_use`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Authorization: Bearer \u003cyambr-key>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`JSON-RPC over Streamable HTTP. Same protocol as any MCP server — see `,_jsx(_components.a,{href:`/api-reference/introduction`,children:`MCP API reference`}),`.`]}),`\n`,_jsx(_components.p,{children:`What you get:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Computer Use tools: `,_jsx(_components.code,{children:`bash_tool`}),`, `,_jsx(_components.code,{children:`view`}),`, `,_jsx(_components.code,{children:`create_file`}),`, `,_jsx(_components.code,{children:`str_replace`}),`, `,_jsx(_components.code,{children:`sub_agent`})]}),`\n`,_jsxs(_components.li,{children:[`Per-chat sandbox containers (isolated Docker) — scoped by `,_jsx(_components.code,{children:`x-chat-id`}),` header`]}),`\n`,_jsxs(_components.li,{children:[`Live browser, terminal, and file preview URLs served from `,_jsx(_components.code,{children:`cu.yambr.com`})]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`three-ways-to-wire-it-in`,children:`Three ways to wire it in`}),`\n`,_jsx(Heading,{level:`3`,id:`a-mcp-native-client-claude-desktop-mcp-inspector-agents-sdk`,children:`A. MCP-native client (Claude Desktop, MCP Inspector, Agents SDK)`}),`\n`,_jsx(_components.p,{children:`Point your client directly at the endpoint. Your client’s host application drives the LLM; our server provides the tools.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"mcpServers\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"yambr-computer-use\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://api.yambr.com/mcp/computer_use\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"transport\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"streamable-http\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"headers\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"Authorization\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Bearer sk-yambr-...\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/integrations/claude-desktop`,children:`Claude Desktop integration`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`b-openai-/-anthropic-sdk-—-tool-use-with-your-own-model`,children:`B. OpenAI / Anthropic SDK — tool-use with your own model`}),`\n`,_jsxs(_components.p,{children:[`Call your own provider. Hand the model a tool spec that forwards tool calls to our MCP endpoint. Many frameworks (OpenAI Agents SDK, Mastra, Vercel AI SDK, LangChain, Anthropic MCP support) have native MCP-tool adapters — point them at `,_jsx(_components.code,{children:`https://api.yambr.com/mcp/computer_use`}),` with your Yambr key.`]}),`\n`,_jsx(_components.p,{children:`Minimal shape with the OpenAI Agents SDK:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`24`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`24`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` agents `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Agent, Runner`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` agents.mcp `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` MCPServerStreamableHttp`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` openai `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` OpenAI`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Your own OpenAI key / account — NOT a Yambr key`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`openai_client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` OpenAI(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`api_key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`os.environ[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"OPENAI_API_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`])`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`yambr_mcp `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` MCPServerStreamableHttp(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` params`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://api.yambr.com/mcp/computer_use\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"headers\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Authorization\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`f`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Bearer `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`os.environ[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'YAMBR_API_KEY'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`},`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"yambr-computer-use\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`agent `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Agent(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"computer-user\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` instructions`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Use the Computer Use tools to complete the user's task.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` model`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"gpt-4o\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# ← YOUR model, YOUR provider`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` mcp_servers`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[yambr_mcp],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`result `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Runner.run(agent, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Create a pitch deck about coffee\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(result.final_output)`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Equivalent patterns exist for Anthropic’s MCP tool support and for LangChain’s `,_jsx(_components.code,{children:`MultiServerMCPClient`}),`. The rule: `,_jsx(_components.strong,{children:`model traffic = your provider`}),`; `,_jsx(_components.strong,{children:`tool traffic = api.yambr.com`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`c-self-hosted-litellm-/-n8n-/-cursor-/-open-webui`,children:`C. Self-hosted LiteLLM / n8n / Cursor / Open WebUI`}),`\n`,_jsxs(_components.p,{children:[`Register `,_jsx(_components.code,{children:`https://api.yambr.com/mcp/computer_use`}),` as an MCP server in your own tool layer:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`LiteLLM (self-hosted)`}),` — add under `,_jsx(_components.code,{children:`mcp_servers`}),` in `,_jsx(_components.code,{children:`config.yaml`}),`; see `,_jsx(_components.a,{href:`/integrations/litellm`,children:`LiteLLM integration`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`n8n`}),` — MCP Tool node; see `,_jsx(_components.a,{href:`/integrations/n8n`,children:`n8n`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Cursor`}),` — MCP server entry in `,_jsx(_components.code,{children:`settings.json`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Open WebUI (self-hosted)`}),` — add it alongside your local Computer Use Server as a second MCP tool.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`All of these hand the model to your configured LLM provider; Yambr stays a tool provider.`}),`\n`,_jsx(Heading,{level:`2`,id:`session-identity`,children:`Session identity`}),`\n`,_jsx(_components.p,{children:`Every request should set a chat id so each chat gets its own sandbox:`}),`\n`,_jsx(CodeBlock,{numberOfLines:`3`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`x-chat-id: \u003cstable-per-conversation>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`x-user-email: user@example.com # optional, for per-user skills`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`Same `,_jsx(_components.code,{children:`x-chat-id`}),` across turns = same sandbox (files persist). New id = fresh container.`]}),`\n`,_jsx(Heading,{level:`2`,id:`streaming-and-long-tool-calls`,children:`Streaming and long tool calls`}),`\n`,_jsxs(_components.p,{children:[`Long-running `,_jsx(_components.code,{children:`bash_tool`}),` / `,_jsx(_components.code,{children:`sub_agent`}),` calls stream SSE back over the same MCP connection with 15-second heartbeats. If a client closes the socket early the sandbox keeps running — the `,_jsx(_components.code,{children:`sub_agent`}),` tmux session is reconnectable from `,_jsx(_components.a,{href:`https://chat.yambr.com/`,children:`chat.yambr.com`}),`’s Terminal tab.`]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Symptom`}),_jsx(_components.th,{children:`Likely cause`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`401 Unauthorized`})}),_jsxs(_components.td,{children:[`Key wrong, revoked, missing `,_jsx(_components.code,{children:`Bearer `}),` prefix. Rotate at `,_jsx(_components.a,{href:`https://app.yambr.com/`,children:`app.yambr.com`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`404 Not Found`}),` on `,_jsx(_components.code,{children:`/v1/chat/completions`})]}),_jsxs(_components.td,{children:[`Expected — `,_jsx(_components.code,{children:`api.yambr.com`}),` does `,_jsx(_components.strong,{children:`not`}),` expose chat completions. Point your LLM calls at your own provider.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`429 Too Many Requests`})}),_jsxs(_components.td,{children:[`Per-key `,_jsx(_components.code,{children:`max_parallel_requests=5`}),`, or you’ve hit `,_jsx(_components.code,{children:`max_budget`}),` for the 30-day window. Check the dashboard.`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`x-chat-id`}),` ignored, tools fire against a shared sandbox`]}),_jsxs(_components.td,{children:[`Header missing or your framework drops custom headers. Most MCP adapters have a `,_jsx(_components.code,{children:`headers`}),` or `,_jsx(_components.code,{children:`extra_headers`}),` option — set it there.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Previews show as raw text in Open WebUI`}),_jsxs(_components.td,{children:[`Using stock `,_jsx(_components.code,{children:`ghcr.io/open-webui/open-webui`}),` — patches aren’t applied. Self-host? See `,_jsx(_components.a,{href:`/integrations/open-webui`,children:`Open WebUI integration`}),`.`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`related`,children:`Related`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/platform/api-keys`,children:`API keys`}),` — create and manage keys at app.yambr.com`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/platform/access-model`,children:`Access model`}),` — why we expose only MCP`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/platform/cu-endpoint`,children:`cu.yambr.com`}),` — public file/preview host`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/introduction`,children:`MCP API reference`}),` — raw tool calls`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"LiteLLM gateway","description":"api.yambr.com is a public MCP endpoint (Computer Use tools only). Bring your own model — we don't resell inference.","href":"/platform/litellm"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"The public endpoint","slug":"the-public-endpoint","depth":2,"children":[]},{"title":"Three ways to wire it in","slug":"three-ways-to-wire-it-in","depth":2,"children":[{"title":"A. MCP-native client (Claude Desktop, MCP Inspector, Agents SDK)","slug":"a-mcp-native-client-claude-desktop-mcp-inspector-agents-sdk","depth":3,"children":[]},{"title":"B. OpenAI / Anthropic SDK — tool-use with your own model","slug":"b-openai-/-anthropic-sdk-—-tool-use-with-your-own-model","depth":3,"children":[]},{"title":"C. Self-hosted LiteLLM / n8n / Cursor / Open WebUI","slug":"c-self-hosted-litellm-/-n8n-/-cursor-/-open-webui","depth":3,"children":[]}]},{"title":"Session identity","slug":"session-identity","depth":2,"children":[]},{"title":"Streaming and long tool calls","slug":"streaming-and-long-tool-calls","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]},{"title":"Related","slug":"related","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"yambr","siteName":"Yambr","title":"LiteLLM gateway - Yambr","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-04-19T16:29:39.800Z","originalFileLocation":"platform/litellm.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"api.yambr.com is a public MCP endpoint (Computer Use tools only). Bring your own model — we don\u0026#x27;t resell inference.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Yambr\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/yambr/c0eEsQsYs_9x07u-/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/yambr/c0eEsQsYs_9x07u-/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/yambr/c0eEsQsYs_9x07u-/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/yambr/c0eEsQsYs_9x07u-/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/yambr/c0eEsQsYs_9x07u-/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/yambr/c0eEsQsYs_9x07u-/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/yambr/c0eEsQsYs_9x07u-/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/yambr/c0eEsQsYs_9x07u-/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/yambr/c0eEsQsYs_9x07u-/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"LiteLLM gateway - Yambr\">\u003cmeta data-mint-head property=\"og:description\" content=\"api.yambr.com is a public MCP endpoint (Computer Use tools only). Bring your own model — we don\u0026#x27;t resell inference.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Yambr Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.yambr.com/platform/litellm\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://yambr.com/og-image.svg\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"LiteLLM gateway - Yambr\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"api.yambr.com is a public MCP endpoint (Computer Use tools only). Bring your own model — we don\u0026#x27;t resell inference.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://yambr.com/og-image.svg\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/yambr/c0eEsQsYs_9x07u-/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Yambr\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#65A30D\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.yambr.com/platform/litellm\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/platform/litellm.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.yambr.com/#organization\",\"name\":\"Yambr\",\"url\":\"https://docs.yambr.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/yambr/b_GH1xc1e1O0xxjD/logo/yambr.png?fit=max\u0026auto=format\u0026n=b_GH1xc1e1O0xxjD\u0026q=85\u0026s=86eaec0a14414049dfb9a1068cd73bcd\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.yambr.com#website\",\"name\":\"Yambr\",\"url\":\"https://docs.yambr.com\",\"publisher\":{\"@id\":\"https://docs.yambr.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.yambr.com/platform/litellm#webpage\",\"url\":\"https://docs.yambr.com/platform/litellm\",\"name\":\"LiteLLM gateway\",\"description\":\"api.yambr.com is a public MCP endpoint (Computer Use tools only). Bring your own model — we don't resell inference.\",\"dateModified\":\"2026-04-19T16:29:39.800Z\",\"isPartOf\":{\"@id\":\"https://docs.yambr.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.yambr.com/platform/litellm#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.yambr.com/platform/litellm#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Yambr Platform\",\"item\":\"https://docs.yambr.com/platform/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"LiteLLM gateway\",\"item\":\"https://docs.yambr.com/platform/litellm\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.yambr.com/platform/litellm#article\",\"headline\":\"LiteLLM gateway\",\"name\":\"LiteLLM gateway\",\"description\":\"api.yambr.com is a public MCP endpoint (Computer Use tools only). Bring your own model — we don't resell inference.\",\"url\":\"https://docs.yambr.com/platform/litellm\",\"mainEntityOfPage\":{\"@id\":\"https://docs.yambr.com/platform/litellm#webpage\"},\"image\":\"https://yambr.com/og-image.svg\",\"dateModified\":\"2026-04-19T16:29:39.800Z\",\"publisher\":{\"@id\":\"https://docs.yambr.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.yambr.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Yambr\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Yambr","nav":{"global":{"anchors":[{"anchor":"Try on chat.yambr.com","icon":"comments","href":"https://chat.yambr.com/"},{"anchor":"Get API key","icon":"key","href":"https://app.yambr.com/"},{"anchor":"GitHub","icon":"github","href":"https://github.com/Yambr/open-computer-use"},{"anchor":"Telegram","icon":"telegram","href":"https://t.me/yambrcom"}]},"tabs":[{"tab":"Guides","groups":[{"group":"Getting started","pages":[{"title":"Yambr Open Computer Use","href":""},{"title":"Quickstart","href":"/quickstart"},{"title":"Introduction","href":"/introduction"},{"title":"Architecture","href":"/architecture"}]},{"group":"Demo course","pages":[{"title":"Demo course","href":"/demo-course/overview"},{"title":"1. Investor pitch deck","href":"/demo-course/01-presentation"},{"title":"2. Project proposal (Word)","href":"/demo-course/02-document"},{"title":"3. Marketing budget tracker (Excel)","href":"/demo-course/03-spreadsheet"},{"title":"4. Freelance invoice (PDF)","href":"/demo-course/04-pdf"},{"title":"5. Data → chart","href":"/demo-course/05-data-chart"},{"title":"6. Roasthaus landing page","href":"/demo-course/06-frontend"},{"title":"7. Hacker News AI digest","href":"/demo-course/07-browser"},{"title":"8. Building the invoice-builder skill","href":"/demo-course/08-skill-creator"},{"title":"9. What's next","href":"/demo-course/09-whats-next"}]},{"group":"Yambr Platform","pages":[{"title":"Yambr Platform","href":"/platform/overview"},{"title":"Access model — MCP only","href":"/platform/access-model"},{"title":"Dashboard tour","href":"/platform/dashboard"},{"title":"API keys","description":"Sign in to app.yambr.com with GitHub or Google, get approved, and manage up to five keys with live spend tracking.","href":"/platform/api-keys"},{"title":"LiteLLM gateway","href":"/platform/litellm"},{"title":"chat.yambr.com","description":"Hosted Open WebUI with Computer Use pre-installed — the fastest way to try the system end-to-end.","href":"/platform/hosted-chat"},{"title":"cu.yambr.com","href":"/platform/cu-endpoint"}]},{"group":"Self-hosting","pages":[{"title":"Requirements","href":"/install/requirements"},{"title":"Self-host quickstart","href":"/install/quickstart"},{"title":"Configuration","href":"/install/configuration"},{"title":"Docker details","href":"/install/docker"},{"title":"Model settings","href":"/install/model-settings"}]},{"group":"Features","pages":[{"title":"Live browser","href":"/features/browser"},{"title":"Terminal tab","href":"/features/terminal"},{"title":"Code execution","href":"/features/code-execution"},{"title":"Sub-agents (Claude Code)","href":"/features/sub-agents"},{"title":"File preview","href":"/features/file-preview"}]},{"group":"Skills","pages":[{"title":"Skills overview","href":"/skills/overview"},{"title":"Skills user guide","href":"/skills/user-guide"},{"title":"Skills reference","href":"/skills/reference"},{"title":"Dynamic skills","href":"/skills/dynamic"},{"title":"Creating skills","href":"/skills/creating"}]},{"group":"Integrations","pages":[{"title":"Open WebUI","href":"/integrations/open-webui"},{"title":"Open WebUI filter","href":"/integrations/open-webui-filter"},{"title":"Claude Desktop","href":"/integrations/claude-desktop"},{"title":"LiteLLM","href":"/integrations/litellm"},{"title":"n8n","href":"/integrations/n8n"},{"title":"Custom MCP clients","href":"/integrations/custom"}]},{"group":"Reference","pages":[{"title":"Comparison","href":"/reference/comparison"},{"title":"System prompt — six MCP-native tiers","href":"/reference/system-prompt"},{"title":"Known bugs","href":"/reference/known-bugs"},{"title":"Changelog","href":"/reference/changelog"},{"title":"Contributing","href":"/reference/contributing"}]}]},{"tab":"API reference","pages":[{"title":"API reference","href":"/api-reference/introduction"}]}]},"title":"LiteLLM gateway - Yambr","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":[],"chunks":[]}