mcpField
C
chatmcp

chatmcp

精选
github.com/daodao97框架与 SDK2.2k7 周前更新

关于 chatmcp

ChatMCP 是一款跨平台 AI 聊天客户端,支持 macOS、Windows、Linux、iOS、Android 和 Web。它实现了 Model Context Protocol,可在聊天中使用 MCP 服务,并支持 OpenAI、Claude、OLLama 和 DeepSeek 等模型。

主要功能

  1. 01支持 macOS、Windows、Linux、iOS、Android 和 Web
  2. 02支持 stdio 与 SSE 两种 MCP 传输方式
  3. 03可在设置页配置 LLM 的 API 密钥与端点
  4. 04内置 MCP 服务市场,可直接安装服务
  5. 05保存聊天记录,支持深色与浅色主题

适用场景

  1. 01在桌面端聊天中调用本地 MCP 服务访问数据
  2. 02通过 OLLama 等模型在聊天中使用 MCP 工具
  3. 03从 MCP 服务市场安装并试用不同的 MCP 服务

MCP 相关

该项目是 MCP 客户端,可通过 stdio 或 SSE 连接 MCP 服务,并在聊天过程中调用其工具。

详细介绍

徽标

chatmcp

跨平台 Macos | Windows | Linux | iOS | Android | Web AI 聊天客户端

English | 简体中文 | Türkçe

安装

macOSWindowsLinuxiOSAndroidWeb
发布版发布版发布版 ¹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 提问 DeepWiki 是一个 AI 驱动的平台,可将任何公开的 GitHub 仓库转化为完全交互、易于理解的维基。它通过分析代码、文档和配置文件,生成清晰的说明和交互式图表,甚至支持与 AI 实时问答。

预览

内容展示 思考模式 生成图像 LaTeX 支持 HTML 预览 Mermaid 图表 MCP 工作流 MCP 内存 MCP 工具 大模型提供商 MCP 标准输入输出 MCP SSE

数据同步

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
  • 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 等诊断)

  1. 在 Setting 页面配置大模型 API 密钥和端点
  2. 在 MCP Server 页面安装 MCP 服务
  3. 与 MCP 服务聊天
  • stdio MCP 服务 README 配图

  • sse MCP 服务 README 配图

数据存储

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_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 历史

README 配图

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。