#pragma once // MCP「远程交谈」工具族:chat_open / chat_send / chat_wait / chat_close。 // // 复用 Windows 客户端既有的「远程交谈」链路(协议不变): // 主连接 [COMMAND_CHAT=161] // → 客户端子连接先 [TOKEN_CONN_AUTH=246],再 [TOKEN_CHAT_START=62] // → 服务端在子连接回 [COMMAND_NEXT_CHAT=0](客户端据此弹 IDD_CHAT) // → 双向文本 [CP936 字节][NUL];服务端 [COMMAND_CHAT_CLOSE=1] 结束。 // // 会话状态由 CMcpServer 持有(McpServer.h),本文件只负责工具 schema、参数校验、 // 编码转换与响应构造。协议、客户端怪癖与验证矩阵见 docs/Mcp_Chat_Design.md。 #include "jsoncpp/json.h" #include class CMy2015RemoteDlg; namespace McpChat { bool Handles(const std::string& toolName); // 开关 close 时不追加任何工具(tools/list 与调用侧一致)。 void AppendTools(Json::Value& tools); std::string Call(const Json::Value& id, const std::string& toolName, const Json::Value& args, CMy2015RemoteDlg* parent); } // namespace McpChat