LLM Providers
4 min
llm providers the web ui works with three llm providers the mcp server itself is provider neutral; the choice only matters when you use the bundled chat interface supported providers provider api key env var default model anthropic claude anthropic api key claude sonnet 4 6 openai openai api key gpt 4 1 google gemini gemini api key latest gemini chat model provide one or more keys at container startup, or enter them from the web ui's setup screen docker run d name litmus mcp server \\ p 8000 8000 p 9000 9000 \\ e anthropic api key=\<key> \\ e openai api key=\<key> \\ e gemini api key=\<key> \\ ghcr io/litmusautomation/litmus mcp server\ latest switching provider and model /update env has a two panel selector left provider pills, one per configured key right scrollable list of models, fetched live from the provider's api ( client models list for anthropic, oai models list filtered to chat capable models for openai) selecting a model writes both preferred model the provider identifier ( anthropic , openai , gemini ) preferred model id the specific model id (e g , claude sonnet 4 6 ) client utils get model id(provider) reads preferred model id from env, falling back to the provider's default how the chat uses the provider the web ui's /chat endpoint streams from the selected provider, parsing tool use events back into mcp session call tool( ) calls the user sees streamed prose, rendered as markdown a tool call badge each time the model asks the mcp server to do something a stop button to cancel mid stream api endpoints (provider related) endpoint method purpose /api/models?provider=x get fetch the live model list for a provider /setup key post save one or more api keys (ajax) returns {"saved" \[ ]} /setup post same as /setup key , but used as the \<noscript> fallback /switch model post accepts provider and optional model id updates env