mcp-golang
@metoro-io
About mcp-golang
Write Model Context Protocol servers in few lines of go code. Docs at https://mcpgolang.com . Created by https://metoro.io
Basic information
Config
No standard config provided
This server doesn't expose a parseable MCP config block in its README. See the repository for install instructions.
RepositoryTools
No tools detected
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Overview
What is mcp-golang?
mcp-golang is an unofficial Go implementation of the Model Context Protocol (MCP) that allows developers to write MCP servers and clients in Go with minimal code. It is designed for Go developers who want to integrate AI tools, prompts, and resources using type-safe native Go structs and flexible transport options.
How to use mcp-golang?
Install the library with go get github.com/metoro-io/mcp-golang. Then create an MCP server by defining tool arguments as Go structs, registering tools/prompts/resources, and choosing a transport (stdio, HTTP, Gin, or SSE). A client can be initialized similarly to call tools or prompts on a running server. Integration with Claude Desktop requires pointing to the compiled server executable in the Claude desktop configuration JSON.
Key features of mcp-golang
- Type safety: tool arguments as native Go structs with automatic JSON schema generation
- Custom transports: built-in stdio, HTTP, Gin, SSE, and custom transport support
- Low boilerplate: automatic MCP endpoint generation for tools, prompts, and resources
- Modular: separate transport, protocol, and server/client components
- Bidirectional: full server and client implementations via stdio transport
Use cases of mcp-golang
- Build MCP servers for Claude Desktop or other MCP-compatible AI clients
- Create type-safe, programmable tools and prompts exposed via MCP
- Develop a client that calls remote MCP server tools and resources
- Integrate MCP into existing Go applications for AI interaction
FAQ from mcp-golang
Does HTTP transport support bidirectional features like notifications?
No, HTTP transports are stateless and do not support notifications or other bidirectional features. Use stdio transport if those are needed.
What transports are currently available?
Stdio (full feature support), HTTP and Gin (stateless), SSE, and a custom transport interface are available. HTTPS with custom auth is in progress.
Can I use mcp-golang with Claude Desktop?
Yes. Configure the server executable path in Claude Desktop's claude_desktop_config.json under mcpServers.
Is mcp-golang production-ready?
The library supports all core MCP features (tools, prompts, resources) with pagination and change notifications. HTTP transport is stateless; HTTPS with custom auth is under development. Contributions are welcome.
More Other MCP servers
ghidraMCP
LaurieWiredMCP Server for Ghidra
Blender
ahujasidOpen-source MCP to use Blender with any LLM
Reactive Resume
amruthpillaiA one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. Try it out today!
Awesome Mlops
visengerA curated list of references for MLOps

Sequential Thinking
modelcontextprotocolModel Context Protocol Servers
Comments