Skip to main content
OpenAI-style tools / tool_choice works against every chat-capable provider. The gateway translates to the upstream’s native tool-call shape.

Minimal example

Cross-provider behavior

Same client code works across every chat-capable provider �?ClearMaas adapts your OpenAI-style tools to each upstream’s native shape:
  • OpenAI / Grok / DeepSeek: native target �?tools keeps the OpenAI shape on the wire
  • Anthropic: OpenAI tools is mapped to Anthropic tools with input_schema, preserving JSON Schema properties and required
  • Gemini: OpenAI tools is mapped to Gemini tools[].functionDeclarations, with name / description / parameters carried through

Gemini reserved function names

On Gemini targets the gateway recognizes three reserved function.name values and turns them into Gemini’s native built-in tools instead of custom function declarations: Functions with one of these names don’t need parameters �?pass {type: "function", function: {name: "googleSearch"}} and Gemini takes it from there. Pick a different name for your own custom tools so you don’t collide with these built-ins.