package tools import ( "context" "github.com/modelcontextprotocol/go-sdk/mcp" "git.warky.dev/wdevs/amcs/internal/store" thoughttypes "git.warky.dev/wdevs/amcs/internal/types" ) type GetTool struct { store *store.DB } type GetInput struct { ID string `json:"id" jsonschema:"the thought id"` } type GetOutput struct { Thought thoughttypes.Thought `json:"thought"` } func NewGetTool(db *store.DB) *GetTool { return &GetTool{store: db} } func (t *GetTool) Handle(ctx context.Context, _ *mcp.CallToolRequest, in GetInput) (*mcp.CallToolResult, GetOutput, error) { id, err := parseUUID(in.ID) if err != nil { return nil, GetOutput{}, err } thought, err := t.store.GetThought(ctx, id) if err != nil { return nil, GetOutput{}, err } return nil, GetOutput{Thought: thought}, nil }