该项目是一个使用DeepSeek API的类似MCP的服务器。它旨在通过暴露允许AI助手执行操作的端点来展示Model Context Protocol (MCP)的核心概念,包括:
CMD:行)的AI聊天(DeepSeek)集成,以触发命令执行。注意: 虽然此实现捕获了许多MCP的想法,并且包括实时流传输、会话管理和基本安全性的特性,但它尚未完全符合Anthropic定义的MCP服务器标准。它被设计为一个概念验证,为了生产使用,还需要进一步增强(例如,完整的JSON-RPC协议支持、高级身份验证和全面的错误处理)。
聊天界面: 使用Flask和Tailwind CSS的现代基于Web的聊天客户端,用户可以与服务器交互,现在具有实时更新和改进的错误处理。
AI集成:
使用DeepSeek API生成响应。AI可以通过包含以CMD:开头的行来指示服务器执行终端命令。
终端命令执行:
使用pexpect库通过持久的Bash会话执行shell命令,并返回输出到客户端,增加了实时流传输能力。
MCP端点:
提供/mcp/list_tools和/mcp/call_tool端点,模仿MCP工具发现和调用,扩展了协议支持,包括提示、资源和根目录。
实时流传输: 使用Server-Sent Events (SSE)进行实时命令执行更新和终端输出。
安全性增强: 基本认证、速率限制、输入验证和安全头,以确保更安全的操作。
多种传输选项: 支持HTTP REST API和STDIO命令行接口,以提供灵活性。
会话管理: 改进了会话处理和对话存储。
Docker支持: 容器化部署,便于部署和测试。
克隆仓库:
git clone https://github.com/OthmaneBlial/term_mcp_deepseek.git
cd term_m_深seek
创建并激活虚拟环境:
python3 -m venv venv
source venv/bin/activate # 在Windows上,使用`venv\Scripts\activate`
安装所需依赖项:
pip install -r requirements.txt
配置您的API密钥:
更新.env中的DEEPSEEK_API_KEY为您的DeepSeek API密钥。
使用提供的启动脚本以方便起见:
chmod +x startup.sh
./startup.sh
运行Flask服务器:
python server.py
访问http://127.0.0.1:8000以访问聊天界面。
对于容器化部署:
docker-compose up -d
/chatPOST{ "message": "在这里输入您的消息" }CMD:),执行它们,并返回最终响应。/mcp/list_toolsPOSTwrite_to_terminal,read_terminal_output,send_control_character)。/mcp/call_toolPOST{
"name": "工具名称",
"arguments": { ... }
}
/stream?session_id=session_idGET协议标准化: 实现JSON-RPC以获得更强大和标准化的通信协议。
实时通信: 添加Server-Sent Events (SSE)或WebSockets以实现实时命令输出流传输。
会话及安全性增强: 引入每个用户的会话,适当的认证,输入净化和全面的错误处理。
模块化代码架构: 进一步分离API逻辑与业务逻辑,以提高可维护性和可扩展性。
此项目是开源的,并根据MIT许可证提供。