通用MCP聊天工具

Universal MCP Chat是一个命令行界面应用程序,通过MCP架构支持与AI模型的交互式聊天功能,包括文档检索、基于命令的提示和可扩展的工具集成。

  • by crestaa
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 crestaa/Universal-MCP-Chat

使用说明

通用MCP聊天

模型上下文协议(MCP)架构,展示了用户、应用程序代码、MCP客户端/服务器以及外部服务之间的交互流程

概述

这个项目是(某个项目的)分支 模型上下文协议简介 由Anthropic开发的项目。原始项目是专门为Anthropic的Claude API设计的。这个分支已经过调整,以适应与 任何提供OpenAI兼容API的大型语言模型(LLM),使您能够使用自托管语言模型、OpenAI、Anthropic Claude或其他提供商,而不再局限于单一服务。

Universal MCP Chat 是一个命令行界面应用程序,它使用户能够与 AI 模型进行交互式聊天。该应用程序支持文档检索、基于命令的提示以及通过 MCP(模型控制协议)架构实现的可扩展工具集成。

前提条件

  • Python 3.9+
  • 访问一个具有OpenAI兼容API的自托管大型语言模型(如Ollama、vLLM、text-generation-webui等)

设置

步骤1:配置环境变量

  1. 复制示例环境文件:
cp .env.example .env
  1. 编辑 .env 为你的自托管大型语言模型(LLM)设置以下变量:
LLM_MODEL=your-model-name                    # Model name/identifier
LLM_API_KEY=your-api-key-here               # API key (may not be required for some setups)
LLM_BASE_URL=http://localhost:11434/v1      # Your LLM's OpenAI-compatible endpoint

通用的自托管大型语言模型配置

根据上面的信息,执行如下指令:

LLM_MODEL=llama2
LLM_API_KEY=any-value-or-empty
LLM_BASE_URL=http://localhost:11434/v1

vLLM服务器:

LLM_MODEL=your-model-name
LLM_API_KEY=your-api-key
LLM_BASE_URL=http://your-server:8000/v1

text-generation-webui 配备 OpenAI 扩展:

LLM_MODEL=your-model-name
LLM_API_KEY=any-value
LLM_BASE_URL=http://your-server:5000/v1

步骤2:安装依赖项

选项1:使用uv进行设置(推荐)

--- 是一个快速的Python包安装器和解析器。

  1. 如果尚未安装,请安装 uv:
pip install uv
  1. 创建并激活虚拟环境:
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. 安装依赖项:
uv pip install -e .
  1. 运行项目:
uv run main.py

选项2:无紫外线设置

  1. 创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. 安装依赖项:
pip install openai python-dotenv prompt-toolkit "mcp[cli]==1.8.0"
  1. 运行项目:
python main.py

重要提示

  • 工具调用如果您的自托管大型语言模型(LLM)支持OpenAI工具/函数调用格式,该应用程序支持工具调用
  • 模型兼容性确保您的大型语言模型(LLM)支持您所需的功能(工具调用、系统提示等)
  • API 兼容性您的大型语言模型(LLM)端点必须与OpenAI兼容(大多数现代自托管解决方案都支持此功能)

用法

基本交互

只需输入您的信息并按回车键即可与模型聊天。

文档检索

在查询中使用@符号后跟文档ID来包含文档内容:

> Tell me about @deposition.md

命令

使用/前缀来执行MCP服务器中定义的命令:

> /summarize deposition.md

当你按下Tab键时,命令将自动完成。