
akhilraghav0/hamr
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
The Go framework for building MCP servers. Your struct tags are your schema.
개요
hamr Build MCP servers in Go. Optimized for token cost. MCP (Model Context Protocol) lets AI assistants like Claude, Cursor, and Windsurf call external tools. An MCP server is basically a plugin that gives AI the ability to do things — query your database, check your Kubernetes cluster, search your codebase, whatever you need. The problem is that building an MCP server in Go means writing a ton of boilerplate. You have to manually define JSON schemas, handle JSON-RPC framing, parse and validate inputs, wire up transport, manage errors — and you end up with 200+ lines of ceremony before you even get to your actual logic. hamr fixes that. You write a Go struct for your input, a function for your logic, and one line to register it. hamr handles everything else — schema generation, validation, transport, middleware, the whole protocol. Your struct tags are your schema. Think of it like Cobra but for MCP servers instead of CLI apps. That's it.
README
원문 README의 일부입니다. 원문 보기.
hamr Build MCP servers in Go. Optimized for token cost.
What is this?
MCP (Model Context Protocol) lets AI assistants like Claude, Cursor, and Windsurf call external tools. An MCP server is basically a plugin that gives AI the ability to do things — query your database, check your Kubernetes cluster, search your codebase, whatever you need.
The problem is that building an MCP server in Go means writing a ton of boilerplate. You have to manually define JSON schemas, handle JSON-RPC framing, parse and validate inputs, wire up transport, manage errors — and you end up with 200+ lines of ceremony before you even get to your actual logic.
hamr fixes that. You write a Go struct for your input, a function for your logic, and one line to register it. hamr handles everything else — schema generation, validation, transport, middleware, the whole protocol. Your struct tags are your schema.
Think of it like Cobra but for MCP servers instead of CLI apps.
Show me the code
Here’s a complete, working MCP server:
package main
import (
"context"
"log"
"github.com/AKhilRaghav0/hamr"
)
type SearchInput struct {
Query string `json:"query" desc:"search query"`
MaxResults int `json:"max_results" desc:"max results" default:"10"`
Format string `json:"format" desc:"output format" enum:"json,text,csv"`
}
func Search(ctx context.Context, input SearchInput) (string, error) {
// your actual search logic here
return "results for: " + input.Query, nil
}
func main() {
s := hamr.New("my-server", "1.0.0")
s.Tool("search", "Search for information", Search)
log.Fatal(s.Run())
}
설치
This server does not publish a one-line install command.
Open the repository installation guide MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →설정
{
"mcpServers": {
"my-server": {
"command": "/absolute/path/to/my-server"
}
}
}