MCP Catalogs
Home

mcp-go

by XiaoConstantine·10·Score 37

Go implementation of MCP protocol with client and server components, supporting stdio and HTTP transports.

developer-toolsai-llmother
1
Forks
3
Open issues
5 mo ago
Last commit
2d ago
Indexed

Overview

MCP-Go is a comprehensive implementation of the Model Context Protocol in Go, providing both client and server functionality. It supports multiple transport layers including stdio and HTTP, with complete type definitions and utilities for building MCP-enabled applications. The library includes example implementations for Git and shell operations, demonstrating practical usage patterns.

Try asking AI

After installing, here are 5 things you can ask your AI assistant:

you:Building Go-based MCP servers that expose system tools as MCP capabilities
you:Creating Go clients to integrate with existing MCP servers
you:Developing context providers that bridge Go systems with LLM clients
you:What MCP features does this implementation support?
you:How can I add custom tools to my MCP server?

When to choose this

Choose MCP-Go if you're developing Go applications that need to implement MCP servers or clients, especially when you require control over transport protocols or need to integrate with existing Go-based infrastructure.

When NOT to choose this

Don't choose MCP-Go if you're working primarily in other languages, as there are more mature implementations available for Python and JavaScript ecosystems.

Comparable tools

mcp-pythonmcp-jsmcp-rust

Installation

go get github.com/XiaoConstantine/mcp-go

For Claude Desktop, add to claude_desktop_config.json:

{
  "mcpServers": {
    "mcp-go": {
      "command": "go",
      "args": ["run", "github.com/XiaoConstantine/mcp-go"]
    }
  }
}

FAQ

What MCP features does this implementation support?
MCP-Go supports core features including resource discovery and reading, tool invocation, prompt templates, notification system for resource updates, and structured logging.
How can I add custom tools to my MCP server?
You can register custom tools using the mcpServer.RegisterTools() method, implementing the tool handler interface defined in the package.

Compare mcp-go with

GitHub →

Last updated · Auto-generated from public README + GitHub signals.