返回市场
聊天-MCP

聊天-MCP

作者:AI-QL240 星标更新:2025-09-27

项目介绍

MCP聊天桌面应用

跨平台的大语言模型接口

此桌面应用程序利用MCP(模型上下文协议)无缝连接并交互各种大型语言模型(LLMs)。基于Electron构建的应用程序确保了全平台兼容性,使其在不同操作系统上都能顺畅运行。

该项目的主要目标是提供一个简洁、极简主义的代码库,简化对MCP核心原则的理解。此外,它还提供了一种快速高效的方式来测试多个服务器和LLMs,使其成为开发者和研究人员的理想工具。

新闻

该项目最初源于Chat-UI的一个修改版本,最初采用极简代码方法来实现教育目的的核心MCP功能。

通过MCP的迭代更新,我收到了社区反馈,建议采用全新的架构——该架构消除了第三方CDN依赖,并建立了更清晰的模块化结构,以更好地支持衍生开发和调试工作流程。

这导致了单一工具用户界面的创建,这是一个经过重新设计的桌面应用程序,优化了AI驱动的开发。基于原始基础,TUUI作为实用的AI辅助开发范式,如果你感兴趣,也可以利用AI为TUUI开发新功能。该平台采用严格的代码检查和格式系统,确保AI生成的代码符合编码标准。

📢 更新:2025年6月
当前项目的重构工作已基本完成,现在可以使用预发布版本。详情请参阅以下文档:

特点

  • 跨平台兼容性:支持Linux、macOS和Windows。

  • 灵活的Apache-2.0许可证:允许轻松修改并构建自己的桌面应用程序。

  • 动态LLM配置:与所有OpenAI SDK支持的LLMs兼容,通过手动或预设配置快速测试多个后端。

  • 多客户端管理:配置和管理多个客户端,使用MCP配置连接到多个服务器。

  • UI适应性:UI可以直接提取用于网络使用,确保网络版和桌面版之间的一致生态系统和交互逻辑。

架构

采用了与MCP文档一致的简单架构,以便于理解MCP的原则:

DeepWiki

如何使用

克隆或下载此仓库后:

  1. 请修改位于src/main中的config.json文件。
    确保args中指定的commandpath有效。

  2. 请确保您的系统已安装Node.js
    您可以通过在终端中运行node -vnpm -v来验证其各自的版本。

  3. npm install

  4. npm start

配置

创建一个.json文件并将以下内容粘贴进去。然后可以将其作为Chat UI的接口配置提供。

  • gtp-api.json

    {
        "chatbotStore": {
            "apiKey": "",
            "url": "https://api.aiql.com",
            "path": "/v1/chat/completions",
            "model": "gpt-4o-mini",
            "max_tokens_value": "",
            "mcp": true
        },
        "defaultChoiceStore": {
            "model": [
                "gpt-4o-mini",
                "gpt-4o",
                "gpt-4",
                "gpt-4-turbo"
            ]
        }
    }
    

如果您有直接访问OpenAI API的权限,可以替换url

或者,您还可以使用另一个支持函数调用的API端点:

  • qwen-api.json

    {
        "chatbotStore": {
            "apiKey": "",
            "url": "https://dashscope.aliyuncs.com/compatible-mode",
            "path": "/v1/chat/completions",
            "model": "qwen-turbo",
            "max_tokens_value": "",
            "mcp": true
        },
        "defaultChoiceStore": {
            "model": [
                "qwen-turbo",
                "qwen-plus",
                "qwen-max"
            ]
        }
    }
    
  • deepinfra.json

    {
        "chatbotStore": {
            "apiKey": "",
            "url": "https://api.deepinfra.com",
            "path": "/v1/openai/chat/completions",
            "model": "meta-llama/Meta-Llama-3.1-70B-Instruct",
            "max_tokens_value": "32000",
            "mcp": true
        },
        "defaultChoiceStore": {
            "model": [
                "meta-llama/Meta-Llama-3.1-70B-Instruct",
                "meta-llama/Meta-Llama-3.1-405B-Instruct",
                "meta-llama/Meta-Llama-3.1-8B-Instruct"
            ]
        }
    }
    

构建应用程序

您可以构建自己的桌面应用程序:

npm run build-app

此CLI帮助您构建并打包当前操作系统的应用程序,生成的文件存储在/artifacts目录下。

对于遇到RPM构建问题的Debian/Ubuntu用户,尝试以下解决方案之一:

  • 编辑package.json以跳过RPM构建步骤。或者

  • 使用sudo apt-get install rpm安装rpm(您可能需要运行sudo apt update以确保您的软件包列表是最新的)

故障排除

错误:spawn npx ENOENT - 问题40

修改src/main中的config.json

在Windows上,npx可能无法正常工作,请参考我的解决办法:问题101

  • 或者您可以在config.json中使用node
    {
        "mcpServers": {
            "filesystem": {
            "command": "node",
            "args": [
                "node_modules/@modelcontextprotocol/server-filesystem/dist/index.js",
                "D:/Github/mcp-test"
            ]
            }
        }
    }
    

请确保提供的路径有效,特别是如果您使用的是相对路径。强烈建议提供绝对路径以提高清晰度和准确性。

默认情况下,我会安装server-everythingserver-filesystemserver-puppeteer用于测试目的。但是,您可以安装额外的服务器库或使用npx来利用其他服务器库。

安装超时

通常,在整个项目执行npm install后,node_modules目录中的文件总大小通常超过500MB。

如果安装过程停滞在小于300MB且进度条静止,则可能是由于安装后期部分超时,尤其是Electron。

这个问题通常是因为从Electron默认服务器下载的速度过慢甚至在某些地区不可达。要解决这个问题,您可以修改环境或全局变量ELECTRON_MIRROR切换到可从您所在位置访问的Electron镜像站点。

Electron builder超时

当使用electron-builder打包文件时,它会自动从GitHub下载几个大型发行包。如果网络连接不稳定,这个过程可能会中断或超时。

在Windows上,您可能需要清除位于C:\Users\YOURUSERNAME\AppData\Local下的electronelectron-builder目录中的缓存,然后再尝试重试。

由于潜在的终端权限问题,建议使用默认shell终端而不是VSCode内置终端。

示例

多模态支持

推理和LaTeX支持

MCP工具可视化

MCP工具调用过程概述

MCP提示模板

动态LLM配置

开发工具故障排除