Independent by design · no pay-to-rank placements  · How we evaluate tools →
Anclum Submit
M

metoro-io/mcp-golang

Write an MCP server in a few lines of Go

Before you install: no copy-paste command · no license recorded · link reachable

First step: nothing runnable here yet - start from the repository: https://github.com/metoro-io/mcp-golang

View on GitHub ↗Link checked 2026-11-12 · HTTP 200 · opens the vendor's own site

We have neither an install command nor a public remote endpoint from this repository, so we do not print a config. A made-up one is worse than none. How each client wires MCP up →

Source
collected from the abordage/awesome-mcp list · type: MCP server
Harvest history
first seen 2026-11-05 · last seen 2026-11-14 · seen 10× · listed by 10 sources
Score
score 1,003 · 10 sources · mcp
FAQ (answers come from our records)
Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
first catalogued 2026-11-05;last seen 2026-11-14。There is no official certification or quality rating here — we record sources and dates only.

# mcp-golang

以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →

mcp-golang is an unofficial implementation of the Model Context Protocol in Go.
Write MCP servers and clients in golang with a few lines of code.
Docs at https://mcpgolang.com
## Highlights
🛡️Type safety - Define your tool arguments as native go structs, have mcp-golang handle the rest. Automatic schema generation, deserialization, error handling etc.
🚛 Custom transports - Use the built-in transports (stdio for full feature support, HTTP for stateless communication) or write your own.
⚡ Low boilerplate - mcp-golang generates all the MCP endpoints for you apart from your tools, prompts and resources.
🧩 Modular - The library is split into three components: transport, protocol and server/client. Use them all or take what you need.
🔄 Bi-directional - Full support for both server and client implementations through stdio transport.
## Example Usage
Install with go get github.com/metoro-io/mcp-golang
### Server Example
go
package main
import (
"fmt"
"github.com/metoro-io/mcp-golang"
"github.com/metoro-io/mcp-golang/transport/stdio"
// Tool arguments are just structs, annotated with jsonschema tags
// More at https://mcpgolang.com/tools#schema-generation
type Content struct {
Title string json:"title" jsonschema:"required,description=The title to submit"
Description string json:"description" jsonschema:"description=The description to submit"
type MyFunctionsArguments struct {
Submitter string json:"submitter" jsonschema:"required,description=The name of the thing calling this tool (openai, google, claude, etc)"
Content Content json:"content" jsonschema:"required,description=The content of the message"
func main() {
done := make(chan struct{})
server := mcpgolang.NewServer(stdio.NewStdioServerTransport())
err := server.RegisterTool("hello", "Say hello to a person", func(arguments MyFunctionsArguments) (mcpgolang.ToolResponse, error) {
return mcpgolang.NewToolResponse(mcpgolang.NewTextContent(fmt.Sprintf("Hello, %server!", arguments.Submitter))), nil
})
if err != nil {
panic(err)
err = server.RegisterPrompt("promttest", "This is a test prompt", func(arguments Content) (mcpgolang.PromptResponse, error) {
return mcpgolang.NewPromptResponse("description", mcpgolang.NewPromptMessage(mcpgolang.NewTextContent(fmt.Sprintf("Hello, %server!", arguments.Title)), mcpgolang.RoleUser)), nil
})
if err != nil {
panic(err)
err = server.RegisterResource("test://resource", "resourcetest", "This is a test resource", "application/json", func() (mcpgolang.ResourceResponse, error) {
return mcpgolang.NewResourceResponse(mcpgolang.NewTextEmbeddedResource("test://resource", "This is a test resource", "application/json")), nil
})
err = server.Serve()
if err != nil {
panic(err)
0 {
log.Printf("Result: %s", response.Content[0].TextContent.Text)
### Using with Claude Desktop
Create a file in ~/Library/Application Support/Claude/claudedesktopconfig.json with the following contents:
json
"mcpServers": {
"golang-mcp-server": {
Listed badge (optional)
Copy this line into the README if you want the listing mark. Optional, and it does not affect being listed.
[![Listed on Anclum](https://anclum.com/badge/listed.svg)](https://anclum.com/en/s/metoro-io-mcp-golang/)
Source
awesome · https://github.com/metoro-io/mcp-golang
Browse by field
MCP servers
Listed by
10 independent sources
added
today

More like this

All 6,229 →

Filed under

Every tag opens the full list for that filter. Counts are the live catalogue figures.

Browse all fields →

← Back to index