datasentry
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| scan_fileA | Scan a data file (CSV/Parquet/JSONL/XLSX/DuckDB), a PostgreSQL table (postgresql://DSN, Step 55), a MySQL table (mysql://DSN, Step 56) or a cloud storage file (s3:// gs:// az:// CSV/Parquet/JSONL, Step 57) and persist the quality report. Returns scan id, status, row count, quality score and issue counts. Optional sampling (sampling_size or sampling_ratio; sampling_method random|stratified|reservoir|time_based|rare_oversampling|none, default reservoir; sampling_seed, default 42), detector whitelist and tags mirror the CLI (Step 76, ADR-076). |
| issues_listA | List quality issues across scans, optionally filtered by minimum severity (info/low/medium/high/critical) or a scan id. |
| quality_scoreA | Six-dimension quality score of a scan run (use issues_list or scan_file to obtain scan_run_id). Dimensions below 60 indicate risk. |
| drift_compareB | Compare two historical scans of a dataset: schema, row-count, score and issue-distribution drift. Thresholds mirror the CLI ( |
| drift_latestA | Drift between the two most recent scans of a dataset. Fails if fewer than two completed scans exist. Thresholds mirror the CLI (defaults 0.20/5.0; D1-06). |
| report_exportA | Export the canonical JSON report of a scan run (same payload as CLI |
| trends_listA | Cross-scan quality trends per dataset (V7 data surface, ADR-065): score/issues series with latest score, delta and direction. Optionally filter to one dataset. |
| profiles_getC | Scan-time column profile sidecar of a scan run (V6, ADR-061) as raw JSON. Returns ok:false with an error when no profile exists. |
| comparison_buildA | Same-dataset historical run comparison (V6, ADR-064): per-run overall/dimension scores, issue counts and delta vs previous run. Use the current run id as current_run_id. Returns ok:true with comparison null when fewer than two runs exist. |
| detectors_listA | List all registered quality detectors with id, dimension, capabilities and default thresholds. |
| repair_propose_batchB | Generate repair proposals for one or more issues of a scan run (rule engine, read-only, never writes data). issue_ids: array of issue ids; omit to cover all issues of the run. Returns proposals, unsupported issues and per-issue errors. |
| repair_apply_batchA | Apply repair proposals for one or more issues of a scan run. WRITES DATA: each repair writes a repaired copy plus a before snapshot under .datasentry/repairs/; the source file is never overwritten. D5-08: prefer repair_propose_batch first. preview_only is mandatory: true reviews operations without writing, false applies them. Issues without a proposal are skipped (no_proposal), not failed. Returns applied runs and per-issue errors. |
| repair_rollback_batchA | Roll back applied repairs by run id. WRITES DATA: restores the pre-repair snapshot for each run. Returns rolled-back runs and per-run errors. |
| repair_verifyB | Verify a repair run: re-scan the repaired copy and report remaining issues vs the original scan (fixed/persistent/new issue types). Read-only. Returns the verify scan run id and comparison counts. |
| contract_validateB | Validate a data contract YAML file and return the structured contract or validation errors. |
| jobs_listA | List scheduled scan jobs (Step 51/52): cron, enabled, status, next run time and last result. Optionally filter by status (idle/running/dead). |
| job_createB | Register a scheduled scan job (Step 51): cron expression, data file path, optional quality gate threshold (gate_quality_min, 0-100) and optional webhook URL. Returns the created job view. |
| job_triggerA | Immediately run a scheduled job once (Step 51). Returns the run id and outcome; mutual exclusion: 409-style error if already running. |
| job_updateA | Update a scheduled job (Step 88, ADR-088): enabled/cron/retry_attempts/webhook_url/gate_quality_min, partial update; cron change recomputes next run time. Returns the updated view. |
| job_removeB | Delete a scheduled job (Step 88, ADR-088). Returns removed=true. |
| pii_sessionsA | List PII encryption sessions (Step 100, ADR-100) with key version and creation time (no ciphertext, no plaintext). Returns ok:false with an error when no encryption key is configured (set DATASENTRY_ENCRYPTION_KEY or run 'datasentry llm rotate-key'). |
| pii_restoreA | Restore plaintext in a text by substituting REDACTED placeholders from a PII session's mapping (Step 100, ADR-100). Explicit authorization semantics: calling this tool is the authorization to view plaintext. Returns ok:false with an error when the session does not exist, the mapping cannot be decrypted (missing or wrong key), or no encryption key is configured. |
| pii_delete_sessionB | Delete a PII encryption session (Step 100, ADR-100). Removing the encrypted mapping is not reversible and does not require the encryption key. Returns deleted=true or ok:false when the session does not exist. |
| pii_rotate_keyA | Rotate the PII vault encryption key (Step 102, ADR-102): re-encrypts all existing mappings with a new key and writes it to the local key file, making the previous key invalid for existing sessions. Optional newKey supplies the key material; a random key is generated when omitted (mirrors CLI rotate-key --new-key). Returns ok:false with an error when no encryption key is configured. |
| pii_purge_sessionsA | Delete PII encryption sessions older than N days (Step 103, ADR-103). Sessions are matched by creation time only; the encryption key is not required. Returns purged (count of deleted sessions) or ok:false when olderThanDays is invalid (< 1). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 25 tools
Most tools target distinct resources and actions (PII sessions, scans, repairs, jobs, contracts), but a few pairs like drift_compare/drift_latest and trends_list/comparison_build have overlapping purposes that descriptions mostly clarify.
All names use snake_case, but the pattern mixes verb_noun (scan_file, repair_propose_batch) with noun_verb (issues_list, drift_compare, job_create), and pii_sessions is an outlier, making the convention inconsistent.
25 tools is heavy for the stated purpose, though they are divided across coherent domains (PII, scanning, repair, scheduling, contracts). Borderline; some reduction could improve focus.
Core domains have strong lifecycle coverage: PII sessions (list/restore/delete/rotate/purge), scans (create/list/score/drift/report/trends/profiles/compare), repairs (propose/apply/rollback/verify), and jobs (list/create/trigger/update/remove). The main gap is contracts, which only has contract_validate with no create/update/delete surface.