这是一个专注于Go语言的模型上下文协议(MCP)服务器,提供符合Go语言习惯的代码生成、样式指南和最佳实践。此工具帮助语言模型理解和生成遵循既定模式和惯例的高质量Go代码。
注意:该项目正在积极开发中。当前正在实现以下功能:
- 特定于Go的代码模式识别和生成
- 符合Go语言习惯的代码风格强制执行
- Go项目结构模板
该项目遵循干净架构原则,并设计为可扩展性。
模型上下文协议(MCP)使用github.com/metoro-io/mcp-golang库实现。该服务器:
go install github.com/ksysoev/mcp-go-tools/cmd/mcp-go-tools@latest
mcp-go-tools [命令] [标志]
有关详细用法示例和模式,请参阅USAGE.md。
使用指定的配置启动MCP服务器:
mcp-go-tools start --config config.yaml
运行服务器并将日志写入文件而不是stdout:
# JSON格式(默认)
mcp-go-tools start --config config.yaml --log-file=server.log
# 文本格式并启用调试级别以跟踪请求
mcp-go-tools start --config config.yaml --log-file=server.log --log-text --log-level=debug
注意:当提供--log-file时,日志将仅写入指定的文件,而不是stdout。
应用程序遵循典型的Go项目中的干净分层架构:
API层 (pkg/api)
核心层 (pkg/core)
存储库层 (pkg/repo)
命令层 (pkg/cmd)
--config string 配置文件路径
--log-level string 日志级别(debug, info, warn, error)(默认值:"info")
--log-text 使用文本格式的日志,否则为JSON
--log-file string 日志文件路径(如果设置,则日志写入stdout)
该工具支持通过JSON/YAML文件进行配置。使用--config标志指定配置文件路径。请参阅example.config.yaml以获取特定于Go的模式和规则。
.
├── cmd/
│ └── mcp-go-tools/ # 主应用程序入口点
├── pkg/
│ ├── api/ # API服务实现
│ ├── cmd/ # 命令实现
│ ├── core/ # 核心业务逻辑
│ └── repo/ # 数据存储库
该项目正在积极开发中,包含以下组件:
go build -o mcp-go-tools ./cmd/mcp-go-tools
go test ./...
要使用此MCP服务器与Cline一起使用,请将其添加到Cline的MCP设置中
在设置文件中的mcpServers对象中添加以下配置:
{
"mcpServers": {
"code-tools": {
"command": "mcp-go-tools",
"args": ["server", "--config=/Users/user/mcp-go-tools/example.config.yaml"],
"env": {}
}
}
}
自定义指令示例:
使用项目模板初始化新的GoLang应用程序,在MCP服务器code-tools的`codestyle`类别中可用`template`
每次需要生成代码时,请使用MCP服务器code-tools的`codestyle`类别`code`、`documentation`、`testing`
向MCP服务器code-tool发出请求的示例:
{
"method": "tools/call",
"params": {
"name": "codestyle",
"arguments": {
"categories": "testing" #逗号分隔列表
},
}
}
在完成任务之前,您应该运行`golangci-lint`并递归解决所有问题直到所有问题都得到修复
要解决字段对齐问题,您可以使用`fieldalignment -fix ./...`
本项目根据MIT许可证发布 - 详情请参阅LICENSE文件。