GoDoctor is an intelligent, AI-powered Model Context Protocol (MCP) server designed to assist Go developers. It provides a comprehensive suite of tools for navigating, editing, analyzing, and modernizing Go codebases.
GoDoctor organizes its capabilities into domain-specific tools to streamline development workflows.
list_files: Explore the project hierarchy recursively to understand the architecture.smart_read: The Universal Reader. Inspects file content, structure (outline), or specific snippets. Includes documentation for imported packages.
file_create: Initialize a new source file with proper boilerplate and import organization.smart_edit: Perform targeted code modifications using Levenshtein distance matching. Automatically handles formatting and checks syntax before finalizing.
smart_build: The Universal Quality Gate. Compiles the project, runs tests, and checks for linting issues in a single atomic step. Automatically runsgo mod tidyandgofmt.add_dependency: Manage module dependencies and immediately fetch documentation for the new package.read_docs: Query documentation for any package or symbol in the Go ecosystem.modernize_code: Automatically upgrade legacy Go patterns to modern standards.
code_review: Submit code for expert AI analysis focusing on correctness and idiomatic style.
-
Install the binary:
go install github.com/danicat/godoctor/cmd/godoctor@latest
-
Add GoDoctor as an MCP server:
claude mcp add --transport stdio --scope user godoctor -- godoctor
-
(Optional) Add agent instructions to your project:
godoctor --agents >> CLAUDE.mdThis appends tool usage guidance to your
CLAUDE.mdso Claude knows how to use each tool effectively.
If you use the Gemini CLI, you can install GoDoctor as an extension:
gemini extensions install https://github.com/danicat/godoctor- Clone the repository:
git clone https://github.com/danicat/godoctor.git cd godoctor - Build and install:
make install
Most GoDoctor tools work without any authentication. The code_review tool requires access to Google's Generative AI models for cross-model code review. If no credentials are found, code_review is automatically disabled and all other tools continue to work normally.
Option 1: Gemini API (Personal)
Set the GEMINI_API_KEY (or GOOGLE_API_KEY) environment variable.
export GEMINI_API_KEY="your-api-key"Option 2: Vertex AI (Enterprise) Set the following environment variables:
export GOOGLE_GENAI_USE_VERTEXAI=true
export GOOGLE_CLOUD_PROJECT="your-project-id"
export GOOGLE_CLOUD_LOCATION="us-central1"| Flag | Description | Default |
|---|---|---|
--model |
Default Gemini model to use for AI tasks. | gemini-2.5-pro |
--allow |
Comma-separated list of tools to explicitly enable (whitelist mode). | "" |
--disable |
Comma-separated list of tools to explicitly disable. | "" |
--listen |
Address to listen on for HTTP transport (e.g., :8080). |
"" (Stdio) |
--list-tools |
List all available tools and their descriptions, then exit. | false |
--agents |
Print LLM agent instructions and exit. | false |
--version |
Print version and exit. | false |
To get the optimal system prompt for your AI agent:
godoctor --agentsTo see which tools are currently active:
godoctor --list-toolsApache 2.0