MCP.so
Sign In

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

Category

Other

License

MIT

Runtime

go

Transports

stdio

Publisher

metoro-io

Config

No standard config provided

This server doesn't expose a parseable MCP config block in its README. See the repository for install instructions.

Repository

Tools

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.

Comments

More Other MCP servers