MCP 聊天应用

MCP 聊天应用

By machaojin1917939763 GitHub

基于MCP(Model Context Protocol)的智能聊天应用,支持Web和桌面环境。集成OpenAI/Anthropic API,提供MCP服务器的所有工具能力。简洁现代的UI设计,支持跨平台部署。

mcpe mcp
Overview

what is MCP 聊天应用?

MCP 聊天应用是一个基于 Model Context Protocol (MCP) 的智能聊天应用,支持Web和桌面环境,集成了OpenAI和Anthropic API,提供与各种服务和工具的交互能力。

how to use MCP 聊天应用?

用户可以通过安装依赖、配置环境变量并启动应用来使用MCP聊天应用。具体步骤包括安装Node.js和npm,配置API密钥,启动前端和后端服务。

key features of MCP 聊天应用?

  • 简洁现代的聊天界面设计
  • MCP协议支持与外部工具和服务的无缝交互
  • 多模型支持,兼容OpenAI和Anthropic API
  • 自定义配置选项
  • 可扩展架构,支持添加自定义工具
  • 跨平台桌面应用支持
  • 浏览器自动化功能

use cases of MCP 聊天应用?

  1. 实时聊天和信息查询
  2. 使用AI控制浏览器执行任务
  3. 整合多种服务进行数据处理和交互

FAQ from MCP 聊天应用?

  • MCP 聊天应用支持哪些操作系统?

支持Windows, macOS和Linux。

  • 如何配置API密钥?

通过编辑.env文件设置API密钥和其他配置。

  • MCP 聊天应用是免费的吗?

是的,MCP 聊天应用是开源的,用户可以自由使用和修改。

Content

MCP 聊天应用

基于 Model Context Protocol 的智能聊天应用,支持Web和桌面环境。

项目介绍

MCP聊天应用是一个基于Vue.js构建的现代化聊天界面,支持通过Model Context Protocol (MCP)与各种服务和工具进行交互。MCP是Anthropic推出的开放协议标准,允许AI模型直接调用诸如数据库、文件系统、浏览器自动化、第三方mcp服务等。

本应用同时支持Web端和桌面端(基于Electron),并且集成了OpenAI和Anthropic两种主流大模型服务。

应用界面展示

应用界面概览 聊天功能展示 模型配置界面 环境配置示例 应用启动界面 构建后的应用 模型设置界面

核心功能特点

  • 简洁现代的聊天界面设计
  • MCP协议支持:与外部工具和服务进行无缝交互
  • 多模型支持:兼容OpenAI和Anthropic两种API格式
  • 自定义配置:可配置API密钥、基础URL和模型选项
  • 可扩展架构:支持添加自定义工具和服务
  • 桌面应用:提供跨平台(Windows/Mac/Linux)桌面体验
  • 浏览器自动化:支持AI控制浏览器执行任务
  • 本地服务:集成MCP后端服务提供强大功能

系统要求

  • Node.js: v16.0.0+
  • npm: v8.0.0+
  • 现代浏览器:Chrome, Firefox, Safari, Edge最新版本
  • 操作系统:Windows 10+, macOS 10.15+, Ubuntu 20.04+(桌面版)

快速开始

安装依赖

npm install

配置环境变量(非必要)

复制.env.example文件到.env,并填入必要的API密钥和配置:

cp .env.example .env

编辑.env文件设置以下内容:

VITE_API_KEY=your_api_key_here
VITE_MODEL_PROVIDER=openai  # 或 anthropic
MCP_SERVER_PORT=3001        # MCP服务器端口

启动应用

Web应用开发模式

# 启动前端开发服务器
npm run dev

# 在另一个终端启动MCP后端服务
npm run mcp:server

桌面应用开发模式

# 启动Electron应用
npm run electron:dev

# 在另一个终端启动MCP后端服务
npm run mcp:server

运行应用

Web应用

npm run dev

# 在另一个终端启动MCP后端服务
npm run mcp:server

桌面应用

# 启动Electron应用
npm run electron:dev

# 在另一个终端启动MCP后端服务
npm run mcp:server

构建应用

Web应用构建

npm run build

桌面应用构建

# 构建所有平台版本
npm run electron:build

# 构建特定平台版本
npm run electron:buildwin  # Windows
npm run electron:buildmac  # macOS
npm run electron:buildlinux  # Linux

详细使用说明

配置模型设置

  1. 打开应用后,点击右上角的⚙️设置图标
  2. 在设置面板中配置:
    • 模型提供商:选择OpenAI或Anthropic
    • API密钥:输入对应服务的API密钥
    • API基础URL:可选,如使用自定义API端点或代理服务
    • 模型:选择要使用的具体模型
    • 自定义模型:添加和管理自定义模型配置

使用聊天功能

  • 在底部输入框中输入问题或命令
  • 点击发送按钮或按回车键发送消息
  • 使用工具功能获取实时信息或执行任务(如浏览网页、查询数据等)
  • 支持Markdown格式和代码高亮显示

MCP工具使用

本应用集成了以下MCP工具:

  • 浏览器自动化:AI可控制浏览器访问网页、提取信息
  • 天气查询:获取实时天气信息
  • 新闻搜索:检索最新新闻内容
  • 文件操作:读取和写入文件(桌面版)

通过聊天界面直接请求AI使用这些工具,无需额外操作。

项目架构

目录结构

  • src/ - 前端源代码
    • components/ - Vue组件
    • services/ - API服务
    • composables/ - Vue组合式函数
    • utils/ - 工具函数
    • styles/ - CSS样式文件
    • assets/ - 静态资源
  • electron/ - Electron桌面应用代码
  • config/ - 应用配置文件
  • mcp_server.js - MCP后端服务
  • public/ - 静态资源目录

关键技术栈

  • 前端:Vue 3, TypeScript, Vite
  • API集成:OpenAI API, Anthropic API
  • MCP协议:@modelcontextprotocol/sdk
  • 桌面应用:Electron
  • 服务端:Express, Node.js

开发指南

添加新的MCP工具

  1. mcp_server.js中的工具定义部分添加新工具描述
  2. 实现对应的工具处理逻辑
  3. 重启MCP服务器以应用更改

示例:

// 添加新工具定义
const tools = [
  {
    name: "my_new_tool",
    description: "这是一个新工具的描述",
    parameters: {
      type: "object",
      properties: {
        param1: { type: "string", description: "参数1的描述" }
      },
      required: ["param1"]
    }
  },
  // 其他工具...
];

// 实现工具处理逻辑
app.post('/mcp/tools/call', async (req, res) => {
  // ...
  if (toolName === "my_new_tool") {
    const result = await handleMyNewTool(arguments);
    return res.json({ result });
  }
  // ...
});

自定义UI组件

修改或创建src/components/目录下的Vue组件以定制UI。

部署指南

Web应用部署

  1. 运行npm run build生成生产环境代码
  2. dist目录部署到任何静态Web服务器
  3. 确保MCP后端服务正确配置并运行

桌面应用分发

  1. 运行对应平台的构建命令
  2. dist_electron目录找到构建好的安装包
  3. 分发安装包给用户

故障排除

  • API连接问题:检查API密钥和网络连接
  • MCP服务失败:查看服务器日志,确保相关依赖已安装
  • UI显示异常:清除浏览器缓存,检查控制台错误
  • 工具调用失败:检查MCP后端日志,确保工具正确配置

相关资源

贡献指南

欢迎提交Pull Request或Issue来改进这个项目。贡献前请先查看现有Issues和项目路线图。

许可证

MIT

No tools information available.
School MCP
School MCP by 54yyyu

A Model Context Protocol (MCP) server for academic tools, integrating with Canvas and Gradescope platforms.

canvas mcp
View Details
repo-template
repo-template by loonghao

A Model Context Protocol (MCP) server for Python package intelligence, providing structured queries for PyPI packages and GitHub repositories. Features include dependency analysis, version tracking, and package metadata retrieval for LLM interactions.

-

google-calendar mcp
View Details
strava-mcp
strava-mcp by jeremysilva1098

MCP server for strava

strava mcp
View Details

Model Context Protocol (MCP) server implementation for Rhinoceros/Grasshopper integration, enabling AI models to interact with parametric design tools

grasshopper mcp
View Details

MCP configuration to connect AI agent to a Linux machine.

security mcp
View Details

AI assistant built with Streamlit, NVIDIA NIM (LLaMa 3.3:70B) / Ollama, and Model Control Protocol (MCP).

python mcp
View Details