使用说明(Markdown 格式)

  • 项目简介

    • Windsurf Ask Continue MCP 服务器是一套完整的 MCP 服务端实现,负责向 MCP 客户端暴露一个可调用的“ask_continue”工具,用于在对话中强制并获得用户是否继续对话的确认,以及接收用户的后续指令输入。服务器通过 stdio 与 Windsurf 客户端(或扩展)进行通信,并通过一个回调 HTTP 服务从扩展中获取用户输入。
  • 主要功能点

    • MCP 协议核心能力:实现工具注册与调用、文本与多模态内容(文本、图片)输出,遵循 MCP 的请求/响应模型。
    • 工具定义:定义名为 ask_continue 的工具,带有输入模式(reason)以及强制执行的执行顺序,确保在对话中每次结束前都触发并等待用户决策。
    • 多端口与回调:内部实现动态回调端口,通过一个独立的回调 HTTP 服务接收扩展返回的用户输入或取消信号。
    • 与 Windsurf 的集成:通过 Windsurf 扩展的本地端口发现机制与 UI 回调,提供弹窗式交互,支持文本和图片输入。
    • 自动化启动与配置管理:包含安装脚本、配置合并与回滚机制,确保在移动或更新后能正确配置 MCP 服务。
  • 安装步骤(易操作版)

    1. 安装前提:准备好 Python 3.10+ 环境以及 Windsurf IDE 与相关扩展。
    2. 安装依赖:在 mcp-server-python 目录下通过 pip 安装 requirements.txt 中列出的依赖。
    3. 安装 Windsurf 扩展:在 Windsurf 中安装并启用风格的 ask-continue 扩展(VSIX 包在项目中)。
    4. 配置 MCP:运行 mcp_config 安装脚本,将 ask-continue 服务注册到 Windsurf 的 MCP 配置中。配置会指向 server.py 的绝对路径作为启动命令参数。
    5. 启动与测试:启动 Windsurf;MCP 服务器将在标准输入/输出通道上与 Windsurf 进行通信,扩展会在对话需要继续时弹出交互界面。
  • 服务器配置(供 MCP 客户端参考,非客户端代码)

    • MCP 客户端在配置中需要指定一个名为 ask-continue 的 MCP 服务器,其启动命令与参数示例如下:
      • server name: ask-continue
      • command: python
      • args: ["/path/to/你的项目/mcp-server-python/server.py"]
    • 说明:上述配置中的命令与路径必须是可执行且指向实际的 server.py 文件。路径建议使用绝对路径,必要时对路径分隔符进行转义。
  • 基本使用方法

    • 启动阶段:MCP 客户端(如 Windsurf)通过配置启动 ask-continue 服务端。
    • 调用流程:AI 完成任务后,作为强制步骤调用 ask_continue 工具;服务器触发 Windsurf 扩展展示对话继续的弹窗,扩展中用户可输入新的指令,或选择结束、取消。
    • 响应处理:扩展将用户输入返回给 MCP 服务器,服务器再把结果传递给 AI 继续执行后续任务。文本与图片输入均可处理。
    • 弹窗与回调:若用户取消或关闭弹窗,扩展将会向 MCP 发送取消信号,服务器据此结束当前对话轮次或继续等待。

信息

分类

AI与计算