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

Method initialize

src/mcp_cli/chat/chat_context.py:449–481  ·  view source on GitHub ↗

Initialize tools, session, and procedural memory. Args: on_progress: Optional callback for progress updates during startup

(
        self,
        on_progress: Callable[[str], None] | None = None,
    )

Source from the content-addressed store, hash-verified

447
448 # ── Initialization ────────────────────────────────────────────────────
449 async def initialize(
450 self,
451 on_progress: Callable[[str], None] | None = None,
452 ) -> bool:
453 """Initialize tools, session, and procedural memory.
454
455 Args:
456 on_progress: Optional callback for progress updates during startup
457 """
458 try:
459 await self._initialize_tools(on_progress=on_progress)
460 self._generate_system_prompt()
461 await self._initialize_session()
462
463 # Quick provider validation (non-blocking)
464 try:
465 _client = self.client # noqa: F841 — fails fast if no API key
466 logger.info(f"Provider {self.provider} client created successfully")
467 except Exception as e:
468 logger.warning(f"Provider validation warning: {e}")
469 logger.warning("Chat may fail when making API calls.")
470
471 if not self.tools:
472 logger.warning("No tools available. Chat functionality may be limited.")
473
474 logger.info(
475 f"ChatContext ready: {len(self.tools)} tools, {self.provider}/{self.model}"
476 )
477 return True
478
479 except Exception:
480 logger.exception("Error initializing chat context")
481 return False
482
483 async def _initialize_session(self) -> None:
484 """Initialize the session with system prompt and context management."""

Calls 3

_initialize_toolsMethod · 0.95
_initialize_sessionMethod · 0.95