From e47cfd0a286d911412657bb46b50712ab9207e96 Mon Sep 17 00:00:00 2001 From: Srinivasa Consultants <78673153+dinakarjs@users.noreply.github.com> Date: Fri, 2 Oct 2026 12:46:33 +0530 Subject: [PATCH] fix(startup-tpm): answer MCP tools/list discovery Signed-off-by: Codex --- startup-tpm/server/mock_mcp_server.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/startup-tpm/server/mock_mcp_server.py b/startup-tpm/server/mock_mcp_server.py index b5ba8b6..e99fb5d 100644 --- a/startup-tpm/server/mock_mcp_server.py +++ b/startup-tpm/server/mock_mcp_server.py @@ -12,6 +12,15 @@ from http.server import BaseHTTPRequestHandler, HTTPServer PORT = 8080 +ECHO_TOOL = { + "name": "test.echo", + "description": "Echo a message back for testing", + "inputSchema": { + "type": "object", + "properties": {"message": {"type": "string"}}, + "required": ["message"], + }, +} class Handler(BaseHTTPRequestHandler): @@ -21,6 +30,21 @@ def do_POST(self): # noqa: N802 return length = int(self.headers.get("Content-Length", 0)) request = json.loads(self.rfile.read(length)) + method = request.get("method", "") + if method == "tools/list": + self._reply(200, { + "jsonrpc": "2.0", + "id": request.get("id"), + "result": {"tools": [ECHO_TOOL]}, + }) + return + if method != "tools/call": + self._reply(200, { + "jsonrpc": "2.0", + "id": request.get("id"), + "error": {"code": -32601, "message": f"unknown method: {method}"}, + }) + return params = request.get("params", {}) tool = params.get("name", "") if tool != "test.echo":