MCP GO Tools logo

MCP GO Tools

by ksysoev

A Go-focused Model Context Protocol (MCP) server that provides idiomatic Go code generation, style guidelines, and best practices. This tool helps Language Models understand and generate high-quality Go code following established patterns and conventions.

View on GitHub

Last updated: N/A

What is MCP GO Tools?

MCP GO Tools is a Go-focused Model Context Protocol (MCP) server designed to provide idiomatic Go code generation, style guidelines, and best practices. It aids Language Models in understanding and generating high-quality Go code that adheres to established patterns and conventions.

How to use MCP GO Tools?

Install the tool using go install github.com/ksysoev/mcp-go-tools/cmd/mcp-go-tools@latest. Start the server using mcp-go-tools start --config config.yaml. Configure the server using YAML/JSON files. Integrate with Cline by adding the server configuration to Cline's MCP settings.

Key features of MCP GO Tools

  • Go-specific code generation and style guidelines

  • Command-line interface built with Cobra

  • Flexible configuration using YAML/JSON files

  • Structured logging with slog

  • Server management commands

  • Signal handling for graceful shutdown

Use cases of MCP GO Tools

  • Generating idiomatic Go code for new projects

  • Enforcing consistent code style across a Go codebase

  • Providing code templates for common Go patterns

  • Integrating Go code generation into Language Model workflows

FAQ from MCP GO Tools

What is the Model Context Protocol (MCP)?

The Model Context Protocol (MCP) is implemented using the github.com/metoro-io/mcp-golang library. The server uses stdio transport for communication, supports graceful shutdown, handles concurrent operations using errgroups, and provides Go-specific code generation tools.

How do I configure the server?

The tool supports configuration via a JSON/YAML file. Specify the config file path using the --config flag.

How do I enable file logging?

Run the server with the --log-file flag to write logs to a file instead of stdout. You can also specify the log format and level using --log-text and --log-level flags.

What are the dependencies of this project?

The project depends on Go 1.23.4 or higher, github.com/metoro-io/mcp-golang, github.com/spf13/cobra, github.com/spf13/viper, and golang.org/x/sync.

How do I use this with Cline?

Add the server configuration to Cline's MCP settings, specifying the command, arguments, and environment variables.