import sys import json def main(): while True: line = sys.stdin.readline() if not line: break try: req = json.loads(line) method = req.get("method") req_id = req.get("id") if method == "tools/list": resp = { "jsonrpc": "2.0", "id": req_id, "result": { "tools": [ {"name": "echo", "description": "Echo input", "inputSchema": {"type": "object"}} ] } } elif method == "tools/call": name = req["params"].get("name") args = req["params"].get("arguments", {}) if name == "echo": resp = { "jsonrpc": "2.0", "id": req_id, "result": { "content": [{"type": "text", "text": f"ECHO: {args}"}] } } else: resp = {"jsonrpc": "2.0", "id": req_id, "error": {"message": "Unknown tool"}} else: resp = {"jsonrpc": "2.0", "id": req_id, "error": {"message": "Unknown method"}} sys.stdout.write(json.dumps(resp) + "\n") sys.stdout.flush() except Exception as e: sys.stderr.write(f"Error: {e}\n") sys.stderr.flush() if __name__ == "__main__": main()