Given a fixed constraint language $\Gamma$, the conservative CSP over $\Gamma$ (denoted by c-CSP($\Gamma$)) is a variant of CSP($\Gamma$) where the domain of each variable can be restricted arbitrarily. A dichotomy is known for conservative CSP: for every fixed language $\Gamma$, c-CSP($\Gamma$) is either in P or NP-complete. However, the characterization of conservatively tractable languages is of algebraic nature and the naive recognition algorithm is super-exponential in the domain size. The main contribution of this paper is a polynomial-time algorithm that, given a constraint language $\Gamma$ as input, decides if c-CSP($\Gamma$) is tractable. In addition, if $\Gamma$ is proven tractable the algorithm also outputs its coloured graph, which contains valuable information on the structure of $\Gamma$.