MCPcopy Create free account
hub / github.com/IBM/mcp-cli / add_custom_provider

Method add_custom_provider

src/mcp_cli/utils/preferences.py:603–635  ·  view source on GitHub ↗

Add a custom OpenAI-compatible provider. API keys should be set via environment variables. Default env var pattern: {PROVIDER_NAME}_API_KEY Args: name: Provider name (must be unique) api_base: API base URL (e.g., https://api.example.com)

(
        self,
        name: str,
        api_base: str,
        default_model: str = "gpt-4",
        models: list[str] | None = None,
        env_var_name: str | None = None,
    )

Source from the content-addressed store, hash-verified

601 return name in self.preferences.servers.runtime_servers
602
603 def add_custom_provider(
604 self,
605 name: str,
606 api_base: str,
607 default_model: str = "gpt-4",
608 models: list[str] | None = None,
609 env_var_name: str | None = None,
610 ) -> None:
611 """Add a custom OpenAI-compatible provider.
612
613 API keys should be set via environment variables.
614 Default env var pattern: {PROVIDER_NAME}_API_KEY
615
616 Args:
617 name: Provider name (must be unique)
618 api_base: API base URL (e.g., https://api.example.com)
619 default_model: Default model to use
620 models: List of available models
621 env_var_name: Optional custom environment variable name for API key
622 """
623 if not models:
624 models = ["gpt-4", "gpt-3.5-turbo"]
625
626 provider = CustomProvider(
627 name=name,
628 api_base=api_base,
629 default_model=default_model,
630 models=models,
631 env_var_name=env_var_name,
632 )
633
634 self.preferences.provider.custom_providers[name] = provider.to_dict()
635 self.save_preferences()
636
637 def remove_custom_provider(self, name: str) -> bool:
638 """Remove a custom provider.

Calls 3

to_dictMethod · 0.95
save_preferencesMethod · 0.95
CustomProviderClass · 0.85