mcp-limsdq
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-limsdqValidate this week's assay export against our schema and flag anything odd."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-limsdq
An MCP (Model Context Protocol) server that gives AI assistants lab/LIMS data-quality superpowers: validate CSV exports against a schema, infer schemas from example files, profile a dataset, and diff before/after exports for migration or ETL parity checks.
Built for the lab-informatics workflow where a bad CSV silently poisons everything downstream. Instead of eyeballing exports, ask your assistant to check the file first.
Tools
Tool | What it does |
| Infer column dtypes, required flags, numeric ranges, censored-value detection, and allowed-value lists from an example CSV |
| Validate a CSV against a JSON schema; returns per-cell issues with codes |
| Row-level diff of two exports aligned on a key column (migration/ETL parity) |
| Per-column summary: counts, uniques, censored values, min/max/mean or top values |
Issue codes: MISSING_REQUIRED, TYPE_MISMATCH, OUT_OF_RANGE, NOT_ALLOWED, CENSORED_NOT_ALLOWED, UNKNOWN_COLUMN.
Censored lab tokens (ND, BQL, BDL, <0.01, TNTC, ...) are first-class: schemas can allow them per column instead of failing validation.
Related MCP server: DataClaw MCP Server
Install
pip install mcp-limsdqRequires Python 3.10+.
Use with Claude Desktop
Add to your MCP config (claude_desktop_config.json):
{
"mcpServers": {
"lims-dq": {
"command": "mcp-limsdq",
"args": ["serve"]
}
}
}Then ask: "Validate this week's assay export against our schema and flag anything odd."
Schema format
{
"allow_extra_columns": false,
"columns": [
{"name": "sample_id", "dtype": "string", "required": true},
{"name": "result", "dtype": "float", "required": true,
"min": 0, "max": 50, "allow_censored": true},
{"name": "status", "dtype": "string", "allowed": ["PASS", "FAIL"]},
{"name": "run_date", "dtype": "date", "required": true}
]
}Tip: point infer_schema at a known-good export to generate a starting schema, then tighten ranges and allowed lists by hand.
Local CLI (no MCP client needed)
# validate and print issues (exit 0 = valid, 1 = invalid)
mcp-limsdq check exports/assay_2026-09-21.csv schemas/assay.json
# quiet mode for CI
mcp-limsdq check exports/assay.csv schemas/assay.json --quiet --report report.jsonDevelopment
python -m venv .venv && .venv/bin/pip install -e ".[dev]"
.venv/bin/python -m pytestThe quality engine (src/mcp_limsdq/checks.py) is stdlib-only and fully decoupled from the MCP layer, so it can be reused as a plain library.
Examples
See examples/: samples.csv (clean export with censored values), samples_bad.csv (six distinct issue types), schema.json, and a migration_before.csv / migration_after.csv pair for compare.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Open, inspect, filter, edit and convert xlsx and csv files from your AI chat. Processing is local.
Open, inspect, filter, edit and convert xlsx and csv files from your AI chat. Processing is local.
Open, inspect, filter, edit and convert xlsx and csv files from your AI chat. Processing is local.
- mcpOAuthio.scispot
Turn any LLM into your lab assistant: search samples, track experiments, analyze data with AI.
Related MCP Servers
- AlicenseBqualityCmaintenanceProvides 40+ specialized tools for AI assistants to load, transform, analyze, and validate CSV data from URLs and string content through the Model Context Protocol.412Apache 2.0
- FlicenseNot gradedqualityCmaintenanceAI-first CSV analysis tool that enables AI agents to analyze, query, and audit large CSV files directly within conversations, turning raw data into actionable insights.2-
- AlicenseAqualityCmaintenanceEnables AI assistants to analyze CSV files by providing statistical analysis and structural summaries via MCP tools.2MIT
- AlicenseNot gradedqualityCmaintenanceEnables language models to run data-quality checks and profiling on local files, using dbt-style assertions like not_null, unique, relationships, and accepted_values.MIT