Mcp Go Tools

Mcp Go Tools

🚀 MCP-GO 工具项目文档翻译

MCP-GO 工具是一个基于 Go 语言的模型上下文协议(MCP)服务器,能助力语言模型更高效地理解和生成高质量的 Go 代码,遵循既定的模式和惯例。

🚀 快速开始

MCP-GO 工具是一款强大的基于 Go 语言的 MCP 服务器,它提供了符合 Go 风格的代码生成、样式指南和最佳实践,能帮助语言模型更好地理解和生成高质量的 Go 代码。

✨ 主要特性

  1. Go 代码生成:支持基于模板的代码生成,确保代码质量。
  2. 样式指南集成:提供符合 Go 风格的代码样式检查和调整。
  3. Cobra CLI 支持:使用流行的 Go 命令行框架,命令结构清晰。
  4. 配置管理:支持 YAML/JSON 格式的配置文件,便于定制工具行为。
  5. 日志记录:采用 slog 库实现结构化日志,支持多种输出格式和日志级别。
  6. 服务器管理:提供丰富的服务器管理命令,并支持信号处理。

📦 安装指南

要安装 MCP-GO 工具,请运行以下命令:

go install -o mcp-go-tools ./cmd/mcp-go-tools

💻 使用示例

基础用法

启动服务器

mcp-go-tools server --config ./config.yaml

配置日志输出

# 输出到文件,使用 JSON 格式
mcp-go-tools server --log-file /var/log/mcp-go.log --log-format json

高级用法

集成到 Cline 工具链

要在 Cline 工具链中使用 MCP-GO 工具,可以按照以下方式进行配置:

{
"mcp-go": {
"host": "localhost",
"port": 8080,
"config": "./config.yaml"
}
}

📚 详细文档

MCP 协议

该项目使用了 github.com/metoro-io/mcp-golang 库来实现 MCP 协议。服务器实现了以下功能:

  • stdio 传输:通过标准输入输出进行通信。
  • 优雅关闭:支持服务器的优雅关闭,确保无数据丢失。
  • 并发处理:利用 Go 的 golang.org/x/sync 包处理并发请求。
  • 代码生成工具:提供特定于 Go 的代码生成功能。

项目架构

MCP-GO 工具遵循 Clean Architecture 设计原则,分为以下几层:

  1. API 层:负责 MCP 协议的通信、服务器生命周期管理和 API 接口定义。
  2. 核心逻辑层:处理代码模式识别、样式规则管理等关键业务逻辑。
  3. 仓库层:管理数据模板和配置文件,提供持久化支持。
  4. 命令行层:实现 CLI 命令,负责参数解析和命令执行。

配置指南

全局标志

  • --config:指定配置文件路径,默认为当前目录下的 config.yaml
  • --log-level:设置日志级别,可选值包括 debug、info、warning、error,默认为 info。
  • --log-format:指定日志输出格式,支持 json 和 plain,默认为 plain。
  • --log-file:指定日志文件路径,默认为标准输出。

配置文件示例

# 基本配置
global:
log_level: info
log_format: plain
log_file: ./mcp-go.log

# 服务器配置
server:
host: "127.0.0.1"
port: 8080

# 其他自定义配置
custom:
enable_cache: true
cache_timeout: 3600

项目结构

项目的目录结构如下:

.
├── cmd/
│   └── mcp-go-tools/
│       ├── main.go        # 主程序入口
│       └── command/      # 各自的命令实现
├── core/
│   └── code_generator.go  # 核心代码生成逻辑
└── repo/
└── template.go         # 模板管理与加载

依赖项

  • Go 版本:1.23.4 或更高版本
  • MCP 协议实现:github.com/metoro-io/mcp-golang
  • 命令行框架:github.com/spf13/cobra
  • 配置管理:github.com/spf13/viper
  • 同步与并发:golang.org/x/sync

开发指南

贡献代码

如果您希望为 MCP-GO 工具贡献力量,请参考以下步骤:

  1. Fork 该项目到您的 GitHub 账户。
  2. 创建功能分支,提交代码更改。
  3. 提交 Pull Request 到原项目。

问题反馈

如遇任何问题或发现 bug,请在 GitHub 仓库 Issues 区提交问题报告。

📄 许可证

MCP-GO 工具遵循 MIT 许可证,允许用户自由使用、修改和分发代码。

  • 0 关注
  • 0 收藏,30 浏览
  • system 提出于 2025-10-02 00:45

相似服务问题

相关AI产品