add gcd protocol api generator