返回市场
最近Go MCP

最近Go MCP

作者:tenkoh3 星标更新:2025-10-17

项目介绍

最近的Go MCP服务器

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

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

通知 此工具的输出可能会在某些MCP主机上(如Claude Code)变得过大。 我将很快为此工具添加分页功能。

特性

  • 🔄 全面版本支持:支持Go 1.13至1.24(12个版本)
  • 📦 特定包过滤:获取特定标准库包的更新(如net/http、slices、maps、log/slog等)
  • 📚 丰富信息:包括示例、影响评估和升级建议
  • 📝 Markdown格式:优化的结构化输出,适合LLM消费,大小减少约70%
  • 🚀 单一可执行文件:所有发布数据通过go:embed嵌入,便于部署

集成

与Claude Desktop集成

在您的MCP配置中添加:

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

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

与其他MCP客户端集成

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

使用方法

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

工具:go-updates

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

参数:

  • version(必需):要检查更新的Go版本(支持:"1.13"至"1.24")
  • package(可选):特定的标准库包以过滤更新(例如:"net/http","slices","maps","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中slices包的具体更新

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

响应格式

该工具返回优化的结构化Markdown输出,适合LLM消费:

  • 层次结构:清晰的标题(######)以便于导航
  • 概要部分:变更概述及其影响
  • 版本特定部分:按时间顺序组织的语言和库变更
  • 代码高亮:函数名用`反引号`包裹,示例用Go代码块包裹
  • 增强可读性:重要项目用粗体强调,并正确使用Markdown格式

数据覆盖范围

全面的Go版本支持:

  • Go 1.13至Go 1.24(12个版本)
  • 从旧版本到最新特性的全面覆盖

嵌入的数据涵盖:

  • 语言特性:新的语法、构造和语言改进
  • 标准库更新:包的添加、增强和新API
  • 现代包:slices、maps、log/slog、go/version和其他Go 1.21+的新增内容
  • 运行时改进:性能优化和内存管理
  • 工具链增强:构建系统、模块系统和开发工具更新
  • 最佳实践推荐:现代模式和升级指导

贡献

欢迎贡献。请随意创建问题或拉取请求。

开发

# 运行所有测试(包括MCP协议测试)
go test ./...

# 特别运行MCP服务器集成测试
go test -v -run TestMCPServer

# 构建服务器
go build -o recent-go-mcp

# 使用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

许可证

MIT

作者

tenkoh(使用Claude Sonnet 4)