go-review-mcp
Code reviewing following the Go style guides directly from official and recommended sources.
Go Review MCP
A Model Context Protocol (MCP) server that provides real-time access to official Go style guides for intelligent code review.
Overview
Go Review MCP fetches the latest style guides directly from official and recommended sources:
Official
Recommended
Features
Tools
- fetch_live_guide - Fetch and index the latest style guides from all official sources (Google and Uber)
- search_live_guide - Search through all live-fetched guide content for specific patterns
- get_guide_topic - Extract topic-specific content from all live guides (naming, errors, concurrency, testing, interfaces, formatting, comments, imports, context)
- get_review_guidelines - Get curated review guidelines for specific topics
Prompts
- review_code - Comprehensive Go code review
- check_naming - Review naming conventions
- check_error_handling - Review error handling patterns
- check_concurrency - Review concurrency patterns
- check_testing - Review test code quality
- check_interfaces - Review interface design
Installation
Using go install
go install github.com/BrunoKrugel/go-review-mcp@latest
From source
git clone https://github.com/BrunoKrugel/go-review-mcp.git
cd go-review-mcp
make build
Configuration
Claude Desktop
Add to your claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"go-review": {
"command": "go-review-mcp",
"args": []
}
}
}
If installed from source, use the full path to the binary:
{
"mcpServers": {
"go-review": {
"command": "/path/to/go-review-mcp/bin/go-review-mcp",
"args": []
}
}
}
Cursor or VS Code Extension
{
"mcpServers": {
"go-review": {
"command": "go-review-mcp",
"args": []
}
}
}
Crush
{
"go-review-mcp": {
"type": "stdio",
"command": "go-review-mcp",
"timeout": 120,
"disabled": false
},
}
HTTP Mode (for testing with MCP Inspector)
# Start server in HTTP mode
go-review-mcp --transport http --port 8080
# Or with environment variable
TRANSPORT=http PORT=8080 go-review-mcp
Then use MCP Inspector to test:
npx @modelcontextprotocol/inspector http://localhost:8080/mcp
Usage
Basic Workflow
-
Fetch the latest guides:
Use the fetch_live_guide tool (no parameters needed)This fetches all style guides from Google and Uber in one operation.
-
Review your code:
Use the review_code prompt with your Go code -
Get specific guidance:
Use get_guide_topic for focused advice on topics like "naming" or "errors"Searches automatically across all fetched guides.
-
Search for patterns:
Use search_live_guide to find specific content across all guides
Example Interactions
Fetch all guides:
Claude, fetch the latest Go style guides
Comprehensive code review:
Please review this Go code:
[paste your code]
Check specific topics:
Check the naming conventions in this code
Search for guidelines:
Search the style guides for information about error wrapping
Get topic-specific content:
Show me all guidelines about concurrency from the style guides
Available Topics
The following topics are automatically indexed across all guides:
naming- Naming conventions and identifier ruleserrors- Error handling and error wrapping patternsconcurrency- Goroutines, channels, mutexes, context usagetesting- Test structure, table-driven tests, best practicesinterfaces- Interface design and usage patternsformatting- Code formatting and stylecomments- Documentation and comment conventionsimports- Import organization and groupingcontext- Context.Context usage and patterns
Configuration Options
The server supports configuration through environment variables:
TRANSPORT- Transport mode:stdio(default) orhttpPORT- HTTP port when using http transport (default: 8080)CACHE_TTL- Cache duration for fetched guides (default: 24h)LOG_LEVEL- Logging level: debug, info, warn, error (default: info)
Example:
CACHE_TTL=12h LOG_LEVEL=debug go-review-mcp
Development
Building
make build
Running tests
make test
Running locally
make run
How It Works
- Automatic Fetching: The server fetches all style guides (Google and Uber) concurrently and caches them for 24 hours
- Content Parsing: Guides are parsed into structured sections with automatic topic indexing
- Unified Search: All search and topic queries automatically scan across all fetched guides
- MCP Integration: Simple tools and prompts are exposed via the Model Context Protocol
Key Features
- Comprehensive Coverage: Always fetches and searches all available style guides
- Concurrent Fetching: All guides are fetched in parallel for fast initialization
- Smart Caching: 24-hour cache reduces network requests and improves performance
- Topic Indexing: Automatic categorization of content by topics (naming, errors, concurrency, etc.)
- No Configuration: Works out of the box - no need to choose which guides to use
Architecture
┌─────────────────┐
│ AI Assistant │
│ (Claude, etc.) │
└────────┬────────┘
│ MCP Protocol (stdio/http)
┌────────▼──────────────────────┐
│ Go Review MCP Server │
│ - 4 Tools │
│ - 6 Prompts │
│ - Concurrent HTTP Fetcher │
│ - 24h Cache (in-memory) │
│ - Content Parser │
│ - Topic Indexer │
└────────┬──────────────────────┘
│ HTTPS (parallel)
┌────────▼──────────────────────┐
│ Official Style Guide Sources │
│ ├─ Google Go Guide │
│ ├─ Google Go Decisions │
│ ├─ Google Go Best Practices │
│ └─ Uber Go Style Guide │
└───────────────────────────────┘
Data Flow
- Initialization:
fetch_live_guidefetches all 4 guides concurrently - Parsing: Each guide is parsed into sections with metadata
- Indexing: Sections are automatically categorized by topics
- Query: Search and topic tools scan all indexed content
- Caching: Results are cached for 24 hours to improve performance
Requirements
- Go 1.21 or later
- Internet connection for fetching live guides (embedded rules work offline)
License
MIT License - see LICENSE file for details
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Acknowledgments
This tool aggregates content from:
- Google Go Style Guide - CC-BY-3.0
- Uber Go Style Guide - MIT
เซิร์ฟเวอร์ที่เกี่ยวข้อง
Desktop Automation
Automate desktop actions and interact with your local environment using LLM applications.
Lenny's Podcast Transcripts
Search 286 episodes of product management wisdom from Lenny Rachitsky. Semantic search across 300+ hours of transcripts.
Text Master MCP Server
A comprehensive toolkit for text processing, formatting, and analysis.
Google Calendar
Interact with Google Calendar to list events, create meetings, and find free time slots.
Prompeteer
Generate expert-level AI prompts for 140+ platforms, score quality with 16-dimension Prompt Score analysis, and manage prompts in PromptDrive library
Marketing Automation MCP Server
Automates marketing operations with AI-powered optimization, real-time analytics, and multi-platform integration.
JotForm
An MCP server for interacting with the Jotform API to manage online forms and submissions.
Tovee.AI
Connect the apps that make you, you
RSSidian
Connects RSS feeds to Obsidian for automated content analysis and AI-powered summarization.
Vedit-MCP
Perform basic video editing operations using natural language commands. Requires ffmpeg to be installed.