DataSentry について
DataSentryは、データエンジニア向けのローカルファーストなデータ品質サーバーです。問題の発見と調査、安全な修復を支援し、決定論的なスキャンで根拠を示しながら元データを保持します。
主な機能
- 0139種類の決定論的な品質検出器
- 02根拠付きの問題レポートとスコア
- 03スキャン間のドリフト追跡
- 04プレビュー可能で元に戻せる修復
- 05JSON、Markdown、HTML、JUnit、SARIF出力
活用シーン
- 01明確なルールがないデータの問題発見
- 02スキーマや品質スコアの変化追跡
- 03重大な問題を基準にしたCIゲート
- 04元データを上書きせずコピーを修復
MCP 対応
stdio MCPサーバーを通じて、クライアントはデータのスキャン、問題やスコアの確認、ドリフト比較、契約検証、定期ジョブ管理、DataSentryツールの呼び出しを行えます。他のインターフェースと同じ安全ルールが適用されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
24掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| path | string | はい | データファイルのパス、postgresql:// / mysql:// DSN(table_name が必須)、または s3:// gs:// az:// クラウドファイル URI |
| seed | integer | いいえ | |
| tags | object | いいえ | |
| detectors | array | いいえ | |
| dataset_id | string | いいえ | |
| table_name | string | いいえ | |
| sampling_seed | integer | いいえ | |
| sampling_size | integer | いいえ | |
| sampling_ratio | number | いいえ | |
| sampling_method | string | いいえ |
詳細
DataSentry
ユーザーより先に、不正なデータを見つけましょう。
データ品質の問題を自動で発見し、根拠に基づいて説明し、安全に元に戻せる修復を行います。
ローカルファースト。デフォルトで決定論的。AI はオプション。
ライブデモ · 30 秒で開始 · ユースケース · FAQ · PyPI · サンプル · MCP のセットアップ · コントリビュート
中文导读:DataSentry は、まずデータ品質の問題を自動で発見し、サンプル、割合、信頼度などの根拠を提示します。修復には、
propose → preview → apply to a copy → verify → rollbackという慎重なプロセスを採用しています。検出とスコアリングに LLM は不要です。AI はオプションの補助としてのみ利用し、データを完全にローカルに保つことができます。
30 秒で試す
現在の PyPI リリースをインストールして、設定不要の製品ツアーを実行します。
pip install --upgrade datasentry-ai
datasentry demo
datasentry-demo も、コンソールから直接実行できる別名として利用できます。
このデモでは、合成した汚れたデータを生成し、組み込みの検出器を実行して、JSON と HTML のレポートをエクスポートします。さらに、安全な修復を 1 件データのコピーに適用し、修復後のコピーを再スキャンして、ロールバック用のコマンドを表示します。データセット、クラウドサービス、API キー、LLM は不要です。
synthetic dirty CSV
↓
39 deterministic detectors
↓
evidence-backed issues + quality score
↓
preview → repaired copy
↓
re-scan → verify new/persistent issues
すぐに自分のデータをスキャンしますか?
curl -L https://raw.githubusercontent.com/Jackxiaozhiren/datasentry/main/demo-data/orders.csv -o orders.csv
datasentry scan orders.csv
datasentry issues list --severity high
または、対話型インターフェースを起動できます。
datasentry # terminal UI
datasentry-server # Web UI + REST API at http://localhost:8000/ui/
問題に合わせて始める
| 必要なこと | こちらから始めましょう |
|---|---|
| すべてのルールを把握する前に、疑わしいデータを見つける | datasentry scan data.csv |
| 発見 → 修復 → 検証の一連の流れを見る | datasentry demo |
| CI で重大なデータ問題をブロックする | docs/GITHUB_ACTIONS.md |
| dbt / Airflow に品質ゲートを追加する | examples/integrations/ |
| ソースを上書きせずに、問題を調査して修復する | 安全な修復 |
| AI エージェントに決定論的なデータ品質ツールを提供する | docs/MCP.md |
デフォルトの使い方では、導入時の負担を意図的に抑えています。まずスキャンし、根拠を確認してから、検出結果を恒久的なルールにするか、修復するかを判断します。
DataSentry が生まれた理由
ほとんどのデータ品質ツールは、適用したい期待値、チェック、コントラクトがすでに分かっていれば、非常に優れた性能を発揮します。しかし、実際のインシデントはその一歩手前から始まることがよくあります。何が問題なのか、まだ分からないのです。
DataSentry は、完全な修復ループを中心に設計されています。
Find → Explain → Fix safely → Verify
- 発見 — すべてのルールを事前に記述しなくても、よくある品質問題を見つけます。
- 説明 — サンプル、影響を受ける件数/割合、検出器の根拠、信頼度を提示します。
- 安全に修正 — 変更をプレビューし、ソースを変更するのではなく、コピーに修復を適用します。
- 検証 — 修復後のコピーを再スキャンし、残存する問題や新たに発生した問題を明らかにします。
DataSentry は、まだ十分に信頼できないデータを調査する場合、チェックをルール化する前に根拠を確認したい場合、または慎重に修復を進める必要がある場合に最適です。期待値やコントラクトを基準にするツールを置き換えるのではなく、それらを補完します。
自動的に検出できる問題
DataSentry には、次のような一般的な問題をカバーする 39 種類の決定論的な検出器が搭載されています。
- 欠損値やプレースホルダー値;
- 無効なメールアドレス、URL、日付、エンコーディング;
- 識別子の重複や一意性の違反;
- カテゴリの不整合やフィールド間の矛盾;
- 外部キーや参照整合性の問題;
- 数値および統計上の外れ値;
- スキーマ、行数、スコア、問題分布のドリフト。
各スキャンでは、根拠に基づく問題一覧と、完全性、有効性、一意性、一貫性、整合性、適時性の 6 つの側面を評価する品質スコアが生成されます。
安全な修復。盲目的な変更ではありません
# inspect the highest-severity findings
datasentry issues list --severity high
# propose a repair without changing data
datasentry repair propose <issue_id> --file orders.csv
# preview the exact effect
datasentry repair preview <issue_id> --file orders.csv
# apply to a repaired copy; the original is not overwritten
datasentry repair apply <issue_id> --file orders.csv
# re-scan the repaired copy and detect regressions
datasentry repair verify <run_id>
# inspect or undo the repair
datasentry repair diff <run_id>
datasentry repair rollback <run_id>
修復にはフィンガープリントが付与され、監査可能で、元に戻せます。AI が生成した修復案も、人間が承認してから状態を変更します。
CI の品質ゲート
datasentry scan orders.csv --fail-on high
GitHub リポジトリでは、インストール処理や終了コードの処理を重複して実装する代わりに、DataSentry が保守する workflow_call ゲートを再利用してください。
jobs:
datasentry:
uses: Jackxiaozhiren/datasentry/.github/workflows/datasentry-quality-gate.yml@main
with:
path: data/orders.csv
fail_on: high
入力、アーティファクト、セキュリティ境界、バージョン固定のガイダンスについては、docs/GITHUB_ACTIONS.md をご覧ください。
レポートは JSON、Markdown、HTML、JUnit、SARIF 形式でエクスポートできます。バージョン管理された機械可読な JSON レポートスキーマ が、後続の検証用に含まれています。GitHub Actions の例では、重大な問題が見つかった場合にワークフローを失敗させる一方で、確認用の HTML レポートはアップロードします。
AI エージェントに決定論的なデータ品質ツールを提供する
DataSentry には MCP stdio サーバーが含まれています。
datasentry mcp --project /path/to/project
MCP 対応クライアントは、CLI や REST API と同じ安全規則を迂回せずに、ファイルのスキャン、根拠に基づく問題の確認、品質スコアや傾向の参照、ドリフトの比較、契約の検証、スケジュールされたジョブの管理、DataSentry ツールの呼び出しを行えます。
VS Code と Claude Desktop 用のコピー&ペーストで使える設定手順は、docs/MCP.md にあります。
境界: AI は提案できますが、状態を変更する修復は人間が承認します。
主要なデータ品質プロジェクトとの位置づけ
これは位置づけを示すガイドであり、機能の優劣を評価するものではありません。これらのプロジェクトは、重複する部分はあっても異なる用途に対応しています。最新の機能については、それぞれの上流ドキュメントをご確認ください。
| プロジェクト | 中心となる考え方 | 次のようなニーズに適しています…… |
|---|---|---|
| DataSentry | 発見 → 説明 → 修復 → 検証 | 問題の自動発見に加え、制御可能で元に戻せる修復のサイクルが必要な場合 |
| Great Expectations | Expectation/表現力豊かなデータテスト | 明示的な検証ルール、検証結果、生成されるデータ品質ドキュメントが必要な場合 |
| Soda Core | データ契約と品質チェック | YAML 契約と、幅広いデータスタックにわたる検証が必要な場合 |
| Deequ | Spark 上の「データ向けユニットテスト」 | Spark を中心とする環境で大規模なデータ検証が必要な場合 |
| ydata-profiling | 1 行でのプロファイリング/探索的データ分析 | 迅速な探索的プロファイリングと共有可能な分析レポートが必要な場合 |
DataSentry は、メタデータカタログ、データリネージプラットフォーム、あるいはあらゆるバリデーターを置き換えることを意図していません。対象を絞り、不良データを見つけ、問題として検出された理由を示し、ソースにリスクを負わせることなく修復のサイクルを完了することに重点を置いています。
ローカルファーストを設計の基本に
- 決定論的な検出とスコアリングはローカルで実行されます;
- コアとなるローカル実行には DuckDB を使用します;
- OpenAI/Ollama による支援は任意です;
- AI を有効にすると、PII の編集、暗号化されたマッピング、LLM の監査記録を利用できます;
- 修復ワークフローによって元のソースファイルが上書きされることはありません。
データソース
- CSV、Parquet、JSONL、XLSX
- DuckDB、SQLite
- PostgreSQL、MySQL
s3://、gs://、az://オブジェクト- 単一ファイル、複数ファイル、glob
履歴とドリフト
スキャンを保存し、時間の経過に伴うデータを比較できます。
datasentry drift latest orders
datasentry score
追跡されるシグナルには、スキーマの変更、行数の変動、品質スコアの変化、問題分布のドリフトが含まれます。
アーキテクチャ
flowchart LR
Sources[Files / DBs / cloud objects] --> DuckDB[Local execution]
DuckDB --> Detect[39 detectors]
Detect --> Evidence[Evidence fusion]
Evidence --> Score[6-dimension score]
Score --> Reports[Reports / history / gates]
Reports --> CLI[CLI / TUI]
Reports --> Web[Web / REST]
Reports --> MCP[MCP]
Evidence --> Proposal[Repair proposal]
Proposal --> Preview[Preview]
Preview --> Apply[Apply to copy]
Apply --> Verify[Verify by re-scan]
Verify --> Rollback[Rollback artifact]
LLM[Optional OpenAI / Ollama] -. proposes .-> Proposal
再現可能なベンチマーク
uv sync
uv run python benchmarks/bench_scan.py 1000000 42
このベンチマークでは、合成した不正データを生成し、プロファイリング、検出・統合・スコアリング、数値の外れ値検出、JSONL の読み取り、サンプリング、スコアのドリフト、メモリ使用量のピークを測定します。詳しくは docs/BENCHMARKS.md をご覧ください。
開発
uv sync
make check # lint + mypy --strict + tests/coverage
make demo # exercise the public datasentry demo path
make bench # benchmark
make build # distributions
貢献
新しい検出器やコネクター、統合例、再現可能なベンチマークケース、ドキュメントや翻訳、最小限のバグ再現例、CLI/TUI/Web のユーザビリティ改善などの貢献を歓迎します。
手軽に始められる貢献をお探しですか?good first issue #14 または good first issue #15 から始めてみてください。
CONTRIBUTING.md、CODE_OF_CONDUCT.md、SECURITY.md、ROADMAP.md をご覧ください。小規模な貢献には good first issue と help wanted のラベルが付けられています。
ドキュメント
- プロジェクトサイトとライブレポート
docs/FAQ.md— 評価、安全性の境界、DataSentry が他のデータ品質ツールとどのように併用できるかexamples/— シナリオを軸にした実行可能な例docs/MCP.md— VS Code と Claude Desktop の MCP セットアップdocs/GITHUB_ACTIONS.md— 再利用可能な GitHub 品質ゲートexamples/integrations/github-actions/— コピーして使える CI ゲートdocs/BENCHMARKS.md— ベンチマークの方針docs/DEVELOPMENT.md— エンジニアリングに関するメモ- 検出 → 修正 → 検証 / 中国語版
ライセンス
Apache-2.0 — LICENSE をご覧ください。
DataSentry が本番環境に到達する前の不正データ検出に役立ったら、リポジトリに ⭐ を付けてください。
他のデータエンジニアがこのプロジェクトを見つけやすくなります。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。