| 101 | self._send({"jsonrpc": "2.0", "method": method, "params": params or {}}) |
| 102 | |
| 103 | def initialize(self, timeout=60): |
| 104 | resp = self.request("initialize", { |
| 105 | "protocolVersion": "2024-11-05", "capabilities": {}, |
| 106 | "clientInfo": {"name": "windows-red-test", "version": "1.0"}}, timeout) |
| 107 | if "error" in resp: |
| 108 | raise McpError("initialize error: %r" % resp["error"]) |
| 109 | try: |
| 110 | self.notify("notifications/initialized") |
| 111 | except Exception: |
| 112 | pass |
| 113 | return resp |
| 114 | |
| 115 | def tools_list(self, timeout=60): |
| 116 | resp = self.request("tools/list", {}, timeout=timeout) |