What are Contexts in Lambda Calculus?
Typing contexts are the way to remember previously declared variables when type-checking a program/term. The rule for term abstraction usually is something like
$$\dfrac{\Gamma,x:A\vdash e : B}{\Gamma\vdash \lambda x.e : A\to B}$$
In the conclusion, $x$ is not in $\Gamma$ yet. At this point, $x$ is declared to be the variable of the function $\lambda x.e$ and this variable appears in $e$. So, $x$ is a free variable in $e$. The typing rule above expresses that $\lambda x.e$ is of type $A\to B$ under context $\Gamma$ iff $e$ is of type $B$ under context $\Gamma,x:A$. So in the premise of the rule, we are type-checking the body of $\lambda x.e$ (which is $e$), but we need to remember that $x$ (which appears free in $e$) is a variable of type $A$.