# chatmcp | 刀刀 | Knowledge Base | Instagit

ChatMCP is an AI chat client implementing the Model Context Protocol (MCP).

GitHub Stars: 2.2k

Repository: https://github.com/daodao97/chatmcp

---

## Articles

### [How ChatMCP Handles Theme Switching Between Light, Dark, and System Modes](/daodao97/chatmcp/how-does-chatmcp-handle-theme-switching)

Discover how ChatMCP effortlessly manages theme switching for light, dark, and system modes. Learn about its Provider architecture and SharedPreferences persistence.

- Tags: how-to-guide
- Published: 2026-02-28

### [Best Practices for Developing and Debugging MCP Servers for Use with ChatMCP](/daodao97/chatmcp/what-are-the-best-practices-for-developing-and-debugging-mcp-servers-for-chatmcp)

Learn the best practices for developing and debugging MCP servers with ChatMCP. Ensure JSON-RPC 2.0 compliance, expose required methods, and use processStateStream for effective integration.

- Tags: best-practices
- Published: 2026-02-28

### [How to Add a New LLM Provider to ChatMCP: A Complete Integration Guide](/daodao97/chatmcp/how-do-i-add-a-new-llm-provider-to-chatmcps-client-architecture)

Learn how to add a new LLM provider to ChatMCP. This guide covers extending BaseLLMClient, registering clients in LLMFactory, and mapping provider IDs. Integrate seamlessly today.

- Tags: how-to-guide
- Published: 2026-02-28

### [ChatMCP Chat Message Rendering Pipeline: How Different Message Types Are Displayed](/daodao97/chatmcp/what-is-the-chat-message-rendering-pipeline-in-chatmcp)

Explore the ChatMCP chat message rendering pipeline. Learn how ChatMCP transforms LLM data into interactive UI bubbles, displaying various message types like user, assistant, and tool messages effectively.

- Tags: internals
- Published: 2026-02-28

### [ChatMCP Localization: How the Flutter App Handles Multi-Language Support](/daodao97/chatmcp/how-does-chatmcp-handle-localization-and-what-languages-are-supported)

Discover how ChatMCP implements multi-language support using Flutter gen-l10n for English, German, Turkish, and Chinese. Learn about ARB files and AppLocalizations.

- Tags: how-to-guide
- Published: 2026-02-28

### [ChatMCP Logging Mechanism: How It Works and Where Logs Are Stored](/daodao97/chatmcp/what-logging-mechanism-does-chatmcp-use)

Explore the ChatMCP logging mechanism using Dart logging and a custom file logger. Discover where daily log files are stored in application data directories.

- Tags: how-to-guide
- Published: 2026-02-28

### [How to Configure Custom Fonts for Different Platforms in ChatMCP](/daodao97/chatmcp/how-do-i-configure-custom-fonts-for-different-platforms-in-chatmcp)

Learn how to configure custom fonts for different platforms in ChatMCP. Discover how getPlatformFontFamily() in lib/main.dart manages font settings for a consistent user experience.

- Tags: how-to-guide
- Published: 2026-02-28

### [In-Memory MCP Server in ChatMCP: Architecture and Built-in Services](/daodao97/chatmcp/what-is-the-in-memory-mcp-server-in-chatmcp)

Discover the in-memory MCP server in ChatMCP. This built-in JSON-RPC 2.0 server offers zero-latency access to essential tools directly within the Dart VM.

- Tags: architecture
- Published: 2026-02-28

### [How ChatMCP Manages Application State with Provider: A Complete Guide to Its Core Providers](/daodao97/chatmcp/how-does-chatmcp-manage-state-using-provider)

Discover how ChatMCP manages app state with Provider. Learn about its core providers for settings, chat sessions, and server configurations in this comprehensive guide.

- Tags: how-to-guide
- Published: 2026-02-28

### [ChatMCP Markdown Rendering Capabilities: LaTeX, Mermaid, and HTML Support](/daodao97/chatmcp/what-markdown-rendering-capabilities-does-chatmcp-support)

Discover ChatMCP's powerful markdown rendering. Effortlessly display LaTeX equations, Mermaid diagrams, and raw HTML with its custom extension layer. Enhance your technical content.

- Tags: deep-dive
- Published: 2026-02-28

### [How to Build and Deploy the ChatMCP Web Version to GitHub Pages](/daodao97/chatmcp/how-do-i-build-and-deploy-the-chatmcp-web-version-to-github-pages)

Learn to build and deploy the ChatMCP web version to GitHub Pages using GitHub Actions or manual Flutter deployment. Effortlessly share your web app.

- Tags: how-to-guide
- Published: 2026-02-28

### [How ChatMCP Handles Window Management on Desktop Platforms Using `window_manager`](/daodao97/chatmcp/how-does-chatmcp-handle-window-management-on-desktop-platforms)

Discover how ChatMCP manages desktop windows using window_manager. Explore frameless windows, toolbar dragging, and custom controls for minimize, maximize, and close functions.

- Tags: how-to-guide
- Published: 2026-02-28

### [ChatMCP Database Structure: How `chatmcp.db` Stores Chat History in SQLite](/daodao97/chatmcp/what-is-the-structure-of-the-chatmcp-database-and-how-is-chat-history-stored)

Explore the ChatMCP database structure chatmcp.db and discover how it stores chat history in SQLite. Learn about table organization and message storage for conversations.

- Tags: internals
- Published: 2026-02-28

### [How ChatMCP Implements Thinking Mode and Artifact Display Features](/daodao97/chatmcp/how-does-chatmcp-implement-the-thinking-mode-and-artifact-display-features)

Discover how ChatMCP implements thinking mode and artifact display by extending Flutter's markdown parser with custom XML tags for expandable panels and interactive file cards.

- Tags: deep-dive
- Published: 2026-02-28

### [Platform-Specific Requirements for Running ChatMCP on Linux: Complete Dependency Guide](/daodao97/chatmcp/what-are-the-platform-specific-requirements-for-running-chatmcp-on-linux)

Learn the platform-specific requirements for running ChatMCP on Linux. Discover essential native library dependencies like FUSE2 GTK3 EGL OpenGL and SQLite3 needed for seamless operation.

- Tags: how-to-guide
- Published: 2026-02-28

### [How the Network Sync Feature Works in ChatMCP for LAN Data Synchronization](/daodao97/chatmcp/how-does-the-network-sync-feature-work-in-chatmcp-for-lan-data-synchronization)

Explore ChatMCP network sync for real-time LAN data synchronization. Learn how HTTP servers and REST endpoints enable peer data exchange on your local network.

- Tags: internals
- Published: 2026-02-28

### [How ChatMCP Handles Authentication with Different LLM Providers: API Keys vs. OAuth 2.0](/daodao97/chatmcp/how-does-chatmcp-handle-authentication-with-different-llm-providers)

Discover how ChatMCP handles LLM authentication using API keys for cloud providers and OAuth 2.0 for self-hosted servers. Securely connect your LLMs with ease.

- Tags: how-to-guide
- Published: 2026-02-28

### [MCP Server Market: How to Discover and Contribute MCP Servers in ChatMCP](/daodao97/chatmcp/what-is-the-mcp-server-market-and-how-can-i-contribute-a-new-mcp-server-to-it)

Discover and contribute to the MCP Server Market, a community registry for ChatMCP. Learn how to submit your MCP server by creating a pull request to the mcp_server_market repository.

- Tags: how-to-guide
- Published: 2026-02-28

### [How ChatMCP Implements SSE for MCP Communication: A Deep Dive into the Dart Client Architecture](/daodao97/chatmcp/how-does-chatmcp-implement-sse-for-mcp-communication)

Discover how ChatMCP implements SSE for MCP communication using a dedicated SSEClient. Learn about stream establishment endpoint discovery and bidirectional JSON-RPC messaging.

- Tags: architecture
- Published: 2026-02-28

### [ChatMCP LLM Client Factory Architecture: How It Supports Multiple Providers](/daodao97/chatmcp/what-is-the-architecture-of-chatmcps-llm-client-factory-and-how-does-it-support-multiple-providers)

Explore the ChatMCP LLM client factory architecture. Discover how it uses a factory pattern and a uniform API to support multiple LLM providers, enabling runtime selection with ease.

- Tags: architecture
- Published: 2026-02-28

### [How to Configure MCP Server Settings in ChatMCP Using `mcp_server.json`](/daodao97/chatmcp/how-do-i-configure-mcp-server-settings-in-chatmcp-using-mcp_server.json)

Learn to configure MCP server settings in ChatMCP using mcp_server.json. Manage server definitions via file editing, UI, or programmatically with McpServerProvider for seamless integration.

- Tags: how-to-guide
- Published: 2026-02-28

### [How ChatMCP Handles Cross-Platform Data Storage on macOS, Windows, Linux, iOS, and Android](/daodao97/chatmcp/how-does-chatmcp-handle-data-storage-across-different-platforms)

Discover how ChatMCP ensures seamless cross-platform data storage on macOS Windows Linux iOS and Android using platform-specific directories and SQLite implementations for consistent database access.

- Tags: how-to-guide
- Published: 2026-02-28

### [Supported LLM Providers in ChatMCP and How to Configure API Keys](/daodao97/chatmcp/what-llm-providers-are-supported-in-chatmcp-and-how-do-i-configure-api-keys-for-each)

Discover supported LLM providers in ChatMCP like OpenAI, Claude, and Gemini. Learn how to easily configure API keys securely using SharedPreferences for seamless integration.

- Tags: supported-llms-and-configuration
- Published: 2026-02-28

### [How ChatMCP Integrates with MCP Servers: Transport Protocols Explained](/daodao97/chatmcp/how-does-chatmcp-integrate-with-mcp-servers-and-what-transport-protocols-are-supported)

Discover how ChatMCP integrates with MCP servers using StdIO, SSE, Streamable HTTP, and InMemory transport protocols for local and remote communication. Learn more now.

- Tags: deep-dive
- Published: 2026-02-28

