article
README
🚀 深度求索 MCP 类型终端服务器
本项目借助 DeepSeek API 构建了一个类似 MCP 协议的服务器原型。其主要目的是展示 MCP 的核心概念,通过开放特定端点,让 AI 助手能够完成以下操作:
- 罗列可用工具
- 在活动的 Shell 会话中调用命令
- 集成一个 AI 聊天(深度求索),该聊天可包含特殊指令(如
CMD:行)以触发命令执行
⚠️ 重要提示
尽管此实现涵盖了 MCP 的诸多核心概念,但它并非完全符合 Anthropic 所定义的 MCP 服务器。它是一个概念验证设计,若要投入生产环境使用,还需进一步改进(如支持 JSON - RPC 协议、通过 SSE 实现实时更新、会话管理以及增强安全性等)。
✨ 主要特性
- 聊天界面:运用 Flask 和 Tailwind CSS 搭建的简单 Web 聊天客户端,方便用户与服务器进行交互。
- AI 集成:利用深度求索 API 生成响应。AI 可通过包含以
CMD:开头的行,指示服务器执行终端命令。 - 终端命令执行:借助
pexpect库维持一个持久的 Bash 会话,并将命令输出返回给客户端,以此执行 Shell 命令。 - MCP 端点:提供
/mcp/list_tools和/mcp/call_tool端点,模拟 MCP 工具的发现和调用功能。
📦 安装指南
先决条件
- Python 3.8 及以上版本
- pip
- 有效的深度求索 API 密钥
安装步骤
- 克隆仓库:
git clone https://github.com/OthmaneBlial/term_mcp_deepseek.git
cd term_mcp_deepseek
- 创建并激活虚拟环境:
python3 -m venv venv
source venv/bin/activate # 在 Windows 上,使用 `venv\Scripts\activate`
- 安装所需依赖项:
pip install -r requirements.txt
- 配置 API 密钥:
将
.env文件中的DEEPSEEK_API_KEY更新为您的深度求索 API 密钥。
🚀 快速开始
运行服务器
运行 Flask 服务器:
python server.py
通过访问 http://127.0.0.1:5000 即可使用聊天界面。
📚 详细文档
端点说明
聊天端点
- URL:
/chat - 方法:
POST - 负载:
{ "message": "您的消息内容" } - 描述:将用户消息添加到对话中,发送至深度求索 API,查找其中的命令指令(
CMD:)并执行,最后返回最终响应。
MCP 端点
列出工具
- URL:
/mcp/list_tools - 方法:
POST - 响应:以 JSON 列表形式展示可用工具(如
write_to_terminal、read_terminal_output、send_control_character)。
调用工具
- URL:
/mcp/call_tool - 方法:
POST - 负载:
{
"name": "tool_name",
"arguments": { ... }
}
- 描述:调用指定工具并按需传递参数。
🔧 技术细节
未来改进方向
- 协议标准化:实现对 JSON - RPC 协议的全面支持,确保与现有系统兼容。
- 实时通信:集成 WebSocket 或 Server - Sent Events (SSE),实现实时命令执行和输出反馈。
- 会话管理:添加用户身份验证和会话管理功能,支持多个客户端同时连接。
- 错误处理与日志记录:构建更强大的错误处理机制,集成日志记录功能,便于跟踪服务器操作和调试问题。
- 性能优化:优化服务器代码和配置,提升命令执行速度和整体响应时间。
Scan to contact