The MCP CLI is a Python-based command-line interface for interacting with Model Context Protocol servers, developed by IBM and maintained primarily by chrishayuk with contributions from ccmitchellusa and rajp152k. The repository bridges communication between users and large language models through integration with the CHUK Tool Processor and CHUK-LLM, enabling tool usage, conversation management, and multiple operational modes. By default, it uses Ollama with the gpt-oss reasoning model for local, privacy-focused operation without requiring API keys.
The tool supports multiple operational modes including chat mode for conversational interfaces with streaming responses, interactive mode for command-driven shell operations, command mode for scriptable automation, and direct commands for individual operations. The chat interface provides streaming responses with reasoning visibility, concurrent tool execution, smart interruption capabilities via Ctrl+C, performance metrics, rich markdown formatting with syntax highlighting, and token usage tracking through the /usage command. Users can attach images, text files, and audio to messages using the /attach command, --attach CLI flag, @file: inline references, or browser-based upload.
Recent updates in version 0.16 introduced several major features. AI Virtual Memory, marked as experimental, uses the --vm flag to enable OS-style virtual memory for conversation context management with configurable token budgets and multiple VM modes (passive, relaxed, strict). The /memory command visualizes VM state including page tables, working set utilization, and eviction metrics. Execution Plans represent a Tier 6 feature enabling creation and execution of reproducible tool call graphs with the /plan command, supporting model-driven planning where the LLM autonomously creates plans, parallel batch execution via topological sorting, variable resolution with template strings, dry-run mode, checkpointing and resume capabilities, and optional LLM-based re-planning on failures. MCP Apps allow MCP servers to serve interactive HTML applications with sandboxed iframes, WebSocket bridges for real-time communication, and automatic browser launching for tools with UI annotations.
Production hardening features include automatic secret redaction for Bearer tokens and API keys in all log output, structured JSON file logging with rotation, per-server timeout overrides, thread-safe OAuth flows, and server health monitoring with the /health command. Performance improvements include O(1) tool lookups replacing linear scans, cached LLM tool metadata with automatic invalidation, startup progress messages, and session persistence with auto-save every 10 turns. A real-time browser dashboard accessible via the --dashboard flag provides an agent terminal with live conversation views, activity streams showing tool calls and reasoning steps, plan visualization, tool registry browsing, configuration panels, and file attachment support.
The repository supports comprehensive provider coverage including Ollama, OpenAI with GPT-5 and O3 series, Anthropic Claude models, Azure OpenAI, Google Gemini, Groq, Perplexity, IBM watsonx, and Mistral AI. The codebase emphasizes code quality with core and UI separation where core modules use only logging without UI imports, a comprehensive test suite exceeding 4,300 tests with 60% minimum branch coverage, and 15 documented architecture principles. GitGenius data shows median issue and PR response latency of 7.4 hours across 81 tracked items, with chrishayuk as the dominant contributor at 151 events. The repository connects to related projects including kuadrant/mcp-gateway, anthropics/claude-code, and anomalyco/opencode through overlapping contributors, indicating integration within a broader ecosystem of Model Context Protocol tooling.