package tools import ( "context" "github.com/modelcontextprotocol/go-sdk/mcp" "git.warky.dev/wdevs/amcs/internal/store" ) type DeleteTool struct { store *store.DB } type DeleteInput struct { ID string `json:"id" jsonschema:"the thought id"` } type DeleteOutput struct { Deleted bool `json:"deleted"` } func NewDeleteTool(db *store.DB) *DeleteTool { return &DeleteTool{store: db} } func (t *DeleteTool) Handle(ctx context.Context, _ *mcp.CallToolRequest, in DeleteInput) (*mcp.CallToolResult, DeleteOutput, error) { id, err := parseUUID(in.ID) if err != nil { return nil, DeleteOutput{}, err } if err := t.store.DeleteThought(ctx, id); err != nil { return nil, DeleteOutput{}, err } return nil, DeleteOutput{Deleted: true}, nil }