{ "gateway": { "mode": "local", "controlUi": { "allowedOrigins": [{{ OPENCLAW_URL | to_json }}] } }{% if OPENCLAW_LITELLM_ENABLED | bool %}, "agents": { "defaults": { "model": {"primary": {{ (OPENCLAW_LITELLM_PROVIDER ~ '/' ~ OPENCLAW_LITELLM_MODEL) | to_json }}} } }, "models": { "providers": { {{ OPENCLAW_LITELLM_PROVIDER | to_json }}: { "baseUrl": {{ OPENCLAW_LITELLM_BASE_URL | to_json }}, "apiKey": {{ OPENCLAW_LITELLM_API_KEY | to_json }}, "api": "openai-completions", "models": [{"id": {{ OPENCLAW_LITELLM_MODEL | to_json }}, "name": {{ OPENCLAW_LITELLM_MODEL | to_json }}}] } } } {% endif %}{% set renderable = OPENCLAW_MCP_SERVERS | mcp_renderable_servers %}{% if renderable | length > 0 %}, "mcp": { "servers": { {% for server in renderable %}{% set callable_tools = server.tools | reject('in', server.mutating | default([])) | list %} {{ server.id | to_json }}: { "url": {{ server.url | to_json }}, "transport": {{ server.transport | to_json }}, "headers": {"Authorization": {{ server | mcp_authorization | to_json }}}, "toolFilter": {"include": {{ callable_tools | to_json }}} }{{ "," if not loop.last }} {% endfor %} } } {% endif %} }