AI聊天接口

MCP AI聊天接口是一个命令行界面应用程序,支持与AI模型(Claude或OpenAI)进行交互式聊天,具备文档检索、基于命令的提示和可扩展的工具集成功能。

  • by muhammedehab35
  • Python
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 muhammedehab35/MCP-AI-Chat-Interface

使用说明

MCP人工智能聊天界面

🤖 基于人工智能模型(Claude/OpenAI)的交互式命令行界面聊天应用,使用模型控制协议(MCP)进行文档管理和工具集成。

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

✨ 特点/功能

  • 🤖 机器人 多供应商支持兼容Claude(Anthropic)和OpenAI模型
  • 📄 纸张或文件的符号,无实际翻译意义,可表示“文件”或“纸张”等概念。 文档管理通过MCP工具阅读和编辑文档
  • 🔧 修理工具或扳手的符号,常用于表示需要修理或维护的场合。 MCP 集成全面支持模型控制协议
  • 💬 **交互式命令行界面(CLI)**自动补全和命令建议
  • 🏷️(标签) @提及在您的查询中直接引用参考文档
  • ⚡(闪电符号,无具体含义,可表示快速、能量、惊喜等) 快速且轻便使用Python和异步I/O构建

先决条件

  • Python 3.10+
  • Anthropic API密钥(用于Claude)或OpenAI API密钥

项目结构

MCP-AI-Chat-Interface/
├── src/
│   └── mcp_chat/           # Main application package
│       ├── core/           # Core functionality
│       │   ├── chat.py     # Base chat class
│       │   ├── claude.py   # Claude AI provider
│       │   ├── openai_provider.py  # OpenAI provider
│       │   ├── cli.py      # CLI interface
│       │   ├── cli_chat.py # CLI chat implementation
│       │   └── tools.py    # Tool manager
│       ├── mcp_client.py   # MCP client
│       ├── mcp_server.py   # MCP server (document tools)
│       └── main.py         # Application entry point
├── main.py                 # Launcher script
├── pyproject.toml          # Project configuration
├── requirements.txt        # Python dependencies
├── .env.example            # Environment variables template
└── README.md

设置

步骤1:配置环境变量

  1. 复制 .env.example 到;向;对于;为了 .env:
cp .env.example .env
  1. 编辑 .env 并配置您的设置:
# Choose your provider: "claude" or "openai"
PROVIDER=openai

# If using Claude
CLAUDE_MODEL=claude-3-5-sonnet-20241022
ANTHROPIC_API_KEY=your_key_here

# If using OpenAI
OPENAI_MODEL=gpt-4o
OPENAI_API_KEY=your_key_here

# Use UV (1) or regular Python (0)
USE_UV=1

步骤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 -r requirements.txt
  1. 运行项目:
python main.py

用法

基本交互

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

文档检索

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

> Tell me about @deposition.md

命令(提示符)

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

可用命令:

# Summarize a document
> /summarize deposition.md

# Rewrite a document in clean markdown format
> /rewrite_markdown report.pdf

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

发展

添加新文档

编辑 src/mcp_chat/mcp_server.py 文件用于向(系统/文件夹)添加新文档 docs 字典。

项目特点

✅ 已全面实施:

  • MCP 工具:
    • 通过MCP工具进行文档阅读和编辑
    • 列出和访问文档的资源
  • AI服务提供商支持:
    • 支持Claude(Anthropic)和OpenAI两种模型
  • CLI 功能:
    • 带自动补全功能的交互式命令行界面(CLI)
    • 文档提及系统(@doc_id)
    • 使用Tab键完成命令建议
  • 提示系统:
    • /summarize - 生成简洁的文档摘要
    • /rewrite_markdown - 将文档重新格式化为简洁的Markdown格式
  • MCP 客户端:
    • list_prompts() - 列出服务器上可用的提示
    • get_prompt() - 通过名称和参数获取提示
    • 完整的MCP协议实现

可用的MCP工具

  • read_doc(doc_name: str) - 阅读文档内容
  • edit_doc(doc_name: str, old_string: str, new_string: str) - 编辑文档

可用的MCP资源

  • docs://documents - 列出所有文档ID
  • docs://documents/{doc_id} - 获取特定文档内容

可用的MCP提示

  • summarize - 生成文档的简洁摘要
  • rewrite_markdown - 以清晰的Markdown格式重写文档

贡献;做出贡献

欢迎贡献!请随时提交拉取请求。

许可证

这个项目采用MIT许可证授权 - 请参阅 许可证 详情请见文件。

致谢