使用说明(Markdown 格式)
-
项目简介
- Windsurf Ask Continue MCP 服务器是一套完整的 MCP 服务端实现,负责向 MCP 客户端暴露一个可调用的“ask_continue”工具,用于在对话中强制并获得用户是否继续对话的确认,以及接收用户的后续指令输入。服务器通过 stdio 与 Windsurf 客户端(或扩展)进行通信,并通过一个回调 HTTP 服务从扩展中获取用户输入。
-
主要功能点
- MCP 协议核心能力:实现工具注册与调用、文本与多模态内容(文本、图片)输出,遵循 MCP 的请求/响应模型。
- 工具定义:定义名为 ask_continue 的工具,带有输入模式(reason)以及强制执行的执行顺序,确保在对话中每次结束前都触发并等待用户决策。
- 多端口与回调:内部实现动态回调端口,通过一个独立的回调 HTTP 服务接收扩展返回的用户输入或取消信号。
- 与 Windsurf 的集成:通过 Windsurf 扩展的本地端口发现机制与 UI 回调,提供弹窗式交互,支持文本和图片输入。
- 自动化启动与配置管理:包含安装脚本、配置合并与回滚机制,确保在移动或更新后能正确配置 MCP 服务。
-
安装步骤(易操作版)
- 安装前提:准备好 Python 3.10+ 环境以及 Windsurf IDE 与相关扩展。
- 安装依赖:在 mcp-server-python 目录下通过 pip 安装 requirements.txt 中列出的依赖。
- 安装 Windsurf 扩展:在 Windsurf 中安装并启用风格的 ask-continue 扩展(VSIX 包在项目中)。
- 配置 MCP:运行 mcp_config 安装脚本,将 ask-continue 服务注册到 Windsurf 的 MCP 配置中。配置会指向 server.py 的绝对路径作为启动命令参数。
- 启动与测试:启动 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 客户端在配置中需要指定一个名为 ask-continue 的 MCP 服务器,其启动命令与参数示例如下:
-
基本使用方法
- 启动阶段:MCP 客户端(如 Windsurf)通过配置启动 ask-continue 服务端。
- 调用流程:AI 完成任务后,作为强制步骤调用 ask_continue 工具;服务器触发 Windsurf 扩展展示对话继续的弹窗,扩展中用户可输入新的指令,或选择结束、取消。
- 响应处理:扩展将用户输入返回给 MCP 服务器,服务器再把结果传递给 AI 继续执行后续任务。文本与图片输入均可处理。
- 弹窗与回调:若用户取消或关闭弹窗,扩展将会向 MCP 发送取消信号,服务器据此结束当前对话轮次或继续等待。
信息
分类
AI与计算