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; }

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