Go语言更新服务

一个提供Go语言更新和最佳实践的MCP服务器,支持12个Go版本,帮助LLM编码代理使用现代语言特性。

  • by tenkoh
  • Go
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 tenkoh/recent-go-mcp

使用说明

最近使用的Go MCP服务器

MCP(模型上下文协议)服务器,以结构化Markdown格式为LLM编码代理提供全面的Go语言更新和最佳实践。这有助于代理避免使用过时的Go模式,并在12个Go版本中有效地利用现代语言功能。

通知 这个存储库是实验性的,供个人使用。(当然,任何人都可以使用这个存储库。)LLM编码代理被充分利用来编写关于每个版本中Go功能的代码、测试和数据。一些错误将得到控制。我希望任何问题或PR都能改进这个存储库。

通知 对于某些MCP主机(如Claude Code),此工具的输出可能会过大。 我很快就会用页面国家功能更新这个工具。

特性

  • 🔄 全面的版本覆盖:支持Go 1.13到1.24(12个版本)
  • 📦 包装特定过滤:获取特定标准库包(net/http、切片、映射、log/slog等)的更新
  • 📚 丰富的信息:包括示例、影响评估和升级建议
  • 📝 Markdown格式:结构输出针对LLM消耗进行了优化,尺寸减少了约70%
  • 🚀 单一二进制:所有发布数据都使用go:embed嵌入,便于部署

整合

使用克劳德桌面

添加到MCP配置中:

{
  "mcpServers": {
    "recent-go-mcp": {
      "command": "go",
      "args":[
        "run",
        "github.com/tenkoh/recent-go-mcp@latest"
      ]
    }
  }
}

您可以使用以下命令安装该命令 go install,然后将可执行二进制文件的路径注册到MCP配置。

与其他MCP客户端

服务器使用stdio传输并遵循MCP规范。它可以与任何兼容MCP的LLM客户端集成。

用法

服务器实现了模型上下文协议,可以与任何兼容MCP的客户端一起使用。

工具: go-updates

获取有关Go语言更新和最佳实践的信息。

参数:

  • version (必填):前往版本检查更新(支持:“1.13”至“1.24”)
  • package (可选):用于过滤更新的特定标准库包(例如,“net/http”、“切片”、“映射”、“log/slog”)

例子

获取Go 1.21至Go 1.24的所有更新

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "go-updates",
    "arguments": {
      "version": "1.21"
    }
  }
}

从Go 1.20获取切片包特定更新

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "go-updates",
    "arguments": {
      "version": "1.20",
      "package": "slices"
    }
  }
}

响应格式

该工具返回针对LLM消费优化的结构化Markdown输出:

  • 层次结构:清晰的标题(#, ##, ###)便于导航
  • 摘要部分:变化及其影响概述
  • 版本特定章节:按时间顺序组织的语言和库更改
  • 代码高亮:中的函数名称 `backticks` 以及示例 go code blocks
  • 增强可读性: 加粗 强调重要项目和正确的Markdown格式

数据覆盖

全面的Go版本支持:

  • Go 1.13到Go 1.24(12个版本)
  • 从旧版本到最新功能的完整覆盖

嵌入式数据包括:

  • 语言特性:新的语法、构造和语言改进
  • 标准库更新:软件包添加、增强和新API
  • 现代套餐:切片、贴图、log/slog、go/version和其他go 1.21+添加项
  • 运行时改进:性能优化和内存管理
  • 工具链增强功能:构建系统、模块系统和开发人员工具更新
  • 最佳实践建议:现代模式和升级指导

贡献

捐款真的很受欢迎。请随意发出问题或拉取请求。

发展

# 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

许可证

麻省理工学院

作者

滕科(使用克劳德十四行诗4)