关于 chatmcp
ChatMCP 是一款跨平台 AI 聊天客户端,支持 macOS、Windows、Linux、iOS、Android 和 Web。它实现了 Model Context Protocol,可在聊天中使用 MCP 服务,并支持 OpenAI、Claude、OLLama 和 DeepSeek 等模型。
主要功能
- 01支持 macOS、Windows、Linux、iOS、Android 和 Web
- 02支持 stdio 与 SSE 两种 MCP 传输方式
- 03可在设置页配置 LLM 的 API 密钥与端点
- 04内置 MCP 服务市场,可直接安装服务
- 05保存聊天记录,支持深色与浅色主题
适用场景
- 01在桌面端聊天中调用本地 MCP 服务访问数据
- 02通过 OLLama 等模型在聊天中使用 MCP 工具
- 03从 MCP 服务市场安装并试用不同的 MCP 服务
MCP 相关
该项目是 MCP 客户端,可通过 stdio 或 SSE 连接 MCP 服务,并在聊天过程中调用其工具。
详细介绍
安装
| macOS | Windows | Linux | iOS | Android | Web |
|---|---|---|---|---|---|
| 发布版 | 发布版 | 发布版 ¹ | TestFlight | 发布版 | GitHub Pages ² |
¹ Linux 说明:
- 请参阅下方的 Linux 要求,了解 Ubuntu 22.04 和 24.04 上 AppImage/DEB 的运行时依赖项
- 体验优化:计划在后续版本中改进深色主题支持,统一遵循 XDG Base Directory Specification 的数据存储方式,并针对 Linux 桌面环境优化 UI 布局
- 已在主流发行版上测试:Ubuntu、Fedora、Arch Linux、openSUSE
² 注意:Web 版本完全在浏览器中运行,使用本地存储保存聊天记录和设置。
文档
此外,你还可以通过 DeepWiki 获取有关 chatmcp 的更多信息。
DeepWiki 是一个 AI 驱动的平台,可将任何公开的 GitHub 仓库转化为完全交互、易于理解的维基。它通过分析代码、文档和配置文件,生成清晰的说明和交互式图表,甚至支持与 AI 实时问答。
预览

数据同步
ChatMCP 应用可以在同一局域网内同步数据

使用方法
请确保系统中已安装 uvx 或 npx
MacOS
# uvx
brew install uv
# npx
brew install node
Linux
# uvx
curl -LsSf https://astral.sh/uv/install.sh | sh
# npx (using apt)
sudo apt update
sudo apt install nodejs npm
Linux 要求(Ubuntu 22.04 和 24.04)
在 Ubuntu 及其衍生版本上运行 ChatMCP AppImage/DEB 时,请安装以下运行时软件包:
- AppImage(FUSE):
libfuse2 - GTK 3:
libgtk-3-0 - 图形/EGL:
- Ubuntu 22.04:
libegl1-mesa、libgles2、libgl1-mesa-dri、libglx-mesa0 - Ubuntu 24.04:
libegl1、libgles2、libgl1-mesa-dri、libglx-mesa0
- Ubuntu 22.04:
- X11 实用工具和 SQLite:
libx11-6、xdg-utils、libsqlite3-0
安装命令:
- Ubuntu 22.04:
sudo apt install -y libfuse2 libgtk-3-0 libegl1-mesa libgles2 libgl1-mesa-dri libglx-mesa0 libx11-6 xdg-utils libsqlite3-0 libsqlite3-dev
- Ubuntu 24.04:
sudo apt install -y libfuse2 libgtk-3-0 libegl1 libgles2 libgl1-mesa-dri libglx-mesa0 libx11-6 xdg-utils libsqlite3-0 libsqlite3-dev
可选(推荐):mesa-vulkan-drivers、mesa-utils(用于 glxinfo 等诊断)
- 在
Setting页面配置大模型 API 密钥和端点 - 在
MCP Server页面安装 MCP 服务 - 与 MCP 服务聊天
-
stdio MCP 服务

-
sse MCP 服务

数据存储
ChatMCP 遵循各平台特定的数据存储最佳实践:
存储位置
macOS:
~/Library/Application Support/ChatMcp/
Windows:
%APPDATA%\ChatMcp\
Linux:
~/.local/share/ChatMcp/ # Honors $XDG_DATA_HOME if set
~/.local/share/run.daodao.chatmcp # Flutter dependency
移动设备:
- 应用程序文档目录
文件结构
所有平台均使用统一的目录结构存储数据:
logs文件夹 - 应用程序日志chatmcp.db- 包含聊天历史记录和消息的主数据库文件shared_preferences.json- 应用程序设置和偏好mcp_server.json- MCP 服务配置
重置应用程序数据
若要完全重置应用程序(删除所有聊天历史记录、设置和配置):
macOS:
rm -rf ~/Library/Application\ Support/ChatMcp
Windows:
rd /s /q "%APPDATA%\ChatMcp"
Linux:
rm -rf ~/.local/share/ChatMcp
rm -rf ~/.local/share/run.daodao.chatmcp
开发
安装 Flutter
要开发或运行 ChatMCP,需安装 Flutter。
请按照适用于你平台的官方 Flutter 安装指南进行操作。
安装后,使用以下命令验证:
flutter --version
强制代码格式化和提交前钩子
为确保所有贡献者的代码风格一致,本仓库会在每次提交时强制执行 Dart 格式化。
- 仓库提供了版本化的 Git 钩子
.githooks/pre-commit。 - 提交时,该钩子会运行
dart format .,重新暂存已更改的文件,然后执行不输出结果的检查,确保所有文件均已格式化。 - 格式不正确的提交将在本地被拒绝;此外,CI 也会使未格式化的 PR 检查失败。
快速设置(每个克隆仓库只需设置一次):
make setup-git-hooks
手动设置(替代方式):
git config core.hooksPath .githooks
chmod +x .githooks/pre-commit
要求(PATH 中至少有以下一项):
- Dart SDK,或
- Flutter(内含 Dart)
示例:
- macOS/Linux(Flutter):
export PATH="$PATH:$HOME/flutter/bin" which flutter && flutter --version which dart && dart --version - macOS/Linux(Dart SDK):
export PATH="$PATH:$HOME/dart-sdk/bin" which dart && dart --version - Windows(PowerShell):将
C:\\src\\flutter\\bin(或你的 Flutter 路径)添加到用户/系统 PATH。通过以下命令验证:where flutter where dart
IDE 提示:更改 PATH 后,请重启 IDE,以便版本控制操作(提交)继承更新后的环境。
CI 强制检查:
- GitHub Actions 工作流
check-format会在推送/PR 时运行dart format --output=none --set-exit-if-changed .;如果有任何文件未格式化,检查将失败。
策略:
- 请勿绕过钩子(例如使用
--no-verify)。此类更改会在 CI 中检查失败,而且无论如何都必须重新格式化。
克隆并在本地运行
# Clone the repository
git clone https://github.com/daodao97/chatmcp.git
cd chatmcp
# Install dependencies
flutter pub get
# Run on macOS
flutter run -d macos
# Run on Linux (requires Flutter desktop support enabled)
flutter run -d linux
# Build release for Linux
flutter build linux
Web 版本
本地开发
# Install dependencies
flutter pub get
# Run Web version locally
flutter run -d chrome
# Or specify port
flutter run -d chrome --web-port 8080
# Or run as web-serer for other browsers.
flutter run -d web-server
构建 Web 版本
# Build production version
flutter build web
# Build with base path (for deploying to subdirectory)
flutter build web --base-href /chatmcp/
部署到 GitHub Pages
# 1. Build Web version
flutter build web --base-href /chatmcp/
# 2. Push build/web directory contents to gh-pages branch
# Or use GitHub Actions for automatic deployment
构建完成后,文件将位于 build/web 目录中,可部署到任何静态网站托管服务。
功能
- 与 MCP 服务聊天
- MCP 服务市场
- 自动安装 MCP 服务
- 支持 SSE MCP 传输
- 自动选择 MCP 服务
- 聊天历史记录
- OpenAI 大模型
- Claude 大模型
- OLLama 大模型
- DeepSeek 大模型
- RAG
- 更好的 UI 设计
- 深色/浅色主题
欢迎提交所有功能建议,你可以在 Issues 中提交想法或 Bug。
MCP 服务市场
你可以从 MCP 服务市场安装 MCP 服务。MCP 服务市场是 MCP 服务的集合,你可以用它与不同的数据进行交互。
- 你也可以向市场添加新的 MCP 服务:MCP 服务市场
从 mcp_server_market 创建一个分支,并在文件末尾将你的 MCP 服务添加到 mcp_server_market.json。
{
"mcpServers": {
"existing-mcp-servers": {},
"your-mcp-server": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/username/your-mcp-server",
"your-mcp-server"
]
}
}
}
你可以向 mcp_server_market 仓库提交 Pull Request,将你的 MCP 服务添加到市场。PR 合并后,你的 MCP 服务就会在市场中提供,其他用户可以立即使用。
你的反馈有助于我们改进 chatmcp,也能帮助其他用户做出明智的选择。
致谢
许可证
本项目采用 Apache License 2.0 许可。
Star 历史
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。