package tools import ( "context" "github.com/modelcontextprotocol/go-sdk/mcp" "git.warky.dev/wdevs/amcs/internal/buildinfo" ) type VersionTool struct { serverName string info buildinfo.Info } type GetVersionInfoInput struct{} type GetVersionInfoOutput struct { ServerName string `json:"server_name"` Version string `json:"version"` TagName string `json:"tag_name"` Commit string `json:"commit"` BuildDate string `json:"build_date"` } func NewVersionTool(serverName string, info buildinfo.Info) *VersionTool { return &VersionTool{ serverName: serverName, info: info, } } func (t *VersionTool) GetInfo(_ context.Context, _ *mcp.CallToolRequest, _ GetVersionInfoInput) (*mcp.CallToolResult, GetVersionInfoOutput, error) { if t == nil { return nil, GetVersionInfoOutput{}, nil } return nil, GetVersionInfoOutput{ ServerName: t.serverName, Version: t.info.Version, TagName: t.info.TagName, Commit: t.info.Commit, BuildDate: t.info.BuildDate, }, nil }