Skip to main content
31 MCP tools + 9 Resources · Odoo v8 → latest · Cross-repo indexed

Ship Odoo features with
verified knowledge
not hallucinations.

The semantic intelligence layer for Odoo. Resolve any model, field, or override across v8 to latest — so Cursor, Claude Code, and Gemini stop inventing names that don't exist.

The hallucination tax

Ungrounded AI invents names that look right but don't exist — account.invoice.search instead of account.move, customer_id instead of partner_id.

12,000+ Models indexed
184,000+ Fields cross-linked
70+ Repos · v8→latest
31 MCP tools + 9 resources
sale.order Odoo 17.0
resolved · 148 fields · 4 modules
_inherit base root model sale.order DEFINITION · sale · 148 fields DEF sale_management CE · +6 fields sale_stock CE · +12 fields sale_subscription EE only · +18 fields EE _inherit _inherit _inherit extends
Built by Viindoo Indexes 70+ repos 12,000+ models v8 → latest 31 MCP tools
01 · BUILT FOR DEVELOPERS

The Odoo intelligence layer your AI was missing.

Made for the developers who ship Odoo — resolve models, trace overrides, and catch deprecations grounded in a real graph. And because the same answers are plain English, your consultants, PMs, and sales team get the truth too.

Built for developers

Stop guessing field names.
Trace any override in one call.

Resolve any model, field, or method across versions and modules. Find the exact override point. Catch deprecations before you upgrade — grounded in a real inheritance graph, not a guess.

odoo-semantic
>_ find_override_point(sale.order, action_confirm)
→ 4 hooks across 3 modules · 312 tokens
✓ sale_stock · _action_confirm() · super() preserved
>_ resolve_field(sale.order, partner_id, v=17.0)
→ res.partner · required · defined_in: sale
✓ verified against the knowledge graph index

For Consultants

Fit/gap in 30 minutes. Not 2 days.

Map 50 requirements against standard Odoo coverage instantly. Know what's already built, what extends what, which version delivers what.

>_ check_module_exists(loyalty, v=17.0) → ✓ sale_loyalty (CE) · 43 tk
See examples →

For CEOs & PMs

Measure blast radius before greenlight.

Quantify upgrade risk. See how many modules depend on a field you want to change. Make data-driven decisions on what to refactor.

>_ impact_analysis(sale.order, amount_total) → 12 mods · 38 refs · 3,218 tk
See examples →
And the whole team benefits

For BA / Sales

Answer the prospect before they hang up.

Confirm capability claims with evidence — real module names, real field paths.

See examples →

For Marketers

Turn version diffs into marketing copy.

Diff features across versions, generate marketing-friendly summaries anchored in truth.

See examples →
02 · LIVE GRAPH

Explore the inheritance web.

Interactive graph of the full Odoo model hierarchy. Click any node to resolve fields, methods, and override points — live.

v 17.0 · Drag · Scroll to zoom
03 · THE TOOLBOX

31 specialized tools.
One MCP endpoint.

Resolve models, fields, methods, views. Find examples, measure impact. Version diffs, deprecation scans, pattern suggestions — all atomic. Plus supersets, session-state tools, ORM validation (domains, @api.depends, relations), and test-surface tools: browse test classes, find coverage gaps, inspect Hoot/QUnit/tour JS test suites.

01
find_examples

Pull real-world usage from indexed repos.

02
impact_analysis

Measure blast radius of a field change.

03
lookup_core_api

Identify ORM, CLI, and framework symbols.

04
api_version_diff

Delta between two versions.

05
find_deprecated_usage

Scan a codebase for deprecated APIs.

06
lint_check

Odoo-specific lint, not generic Python.

07
cli_help

odoo-bin flags for your installed version.

08
suggest_pattern

Curated implementation patterns.

09
check_module_exists

Settle "is this built-in" debates.

10
find_override_point

Pinpoint the safest hook for custom logic.

11
describe_module

Architecture overview of a module: manifest, defined/extended models, view + JS-patch counts.

12
model_inspect

Superset of resolve_model/list_fields/list_methods — discriminator-based.

13
module_inspect

Superset for module-scoped queries — fields/views/owl/qweb/patches.

14
entity_lookup

Superset of resolve_field/resolve_method/resolve_view.

15
set_active_version

Sticky version for the session — call once, every tool uses it.

16
set_active_profile

Sticky profile for the session.

17
list_available_versions

What versions are indexed.

18
list_available_profiles

What profiles you can switch to.

19
resolve_stylesheet

Full stylesheet chain + variable list for a module.

20
find_style_override

Trace which module last overrides a CSS selector or custom property.

21
resolve_orm_chain

Trace a dotted field path through the model graph — validates each hop.

22
validate_domain

Static-check an Odoo domain: unknown fields, invalid operators per version.

23
validate_depends

Validate @api.depends paths before runtime; flags depends-on-id.

24
validate_relation

Confirm a relational field's comodel matches the expected model.

25
profile_inspect

Profile composition — ancestor chain, child profiles, repos, and module list for a profile.

26
find_test_examples

Find real test examples for a model, field, or pattern — returns test + JS chunks.

27
tests_covering

Which tests cover a given model, field, or method in the indexed graph.

28
test_class_inspect

Inspect a test class: base-class chain, setUp, what it covers, subclassed-by.

29
test_base_classes

Which test base class to use (TransactionCase vs HttpCase vs ...) and the cursor/commit contract per version.

30
test_coverage_audit

Fields and methods in a module with no static test coverage.

31
js_test_inspect

Frontend JS test suites (Hoot / QUnit / tour) defined in a module.

Resolve (7) Version (2) Quality (2) Supersets (4) Session (4) Stylesheet (2) ORM (4) Testing (6)
03B · RESOURCES

9 MCP Resources.
Bookmark any entity.

Stable odoo://{version}/{kind}/{path} URIs for direct entity reads. Bookmark-stable across sessions — works as native pinned context in VS Code, Claude, and any MCP-aware client.

odoo://{v}/model/{name}

Snapshot of a model — fields, methods, inheritance, defining module.

odoo://{v}/field/{model}/{field}

Field record — type, defaults, compute, related, overrides.

odoo://{v}/method/{model}/{method}

Method record — signature, decorators, override chain across modules.

odoo://{v}/view/{xmlid}

View + its XPath inheritance order, by xml_id.

odoo://{v}/module/{name}

Module manifest, depends, defined+extended models, view counts.

odoo://{v}/pattern/{pattern_id}

Curated pattern snippet + gotchas for common Odoo coding patterns.

odoo://{v}/stylesheet/{module}/{file_path}

Raw CSS/SCSS source for stylesheet override analysis and branding.

odoo://{v}/test/{module}/{class_name}

Full test class tree — base chain, setUp, covered models, subclasses.

odoo://{v}/testcoverage/{model}

Static reference coverage for a model: which fields/methods have test hits.

Resources are read-only · per-tenant cache · same auth as tools (X-API-Key).

04 · THE DIFFERENCE

Without MCP, your AI invents field names.

Side-by-side: what an AI hallucinates without context vs. what it answers with Odoo Semantic MCP. Real queries, real results.

without-mcp
HALLUCINATED
>_
// AI guessing from training data
In Odoo 17, sale.order is typically extended by:
• sale_advance_payment ⚠ module doesn't exist
• sale_management
• sale_workflow ⚠ removed in v15
• sale_stock
• sale_crm ⚠ no such module
• sale_loyalty
// 3 of 6 modules are fabricated
// versions mixed: v13 / v15 / v17
with-odoo-semantic
VERIFIED · GRAPH
>_
// → model_inspect(sale.order, v=17.0)
sale.order [DEFINITION]
├─ defined_in: sale
├─ total_fields: 148
├─ total_methods: 62
└─ extended_by:
├─ sale_management // +6 fields, +3 methods
├─ sale_stock // +12 fields, +7 methods
├─ sale_loyalty // +4 fields, +2 methods
├─ sale_subscription // EE-only, +18 fields
└─ sale_purchase // +3 fields, +5 methods
✓ 5 modules · all verified against the knowledge graph index
05 · TOKEN ECONOMICS

99% fewer tokens.
Zero fabrications.

7 real Odoo workflows, live-measured. 4 axes: accuracy, full-codebase coverage, token savings, speed. Context window savings pay for the server in week one.

Loading benchmark…
06 · WIRE IT UP

One URL. Any AI tool.

No installation required on your end. Add the URL + API key to your AI tool config — done in under 5 minutes.

Step 0

Grab a free API key

~30 seconds. Required for all client snippets below.

Quick Install

Free & open source · MIT

Three commands to wire 31 tools + 9 resources into Claude Code via the odoo-semantic-mcp plugin:

claude plugin marketplace add Viindoo/claude-plugins --scope user
claude plugin install odoo-semantic-mcp@viindoo-plugins --scope user

Then connect in Claude Code:

/odoo-semantic-mcp:connect

Manual setup (no plugin): claude mcp add --scope user --transport http odoo-semantic <MCP_URL> --header "X-API-Key: <API_KEY>"

Want 42 skills + 8 agents + 9 personas? Add the free odoo-ai-agents plugin (MIT, also auto-pulls MCP): claude plugin install odoo-ai-agents@viindoo-plugins --scope user

All plugins are MIT-licensed, free forever — view on GitHub.

Edit ~/.codex/config.toml (CLI add has no --header flag):

[mcp_servers.odoo-semantic]
url = "https://odoo-semantic.viindoo.com/mcp"
http_headers = { "X-API-Key" = "<API_KEY>" }

⚠ Use http_headers (snake_case + plural) — headers is silently ignored.

Verify: codex mcp list

Edit ~/.gemini/settings.json:

{
  "mcpServers": {
    "odoo-semantic": {
      "httpUrl": "https://odoo-semantic.viindoo.com/mcp",
      "headers": { "X-API-Key": "<API_KEY>" },
      "timeout": 10000
    }
  }
}

⚠ Use httpUrl (camelCase) — Gemini CLI ignores url.

Command Palette → MCP: Open User Configuration — add to mcp.json:

{
  "servers": {
    "odoo-semantic": {
      "type": "http",
      "url": "https://odoo-semantic.viindoo.com/mcp",
      "headers": { "X-API-Key": "<API_KEY>" }
    }
  }
}

One-click install (paste in browser):

vscode:mcp/install?%7B%22name%22%3A%22odoo-semantic%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fodoo-semantic.viindoo.com%2Fmcp%22%7D

⚠ Top-level key is servers (not mcpServers). Requires VS Code v1.99+.

IDE → Manage MCP Servers → View raw config, or edit ~/.gemini/antigravity/mcp_config.json:

{
  "mcpServers": {
    "odoo-semantic": {
      "serverUrl": "https://odoo-semantic.viindoo.com/mcp",
      "headers": { "X-API-Key": "<API_KEY>" }
    }
  }
}

⚠ Use serverUrl (camelCase) — not url or httpUrl.

Pre-approve tools: ...MCP Servers → allow mcp(odoo-semantic.*)

06B · FREE TOOLING LAYER

Free Claude Code plugins.

MIT licensed · free forever

Start with odoo-semantic-mcp (the core connector). Want skills, agents & personas on top? Add the Odoo AI Agent Team plugin.

Open-source plugins that sit on top of the MCP server — install in one command, read the code, contribute back. Lower the bar to try Odoo Semantic MCP, and ship faster once you're in.

odoo-semantic-mcp v1.0.0 MIT

MCP server config · 31 tools · 9 resources

  • /odoo-semantic-mcp:connect prompts for URL + API key, then auto-allows every mcp__odoo-semantic__* tool
  • Wires the HTTP MCP config so all 31 tools + 9 resources light up in one step
odoo-ai-agents MIT

42 skills, 8 specialist agents, 10 commands — the complete AI workforce for Odoo engineering, consulting, sales, and QA. Fires from plain-English intent; grounded in the indexed source graph.

Meet the full team →

Stop guessing. Start shipping.

Get an API key, pick your client, and query the Odoo ecosystem in your next prompt.

Already have an account? Sign in →