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

Method create

src/mcp_cli/chat/chat_context.py:165–239  ·  view source on GitHub ↗

Factory method for convenient creation. Args: tool_manager: Tool management interface provider: Provider to switch to (optional) model: Model to switch to (optional) api_base: API base URL override (optional) api_key: API

(
        cls,
        tool_manager: ToolManager,
        provider: str | None = None,
        model: str | None = None,
        api_base: str | None = None,
        api_key: str | None = None,
        model_manager: ModelManager | None = None,
        session_id: str | None = None,
        max_history_messages: int = 0,
        infinite_context: bool = False,
        token_threshold: int = 4000,
        max_turns_per_segment: int = 20,
        enable_vm: bool = False,
        vm_mode: str = "passive",
        vm_budget: int = 128_000,
        health_interval: int = 0,
        enable_plan_tools: bool = False,
        agent_id: str = "default",
    )

Source from the content-addressed store, hash-verified

163
164 @classmethod
165 def create(
166 cls,
167 tool_manager: ToolManager,
168 provider: str | None = None,
169 model: str | None = None,
170 api_base: str | None = None,
171 api_key: str | None = None,
172 model_manager: ModelManager | None = None,
173 session_id: str | None = None,
174 max_history_messages: int = 0,
175 infinite_context: bool = False,
176 token_threshold: int = 4000,
177 max_turns_per_segment: int = 20,
178 enable_vm: bool = False,
179 vm_mode: str = "passive",
180 vm_budget: int = 128_000,
181 health_interval: int = 0,
182 enable_plan_tools: bool = False,
183 agent_id: str = "default",
184 ) -> "ChatContext":
185 """
186 Factory method for convenient creation.
187
188 Args:
189 tool_manager: Tool management interface
190 provider: Provider to switch to (optional)
191 model: Model to switch to (optional)
192 api_base: API base URL override (optional)
193 api_key: API key override (optional)
194 model_manager: Pre-configured ModelManager (optional, creates new if None)
195 session_id: Session ID for conversation tracking (optional)
196 max_history_messages: Sliding window size (0 = unlimited)
197 infinite_context: Enable infinite context mode in SessionManager
198 token_threshold: Token threshold for infinite context segmentation
199 max_turns_per_segment: Max turns per segment before context packing
200 enable_vm: Enable AI Virtual Memory subsystem (experimental)
201 vm_mode: VM mode - strict, relaxed, or passive
202 vm_budget: Max tokens for VM L0 working set (context window budget)
203 health_interval: Background health check interval in seconds (0 = disabled)
204 enable_plan_tools: Enable plan_create/plan_execute as LLM-callable tools
205
206 Returns:
207 Configured ChatContext instance
208 """
209 if model_manager is None:
210 model_manager = ModelManager()
211
212 if provider and (api_base or api_key):
213 model_manager.add_runtime_provider(
214 name=provider, api_key=api_key, api_base=api_base or ""
215 )
216
217 if provider and model:
218 model_manager.switch_model(provider, model)
219 elif provider:
220 model_manager.switch_provider(provider)
221 elif model:
222 current_provider = model_manager.get_active_provider()

Calls 5

add_runtime_providerMethod · 0.95
switch_modelMethod · 0.95
switch_providerMethod · 0.95
get_active_providerMethod · 0.95
ModelManagerClass · 0.90