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:配置环境变量
- 复制
.env.example到;向;对于;为了.env:
cp .env.example .env- 编辑
.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包安装器和解析器。
- 如果尚未安装,请安装 uv:
pip install uv- 创建并激活一个虚拟环境:
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate- 安装依赖项:
uv pip install -e .- 运行项目
uv run main.py选项2:不使用紫外线进行设置
- 创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate- 安装依赖项:
pip install -r requirements.txt- 运行项目:
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- 列出所有文档IDdocs://documents/{doc_id}- 获取特定文档内容
可用的MCP提示
summarize- 生成文档的简洁摘要rewrite_markdown- 以清晰的Markdown格式重写文档
贡献;做出贡献
欢迎贡献!请随时提交拉取请求。
许可证
这个项目采用MIT许可证授权 - 请参阅 许可证 详情请见文件。
致谢
- 构建于 MCP(模型上下文协议)
- 支持 Anthropic的Claude 并且 OpenAI(开放人工智能研究所) 模型
