Skip to main content
Glama

review_code

Analyze code quality by submitting code for automated review from Codex and Gemini CLIs. Get feedback on security, performance, and best practices to improve your implementation.

Instructions

Request a code review from Codex and Gemini CLIs. Provide code directly as a string. Returns feedback from both reviewers for Claude to consider.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeYesThe code to review
contextNoAdditional context about the code (optional)
reviewersNoWhich reviewers to use (default: both)

Implementation Reference

  • The main handler function for the "review_code" MCP tool. It validates input arguments, ensures code is provided, invokes the shared review performance logic, and returns formatted review feedback.
    private async handleReviewCode(args: CodeReviewRequest) {
      const { code, context, reviewers = ["both"] } = args;
    
      if (!code) {
        throw new Error("Code is required");
      }
    
      const reviews = await this.performReview(code, context, reviewers);
    
      return {
        content: [
          {
            type: "text",
            text: this.formatReviews(reviews),
          },
        ],
      };
    }
  • JSON Schema defining the input parameters for the "review_code" tool, including required 'code' field and optional 'context' and 'reviewers'.
    inputSchema: {
      type: "object",
      properties: {
        code: {
          type: "string",
          description: "The code to review",
        },
        context: {
          type: "string",
          description: "Additional context about the code (optional)",
        },
        reviewers: {
          type: "array",
          items: {
            type: "string",
            enum: ["codex", "gemini", "both"],
          },
          description: "Which reviewers to use (default: both)",
        },
      },
      required: ["code"],
    },
  • src/index.ts:187-213 (registration)
    Tool registration in the getTools() method, defining name, description, and inputSchema for the MCP tools list.
    {
      name: "review_code",
      description:
        "Request a code review from Codex and Gemini CLIs. Provide code directly as a string. Returns feedback from both reviewers for Claude to consider.",
      inputSchema: {
        type: "object",
        properties: {
          code: {
            type: "string",
            description: "The code to review",
          },
          context: {
            type: "string",
            description: "Additional context about the code (optional)",
          },
          reviewers: {
            type: "array",
            items: {
              type: "string",
              enum: ["codex", "gemini", "both"],
            },
            description: "Which reviewers to use (default: both)",
          },
        },
        required: ["code"],
      },
    },
  • src/index.ts:107-108 (registration)
    Dispatch case in the CallToolRequestSchema handler that routes "review_code" calls to the specific handleReviewCode method.
    case "review_code":
      return await this.handleReviewCode(args as CodeReviewRequest);
  • Core helper method that performs the actual code review by calling available CLI tools (Codex/OpenAI and/or Gemini), validates responses, and collects feedback from selected reviewers.
    private async performReview(
      code: string,
      context: string | undefined,
      reviewers: string[]
    ): Promise<Record<string, string>> {
      const reviews: Record<string, string> = {};
      const useCodex = (reviewers.includes("codex") || reviewers.includes("both")) && this.cliAvailability.codex;
      const useGemini = (reviewers.includes("gemini") || reviewers.includes("both")) && this.cliAvailability.gemini;
    
      // If no CLIs are available, provide a helpful message
      if (!this.cliAvailability.codex && !this.cliAvailability.gemini) {
        reviews.info = "⚠️ No review CLIs are currently available. Please install OpenAI CLI and/or Gemini CLI to enable code reviews.\n\n" +
          "Check status with the check_cli_status tool.";
        return reviews;
      }
    
      const reviewPrompt = this.buildReviewPrompt(code, context);
    
      const reviewPromises: Promise<void>[] = [];
    
      if (useCodex) {
        reviewPromises.push(
          this.getCodexReview(reviewPrompt).then((review) => {
            reviews.codex = review;
          })
        );
      } else if (reviewers.includes("codex")) {
        reviews.codex = "⚠️ Codex review requested but OpenAI CLI is not available.";
      }
    
      if (useGemini) {
        reviewPromises.push(
          this.getGeminiReview(reviewPrompt).then((review) => {
            reviews.gemini = review;
          })
        );
      } else if (reviewers.includes("gemini")) {
        reviews.gemini = "⚠️ Gemini review requested but Gemini CLI is not available.";
      }
    
      await Promise.all(reviewPromises);
    
      return reviews;
    }

Tool Definition Quality

Score is being calculated. Check back soon.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/je4550/review-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server