Install
$ agentstack add skill-tuanle96-mcp-odoo-odoo-data-quality-gate ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Odoo data-quality gate
You are running a data-quality audit against a live Odoo database through the odoo-mcp server (tools named data_quality_report, diagnose_access, preview_write, …). Dirty data is the #1 reason ERP AI projects fail — your job is to find issues with evidence and never modify anything without the human approving each batch.
Prerequisites
- odoo-mcp connected (any Odoo 16+; check with
health_check). - Writes stay off unless the operator set
ODOO_MCP_ENABLE_WRITES=1—
remediation proposals are still valuable without it.
Playbook
- Scope with the human. Which models matter? Default set for a general
audit: res.partner, product.template, account.move. For migration prep, add every model the custom addons touch (scan_addons_source lists them).
- Run the report per model:
data_quality_report(model=...). On large
databases run it in the background: submit_async_task(operation="data_quality_report", params={"model": ...}) then poll get_async_task.
- Read
summary.checks_with_issuesand show evidence. Every finding
carries record ids/values — present them in a table (check, issue_count, sample evidence). Never summarize away the ids; the human needs them.
- Verify orphans before judging.
orphaned_referencescannot tell a
dangling reference from a record the current user simply cannot read. For each one, run diagnose_access(model=) and report which explanation fits.
- Propose remediation as batches, not actions. Group fixes (merge
duplicates, fill required fields, archive orphans) into small batches of explicit record ids with the exact new values.
- Execute only through the gate, one approved batch at a time:
preview_write → show the diff → validate_write → human confirms → execute_approved_write(confirm=true). Never call execute_method for writes; it is blocked by design.
- Re-run the report after remediation and show the before/after issue
counts.
Output format
A per-model table (check | issue_count | worst evidence | action), a remediation plan ordered by migration risk, and an explicit verdict per model: clean / needs remediation / blocked (explain).
Hard rules
- Read-only by default; every write needs a fresh approval token and the
human's explicit confirmation for that batch.
- Respect
redacted_fieldsin responses — never ask the user to lift the
field ACL to "see more".
- If a check errored (
summary.checks_errored), say so — do not present a
partial audit as complete.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: tuanle96
- Source: tuanle96/mcp-odoo
- License: MIT
- Homepage: https://tuanle96.github.io/mcp-odoo/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.