返回市场
深度搜索MCP服务器

深度搜索MCP服务器

作者:OthmaneBlial14 星标更新:2025-09-21

项目介绍

DeepSeek 类似MCP的终端服务器

信任评分 该项目是一个使用DeepSeek API的类似MCP的服务器。它旨在通过暴露允许AI助手执行操作的端点来展示Model Context Protocol (MCP)的核心概念,包括:

  • 列出可用工具。
  • 在活动的shell会话上执行命令。
  • 与可以包含特殊指令(例如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支持: 容器化部署,便于部署和测试。

快速开始

先决条件

  • Python 3.8+
  • pip
  • 有效的DeepSeek API密钥

安装

  1. 克隆仓库:

    git clone https://github.com/OthmaneBlial/term_mcp_deepseek.git
    cd term_m_深seek
    
  2. 创建并激活虚拟环境:

    python3 -m venv venv
    source venv/bin/activate  # 在Windows上,使用`venv\Scripts\activate`
    
  3. 安装所需依赖项:

    pip install -r requirements.txt
    
  4. 配置您的API密钥:

    更新.env中的DEEPSEEK_API_KEY为您的DeepSeek API密钥。

运行服务器

快速启动

使用提供的启动脚本以方便起见:

chmod +x startup.sh
./startup.sh

手动启动

运行Flask服务器:

python server.py

访问http://127.0.0.1:8000以访问聊天界面。

Docker

对于容器化部署:

docker-compose up -d

端点

聊天端点

  • URL: /chat
  • 方法: POST
  • 负载: { "message": "在这里输入您的消息" }
  • 描述: 将用户消息添加到对话中,将其发送到DeepSeek API,查找任何命令指令(CMD:),执行它们,并返回最终响应。

MCP端点

列出工具

  • URL: /mcp/list_tools
  • 方法: POST
  • 响应: JSON列出可用工具(例如write_to_terminalread_terminal_outputsend_control_character)。

调用工具

  • URL: /mcp/call_tool
  • 方法: POST
  • 负载:
    {
      "name": "工具名称",
      "arguments": { ... }
    }
    
  • 描述: 直接在服务器上调用工具命令。

实时流传输

  • URL: /stream?session_id=session_id
  • 方法: GET
  • 描述: Server-Sent Events端点用于实时命令输出更新。

未来改进

  • 协议标准化: 实现JSON-RPC以获得更强大和标准化的通信协议。

  • 实时通信: 添加Server-Sent Events (SSE)或WebSockets以实现实时命令输出流传输。

  • 会话及安全性增强: 引入每个用户的会话,适当的认证,输入净化和全面的错误处理。

  • 模块化代码架构: 进一步分离API逻辑与业务逻辑,以提高可维护性和可扩展性。

许可证

此项目是开源的,并根据MIT许可证提供。