tenkoh/recent-go-mcp
If you are the rightful owner of recent-go-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Recent Go MCP Server provides updates and best practices for Go language versions 1.13 through 1.24, formatted for LLM consumption.
go-updates
Get information about Go language updates and best practices.
Recent Go MCP Server
An MCP (Model Context Protocol) server that provides comprehensive Go language updates and best practices to LLM coding agents in structured Markdown format. This helps agents avoid using outdated Go patterns and leverage modern language features efficiently across 12 Go versions.
NOTICE This repository is experimental and for personal use. (Of course, anyone can use this repository.) LLM coding agent is fully utilized to write code, test and data about Go's features in each release. Some mistakes would be contained. I hope any issues or PRs to improve this repository.
NOTICE The output of this tool might be oversize with some MCP hosts like Claude Code. I will update this tool with pagenation feature soon.
Features
- 🔄 Comprehensive Version Coverage: Supports Go 1.13 through 1.24 (12 versions)
- 📦 Package-Specific Filtering: Get updates for specific standard library packages (net/http, slices, maps, log/slog, etc.)
- 📚 Rich Information: Includes examples, impact assessment, and upgrade recommendations
- 📝 Markdown Format: Structured output optimized for LLM consumption with ~70% size reduction
- 🚀 Single Binary: All release data embedded using go:embed for easy deployment
Integration
With Claude Desktop
Add to your MCP configuration:
{
"mcpServers": {
"recent-go-mcp": {
"command": "go",
"args":[
"run",
"github.com/tenkoh/recent-go-mcp@latest"
]
}
}
}
You can install the command using go install
, then register the executable binary's path to MCP configuration.
With Other MCP Clients
The server uses stdio transport and follows the MCP specification. It can be integrated with any MCP-compatible LLM client.
Usage
The server implements the Model Context Protocol and can be used with any MCP-compatible client.
Tool: go-updates
Get information about Go language updates and best practices.
Parameters:
version
(required): Go version to check updates from (supported: "1.13" through "1.24")package
(optional): Specific standard library package to filter updates (e.g., "net/http", "slices", "maps", "log/slog")
Examples
Get all updates from Go 1.21 to Go 1.24
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "go-updates",
"arguments": {
"version": "1.21"
}
}
}
Get slices package specific updates from Go 1.20
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "go-updates",
"arguments": {
"version": "1.20",
"package": "slices"
}
}
}
Response Format
The tool returns structured Markdown output optimized for LLM consumption:
- Hierarchical Structure: Clear headings (
#
,##
,###
) for easy navigation - Summary Section: Overview of changes and their impact
- Version-Specific Sections: Chronologically organized language and library changes
- Code Highlighting: Function names in
`backticks`
and examples ingo code blocks
- Enhanced Readability: Bold emphasis for important items and proper Markdown formatting
Data Coverage
Comprehensive Go Version Support:
- Go 1.13 through Go 1.24 (12 versions)
- Complete coverage from legacy versions to the latest features
The embedded data covers:
- Language Features: New syntax, constructs, and language improvements
- Standard Library Updates: Package additions, enhancements, and new APIs
- Modern Packages: slices, maps, log/slog, go/version, and other Go 1.21+ additions
- Runtime Improvements: Performance optimizations and memory management
- Toolchain Enhancements: Build system, module system, and developer tooling updates
- Best Practice Recommendations: Modern patterns and upgrade guidance
Contribution
Contributions are really welcomed. Please make an issue or a pull request casually.
Development
# Run all tests (includes MCP protocol tests)
go test ./...
# Run MCP server integration tests specifically
go test -v -run TestMCPServer
# Build the server
go build -o recent-go-mcp
# Test manually with JSON-RPC
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | ./recent-go-mcp
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "go-updates", "arguments": {"version": "1.24"}}}' | ./recent-go-mcp
License
MIT
Author
tenkoh (using Claude Sonnet 4)