AH

akhilraghav0/hamr

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

21 stars 2 forks 品質 66 トレンド 14MIT

MCP サーバーを構築するGoフレームワーク。 structタグはスキーマです.

概要

hamr ビルド MCP サーバー で Go. トークンコストを最適化しました。 MCP (Model Context Protocol) は、Claude、Cursor、Windsurf 呼び出し外部ツールなどの AI アシスタントを可能にします。 MCP サーバーは基本的に、AI に物事を行う機能を提供するプラグインです。データベースをクエリし、Kubernetes クラスターをチェックし、必要なコードベースを検索します。 問題は、MCP サーバーを囲むことで、ボイラプレートのトンを書くことを意味することです。 手動で JSON スキーマを定義し、JSON-RPC フラミングを処理し、入力をパースし、検証し、転送を自動化し、エラーを管理する必要があります。実際のロジックを取得する前に 200 以上の式で終わる必要があります。 ハムはそれを修正します。. 入力用のGo struct、ロジックの関数、および1行の登録を行います。 hamr はスキーマの生成、検証、輸送、ミドルウェア、全プロトコルを処理します。 structタグはスキーマです。 Cobra ではなく、CLI アプリケーションではなく、MCP サーバーのように考えます。 です.

概要(AI 翻訳)

ハムラー Go で MCP サーバーを構築します。トークンコストを最適化します。

お問い合わせ

これは何ですか?

MCP (Model Context Protocol) は、Claude、Cursor、Windsurf 呼び出し外部ツールなどの AI アシスタントを可能にします。 MCP サーバは、基本的には、AI に do thing という機能を与えるプラグインです。データベースをクエリし、Kubernetes クラスターをチェックし、必要なコードベースを検索します。

問題は、MCP サーバーを囲むことで、ボイラプレートのトンを書くことを意味することです。 手動で JSON スキーマを定義し、JSON-RPC フラミングを処理し、入力をパースし、検証し、転送を自動化し、エラーを管理する必要があります。実際のロジックを取得する前に 200 以上の式で終わる必要があります。

ハムはそれを修正します。. 入力用のGo struct、ロジックの関数、および1行の登録を行います。 hamr はスキーマの生成、検証、輸送、ミドルウェア、全プロトコルを処理します。 struct タグ are スキーマ。

Cobra ではなく、CLI アプリケーションではなく、MCP サーバーのように考えます。

コードを表示

MCP サーバを完全で動作させる:

です。 ビルドして、Claudeデスクトップをバイナリでポイントし、Claudeは検索ツールを呼び出すことができます.

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。

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())
}
GitHub で README 全文を見る

インストール

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" } } }