Labsco
MCP SERVER

Linear Regression MCP

by HeetVekariya

Upload a CSV and walk an assistant through the whole linear-regression loop — inspect columns, encode categoricals, train, get RMSE.

Physical Sciences & Scientific Computing
Summary
The preprocessing steps are separate tools, which is why it works.

Splitting "look at the columns", "check for categoricals" and "encode them" into distinct calls means the assistant has to inspect the data before it trains, and you can see each decision. Scope is exactly one model type and one metric — linear regression, RMSE — so treat it as a teaching and quick-exploration tool rather than a modelling stack.

What it is

An MCP server that gives an assistant the five steps of a linear-regression workflow as separate tools. You hand it a CSV path; it can then tell you what columns exist, whether any are categorical, encode those to numbers, and train a model against the target column you name, returning the RMSE. Each step is its own call, so the model decides the order and you see what it did.

What you get
  • A CSV taken in by absolute path and held for the rest of the session — `upload_file`
  • The column names of the loaded dataset, so the assistant is not guessing at the schema — `get_columns_info`
  • A check for categorical columns before anything numeric is attempted — `check_category_columns`
  • Those columns label-encoded into numeric values in place — `label_encode_categorical_columns`
  • A linear regression trained against a target column you name, answered with the RMSE — `train_linear_regression_model`
Requirements

No account and no key; everything runs locally against a file you point at. Clone the repository, install `uv`, run `uv sync`, then register it in `claude_desktop_config.json` with absolute paths to both the `uv` binary and the project directory, running `server.py`. The CSV path passed to the upload tool must also be absolute.