datarust-mcp
by genc-murat
README.md
# datarust workspace
This repository is a **Cargo workspace** hosting the datarust ecosystem: a
collection of independent, separately-versioned crates for classical
data-science and machine-learning workloads in Rust.
## Crates
| Crate | Path | Description |
|---|---|---|
| **[datarust]** | [`crates/datarust/`](crates/datarust) | Scikit-learn-style preprocessing and classical ML in Rust. Standard/minmax/robust scalers, encoders, imputers, PCA, linear models, decision trees & random forests (bit-exact sklearn parity), clustering, pipelines — zero external dependencies by default. |
| **[datarust-profile]** | [`crates/datarust-profile/`](crates/datarust-profile) | One-call data profiling and data-quality reports. Column statistics, distribution shape, pairwise relationships (Pearson, Cramér's V, point-biserial), target-leakage hints, quality findings, CSV ingestion, single-pass streaming, a CLI — HTML/JSON/terminal output. |
| **[datarust-mcp]** | [`crates/datarust-mcp/`](crates/datarust-mcp) | Model Context Protocol (MCP) server implementation for Claude Desktop, Cursor, and AI agents. Exposes data profiling, training, and preprocessing over stdio JSON-RPC. |
Each crate has its own `README.md`, `CHANGELOG.md`, version, and release track,
and is published independently to crates.io.
## Model Context Protocol (MCP) Server
This repository contains the official MCP server implementation in [`crates/datarust-mcp`](crates/datarust-mcp).
### Running Locally (Stdio)
```sh
cargo run --release -p datarust-mcp
```
### Claude Desktop / Cursor Setup
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"datarust": {
"command": "cargo",
"args": ["run", "--release", "--manifest-path", "/path/to/datarust/Cargo.toml", "-p", "datarust-mcp"]
}
}
}
```
### Available Tools
- `profile_dataset`: Profiles CSV data, computing descriptive stats, distribution shapes, and quality checks.
- `train_linear_regression`: Fits OLS linear regression with exact scikit-learn parity.
- `scale_features`: Feature scaling via StandardScaler, MinMaxScaler, or RobustScaler.
- `evaluate_metrics`: Computes R², MSE, RMSE, MAE, and accuracy metrics.
## Agent Platform Configs & Official Skills
This repository provides pre-configured agent instructions and official Agent Skills for autonomous coding agents:
- **Cursor Rules:** [`.cursorrules`](.cursorrules) & [`.cursor/rules/datarust.mdc`](.cursor/rules/datarust.mdc)
- **Claude Instructions:** [`CLAUDE.md`](CLAUDE.md) & [`.claude/CLAUDE.md`](.claude/CLAUDE.md)
- **Windsurf Rules:** [`.windsurf/rules/rules.md`](.windsurf/rules/rules.md)
- **Copilot Instructions:** [`.github/copilot-instructions.md`](.github/copilot-instructions.md)
- **Agent Plugins Manifest:** [`plugin.json`](plugin.json)
- **Official Skills (skills.sh):** [`skills.json`](skills.json) — self-published skills in [`skills/`](skills/):
- [`data-profiling`](skills/data-profiling/SKILL.md)
- [`classical-ml`](skills/classical-ml/SKILL.md)
## Documentation
- **Website:** <https://datarust.dev>
- **Developer Portal:** <https://datarust.dev/developers/>
- **Docs (book):** [`book/`](book) — rendered at <https://datarust.dev/docs/>
- **MCP Server:** <https://datarust.dev/docs/mcp/> — verified listing on [Smithery](https://smithery.ai/server/@genc-murat/datarust)
- **OpenAPI 3.1 Spec:** <https://datarust.dev/openapi.json>
- **Blog:** [`blog/`](blog) — release stories and field notes
- **Architecture:** [`crates/datarust/ARCHITECTURE.md`](crates/datarust/ARCHITECTURE.md)
- **Roadmap:** [`crates/datarust/ROADMAP.md`](crates/datarust/ROADMAP.md)
## Working in this workspace
```sh
# Build / test every crate
cargo build --workspace
cargo test --workspace
# Work on a single crate
cargo test -p datarust --all-features
cargo test -p datarust-profile --features serde
# Build the static docs/blog site (Node 22+)
npm install
npm run build && npm run check
```
The workspace root `Cargo.toml` carries a `[patch.crates-io]` entry that points
`datarust-profile` at the local source tree of `datarust` during development.
This patch is ignored by `cargo publish`, so published crates depend on the
crates.io release as normal.
## License
MIT — see each crate's `LICENSE`.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues