类似DeepSeek MCP的终端服务器
 该项目是一个使用DeepSeek API的类似MCP的服务器。它旨在通过公开端点来展示模型上下文协议(MCP)背后的核心概念,使AI助手能够:
- 列出可用工具。
- 在活动shell会话上调用命令。
- 与可以包括特殊指令(例如。,
CMD:行)以触发命令执行。
注: 虽然此实现捕获了许多MCP思想,并包括实时流、会话管理和基本安全等功能,但它还不是Anthropic定义的完全兼容的MCP服务器。它被设计为概念验证,生产使用需要进一步的增强(例如,完整的JSON-RPC协议支持、高级身份验证和全面的错误处理)。
特性
- 聊天界面:
一个现代的基于网络的聊天客户端(使用Flask和Tailwind CSS),用户可以在其中与服务器进行交互,现在有实时更新和改进的错误处理。
- AI集成:
使用DeepSeek API生成响应。AI可以通过包含以以下开头的行来指示服务器执行终端命令 CMD:.
- 终端命令执行:
使用以下命令通过持久Bash会话执行shell命令 pexpect 库,并将输出返回给客户端,增加了实时流媒体功能。
- MCP端点:
提供 /mcp/list_tools 和 /mcp/call_tool 模拟MCP工具发现和调用的端点,具有扩展的协议支持,包括提示、资源和根。
- 实时流媒体:
服务器发送事件(SSE),用于实时命令执行更新和终端输出。
- 安全增强:
基本身份验证、速率限制、输入验证和安全标头,以实现更安全的操作。
- 多种运输方式:
同时支持HTTP REST API和STDIO命令行界面以实现灵活性。
- 会话管理:
改进了会话处理和会话存储。
- Docker支持:
容器化,便于部署和测试。
入门指南
先决条件
- Python 3.8+
- 点
- 有效的DeepSeek API密钥
安装
- 克隆存储库:
git clone https://github.com/OthmaneBlial/term_mcp_deepseek.git
cd term_mcp_deepseek- 创建并激活虚拟环境:
python3 -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`- 安装所需的依赖项:
pip install -r requirements.txt- 配置API密钥:
更新 DEEPSEEK_API_KEY 在 .env 使用您的DeepSeek API密钥。
运行服务器
快速开始
为方便起见,请使用提供的启动脚本:
chmod +x startup.sh
./startup.sh手动启动
使用以下命令运行Flask服务器:
python server.py访问 http://127.0.0.1:8000 访问聊天界面。
码头工人
对于容器化部署:
docker-compose up -d端点
聊天端点
- 网址:
/chat - 方法:
POST - 有效载荷:
{ "message": "your message here" } - 说明:
将用户消息添加到对话中,将其发送到DeepSeek API,查找任何命令指令(CMD:),执行它们,并返回最终响应。
MCP端点
列出工具
- 网址:
/mcp/list_tools - 方法:
POST - 答复:
JSON列出了可用的工具(例如。, write_to_terminal, read_terminal_output, send_control_character).
呼叫工具
- 网址:
/mcp/call_tool - 方法:
POST - 有效载荷:
{
"name": "tool_name",
"arguments": { ... }
}- 说明:
直接调用服务器上的工具命令。
实时流媒体
- 网址:
/stream?session_id=session_id - 方法:
GET - 说明: 用于实时命令输出更新的服务器发送事件端点。
未来改进
- 协议标准化:
实现JSON-RPC,以实现更健壮和标准化的通信协议。
- 实时通信:
为实时命令输出流添加服务器发送事件(SSE)或WebSockets。
- 会话和安全增强:
引入每用户会话、适当的身份验证、输入净化和全面的错误处理。
- 模块化代码架构:
进一步将API逻辑与业务逻辑分离,以获得更好的可维护性和可扩展性。
许可证
该项目是开源的,可在 MIT许可证.
