mcp-go
by XiaoConstantine·★ 10·Score 37
Go implementation of MCP protocol with client and server components, supporting stdio and HTTP transports.
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:
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
Installation
go get github.com/XiaoConstantine/mcp-goFor 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
Last updated · Auto-generated from public README + GitHub signals.