| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 26773 |
| Technical Name |
ai_dashboard_studio |
| License | OPL-1 |
| Website | https://www.netlinks.net |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 26773 |
| Technical Name |
ai_dashboard_studio |
| License | OPL-1 |
| Website | https://www.netlinks.net |
AI Dashboard Studio
Plug your Claude or ChatGPT subscription into Odoo. Get enterprise BI for $99.
Best-in-class on the Odoo App Store. 29 widget types, 107 MCP tools, 10 anomaly detectors, statistical forecasting, what-if scenarios. OAuth 2.0 + PKCE, no admin fallback, full audit trail. Permission-aware. Works with custom modules. The AI you already pay for, finally connected to your ERP.
Five real questions. Five real answers.
These are not feature lists. These are real questions you ask about your business every day. Open Claude or ChatGPT, ask, and the answer comes back as a dashboard in your Odoo using YOUR data, with YOUR permissions.
“Show me my top 10 customers by revenue this year.”
Get a real dashboard. Five seconds.
“What's my cash forecast for the next 90 days?”
Get the answer. With a chart.
“Which customers are slowing down on orders?”
Find the ones at risk before they ghost you.
“If material costs go up 8%, what happens to my margins?”
What-if scenarios without opening Excel.
“Create a Monday-morning briefing for my team.”
Same dashboard every week. Auto-updated. Emailed if you want.
Two products in one app
AI Dashboard Studio bundles a self-service dashboard designer with the full AI Bridge MCP server. One install, one audit log, one upgrade path.
Dashboard Studio
- 29 widget types charts, KPI cards, pivots, maps, SQL
- Visual drag-and-drop builder zero JSON
- Public token sharing all 29 widget types
- TV / wallboard mode with auto-cycle
- KPI alerts and scheduled email snapshots
- Excel, PDF, per-widget PNG export
- Per-widget chat (mail.thread)
AI Bridge
- 107 MCP tools across 18 functional domains
- Claude, ChatGPT, Cursor, Continue, Zed compatible
- OAuth 2.0 + PKCE no client secrets to copy
- Self-hosted data never leaves your infrastructure
- Per-user permissions, full audit trail
- AI builds dashboards via push_dashboard
- Works with custom modules any model the user can access
What you get that Odoo doesn't.
There are plenty of dashboard modules on the App Store. None ship the anomaly detection, AI dashboard authoring, cross-module intelligence, and what-if scenarios that come built into this one.
Anomaly detection
10 detectors Odoo has none
Outliers, spikes, dormant customers, margin erosion, behaviour shifts, concentration risk, correlation breaks, duplicates, seasonal anomalies, bottlenecks. Surfaces what your dashboards would otherwise hide.
AI builds dashboards
push_dashboard via MCP
Describe what you need in Claude or ChatGPT. The AI picks the model, fields, domains, chart types and layout, then writes the dashboard into Odoo. Every widget stays 100% visually editable afterwards.
Cross-module intelligence
Stitches 5+ modules in one view
Customer 360 across CRM, sales, accounting, support and chatter. Cashflow projection joining AR and AP. Executive summary blending every module. Things Odoo studio cannot stitch together.
Statistical forecasting
Holt-Winters, trend, seasonality
Forecast revenue, cashflow, or any metric with Holt-Winters and trend/seasonality decomposition. Bake forecasts straight into a dashboard. Standard Odoo reports are descriptive only.
What-if scenarios
whatif_scenario tool
"What happens to my margin if input costs rise 8%?" Run scenario analyses on revenue, cost, margin, CLV, vendor concentration. Save the result as a dashboard widget. No Excel exports needed.
Works with custom modules
Zero configuration
Other dashboard modules need explicit configuration per model. AI Bridge discovers every model the user can access including your custom modules and renders dashboards over them without setup.
Multi-source widgets
Overlay 2+ models
Plot revenue vs marketing spend, headcount vs hiring pipeline, AR vs sales pipeline any two models on one chart. Odoo studio and most competitors lock you to one model per widget.
Formula measures & SQL
safe_eval + sql_chart
Compute margin %, CLV, or any ratio directly in a widget via safe_eval expressions. Drop into raw SQL with sql_chart and sql_table for the cases the ORM can't express. Two escape hatches Odoo native reporting lacks.
Public sharing & KPI alerts
No login URL + cron alerts
One-shot token URL share a dashboard with a customer or board member without an Odoo login. Cron-driven KPI thresholds notify owners when numbers cross the line. Both rare or absent in standard Odoo.
Capabilities SAP and NetSuite charge per-seat for.
Natural-language analytics, predictive forecasting, planning & variance, vendor scorecards, multi-entity consolidation capabilities sold separately as SAP Analytics Cloud, NetSuite Analytics Warehouse, Tableau, and Power BI add-ons built into this Odoo module at App Store pricing.
Natural-language analytics
SAP Just Ask / Power BI Q&A class
Speak to your Odoo data in plain English. Claude, ChatGPT, Cursor, Continue, Zed all work through the built-in AI Bridge no separate semantic-model setup, no DAX, no MDX.
Auto-narrative & smart insights
SAP Smart Discovery / NetSuite SuiteAnalytics
Daily Business Briefing generates AI commentary on every metric. KPI cards carry AI-written context lines that explain what changed and why this week.
Predictive forecasting
SAP Smart Predict / NetSuite Analytics Warehouse
Holt-Winters time series, trend and seasonality decomposition, statistical forecasting baked into dashboard widgets. Standard Odoo reports are descriptive only.
Planning, budgeting & variance
SAP Analytics Cloud Planning / NetSuite P&B
budget_vs_actual with variance %, gauges and trend lines. whatif_scenario for cost / price / volume sensitivities. Save as a widget, re-run next month.
Customer Lifetime Value
Salesforce Einstein CLV / Tableau CRM
customer_lifetime_value computes CLV per customer with retention assumptions. Built into the catalog no data-science team or external warehouse required.
Cohort & funnel analysis
Adobe Analytics / Amplitude / Mixpanel class
cohort_analysis and funnel_analysis tools out of the box. Wire them into the visual builder. No SQL, no event-pipeline ETL, no separate product analytics tool.
Vendor & spend analytics
SAP Ariba Spend Analytics class
vendor_scorecard tracks on-time delivery, lead time, rejection rate, total spend. concentration_risk surfaces concentration of revenue or supply by vendor.
Multi-entity consolidation
NetSuite OneWorld / SAP Group Reporting
company_switch_context + currency_convert + Odoo's native multi-company isolation. Financial reports filter by company automatically; multi-currency consolidation comes free.
Embedded BI inside the ERP
vs Tableau / Power BI / Looker as separate tools
Lives inside Odoo. No data warehouse to maintain. No ETL pipelines. No second tool for users to learn. Permissions and audit trail come from Odoo for free.
All of this runs inside your Odoo instance, under the authenticated user's ACLs, with a full audit trail and PII redaction. No separate BI tool to license, no warehouse to maintain, no ETL pipeline to build.
One-time price. Lifetime value.
$99 introductory price. No subscription. No per-seat charges. Lifetime support and version upgrades included.
Lifetime support
support@netlinks.net
Direct email support from NETLINKS. No subscription, no per-seat fees, no expiry. You buy the module once we keep helping forever.
Free updates forever
All future feature releases
Every new feature ships to existing customers. New MCP tools, new widget types, security patches, performance improvements all included.
Free Odoo version upgrades
Odoo 20 / 21 / 22 / ...
When Odoo ships a new major version, your module upgrades with it at no extra cost. Same install. Same audit log. Same configuration.
Need an older Odoo?
v17, v18 on request
Running an earlier Odoo version? Email support@netlinks.net and we will ship a back-ported build for your version.
Why $99?
NETLINKS has been an Odoo partner since 2012. Over thirteen years we have watched mid-market companies pay $30 to $200 per user per month for SAP Analytics Cloud, NetSuite Analytics Warehouse, Tableau and Power BI seats and watched smaller businesses skip BI entirely because the price was out of reach.
We have enterprise clients and custom-development revenue; App Store sales are not where this firm makes its money. So we priced AI Dashboard Studio at what every Odoo user can actually afford not what global BI vendors charge.
Build the report. Or have AI do it.
Open Claude, describe what you need, and the dashboard appears. Or open the visual builder and drag widgets yourself.
29 widget types. Zero JSON.
15 chart types plus 14 specialised widgets cover everything from headline KPIs to ad-hoc SQL all configurable from a visual dialog.
15 chart types
Bar, line, pie, doughnut, area, stacked, funnel, gauge, waterfall, radar, scatter, combo, polar, flower, bullet.
14 non-chart widgets
KPI cards (sparklines, deltas, AI commentary), data tables, pivots, maps, word clouds, markdown, insight cards, stat lists, to-do, SQL chart, SQL table, image, iframe.
Every control is a dropdown, picker, or toggle.
Type picker, model/field search, domain builder, color/icon pickers, formula measures. No JSON, no XML, no expressions to memorise.
Drag, resize, add, delete.
Toggle into edit mode and the dashboard becomes a live canvas drag handles, resize, column picker, inline duplicate.
Headline numbers with sparklines and commentary.
Big number plus sparkline trend, delta vs previous period, progress bar against target, and AI-generated commentary line.
Fullscreen auto-cycle for ops floors.
One click puts a dashboard into wallboard mode no chrome, auto-rotate, auto-refresh. Works with public tokens for lobby displays.
Distribute. Schedule. Monitor.
Public sharing
One-shot token URL per dashboard. All 29 widget types render without an Odoo login. Revocable.
TV / wallboard
Fullscreen auto-cycle on a configurable interval. Operations centers, sales floors, lobby displays.
KPI alerts
Cron-driven threshold notifications. Daily / weekly / monthly with per-widget recipients.
Email snapshots
Scheduled styled HTML emails. Recipients get the numbers in their inbox.
Excel, PDF, PNG
Styled workbook, print-optimised PDF, per-widget PNG with a camera icon.
Per-widget chat
mail.thread on every widget. Comment, mention, attach files, trigger workflows.
Real prompts for every Odoo module
Copy any of these prompts into Claude (or any MCP client) and the dashboard appears in your Odoo instance. No setup. Permissions still apply.
Sales & CRM
Accounting & Finance
Inventory & Supply Chain
HR & People
Project & Operations
Manufacturing & Purchase
Executive & Cross-Module
Helpdesk & Mail
Works with your custom modules too.
AI Bridge dynamically discovers every Odoo model the user has access to including custom modules built for your business. No configuration required. Just describe what you need ("Show me last month's shipments by carrier") and the AI figures out which model to query and which fields to render.
107 tools. Any MCP client.
A self-hosted Model Context Protocol server built into the same module. Claude, ChatGPT, Cursor, Continue, Zed connect through OAuth 2.0 and start working with your Odoo data immediately.
18 functional domains
Each tool is sandboxed, audited, and runs under the authenticated user's permissions. Custom modules surface automatically.
Core ORM10
search_read read create write unlink execute
Discovery6
describe_my_capabilities business_snapshot
CRM & Sales6
pipeline_summary deal_velocity create_quotation
Accounting6
aged_receivables pnl_summary invoice_triage
Inventory & Mfg5
stock_levels bom_explosion reorder_suggestions
HR & Project9
headcount org_chart burndown team_capacity
Analytics11
aggregate timeseries pivot funnel cohort
Cross-Module Intel5
customer_360 cashflow_projection executive_summary
Anomaly Detection10
outliers spikes margin_erosion dormancy
Enterprise BI10
budget_vs_actual whatif forecast CLV
Dashboard3
push_dashboard update_dashboard preview_dashboard
Workflow & Studio6
workflow_confirm run_server_action studio_add_field
+ 8 prompt templates 7 MCP resources Dynamic per-instance filtering
Every MCP-compatible client
Claude.ai
TESTED
Claude Desktop
TESTED
Claude Code
TESTED
Cursor
COMPATIBLE
ChatGPT
COMPATIBLE
Continue
COMPATIBLE
Zed
COMPATIBLE
Any MCP client
COMPATIBLE
Self-hosted. Permissioned. Audited.
Every AI call runs as a real Odoo user with their actual ACLs and record rules. Data never leaves your infrastructure.
OAuth 2.0 + PKCE
Authorization Code with PKCE S256, Client Credentials, Dynamic Client Registration, discovery.
No admin fallback
Every request requires a Bearer token bound to a real Odoo user. No sudo() in the tool path.
Full audit trail
Every tool call logged with PII-redacted args. Configurable retention (default 90 days).
Active session control
Live sessions UI with IP, last-used, one-click Force Disconnect. 600 req/min per token.
Blocklists & rate limits
Admin-configurable model and field blocklists, server-action allowlist, IP allow/deny.
STRIDE threat-modeled
Comprehensive coverage with dedicated test methods. 100/100 security posture audit.
vs typical alternatives
| Capability | Typical alternatives | AI Dashboard Studio |
|---|---|---|
| MCP tools | 0 18 | 107 |
| Widget types | 15 21 | 29 |
| AI builds dashboards | No | push_dashboard via MCP |
| Works with custom modules | Rare | Yes any model the user can access |
| Self-service builder | Form-based, JSON | Visual dialog, zero JSON |
| Multi-source charts | No | Yes |
| Public token sharing | No | All 29 widget types |
| KPI alerts (cron) | No | Threshold + cron |
| Cross-module intel | No | Customer 360, cashflow, anomaly |
| Active session control | No | Force Disconnect UI |
Get going in 5 minutes
Install the module
From the Odoo Apps menu: search "AI Dashboard Studio" and click Install. Ships with optimal defaults.
Open your AI client
In Claude.ai Cowork Customize Connectors. Click + and add a custom connector.
Enter your Odoo URL
URL: https://your-server.odoo.com/mcp
Authorize
You're redirected to Odoo. Review the permissions, click Approve. Claude.ai auto-registers no client ID or secret needed.
Ask your first question
Browse the Use Cases tab above for ready-made prompts, or try "Create a sales dashboard with revenue by month".
Install the AI Bridge companion skill
The companion skill ships alongside the module. It encodes the domain-syntax gotchas, verified payloads, multi-company pitfalls, and debug playbook gathered from building real dashboards through the MCP bridge. Auto-loads in Claude Cowork whenever you use any odoo_* tool your users avoid the bugs the early adopters had to debug.
Bundled with the module no separate download
After you install the module, the companion files are served at these URLs on your Odoo instance:
https://YOUR-ODOO/ai_dashboard_studio/static/companion/ai-bridge-companion.skill
https://YOUR-ODOO/ai_dashboard_studio/static/companion/SKILL.md
https://YOUR-ODOO/ai_dashboard_studio/static/companion/README.md
Cowork users: download the .skill URL and drag it into the Cowork skills tray. Claude Desktop / Code / other MCP clients: open SKILL.md and keep it as a reference doc.
Frequently asked questions
Is this one module or two?
Does it work with custom Odoo modules?
Does it work with ChatGPT?
Can I create dashboards without AI?
Is my Odoo data secure?
Multi-company, fiscal year, timezone?
What Odoo versions?
Are updates included?
What happens when Odoo ships a new major version?
I need this for Odoo 17 / 18. Can I get it?
What support is included?
NETLINKS
www.netlinks.net
NETLINKS is a global technology firm and an Odoo partner since 2012. We deliver AI-integrated dashboards, enterprise tooling, custom Odoo development, and managed MCP services to organisations running Odoo Community and Enterprise across multiple regions with the security-first, permission-aware discipline real Odoo deployments require.
AI Dashboard Studio is our flagship for Odoo 19 the AI-driven dashboard layer your team will actually use. Need a custom Odoo build, a private MCP deployment, or an enterprise-tier support contract? support@netlinks.net.
Built by NETLINKS
Self-service dashboards plus a built-in AI Bridge, for Odoo 19.
Copyright © 2026 NETLINKS · OPL-1 License · Odoo 19.0
AI Dashboard Studio
Self-service dashboards for Odoo 19.0, with a built-in AI connector. Design live, data-driven dashboards across 29 widget types — or let Claude, ChatGPT, and any Model Context Protocol-compatible client build them for you. 107 secure tools cover CRM, accounting, inventory, HR, anomaly detection, and enterprise BI under your existing Odoo permissions.
One module. One install. One audit log.
The two pillars
- Dashboard Studio — a self-service dashboard designer. 29 widget types, a visual builder, drag-and-drop layout, public token sharing, KPI alerts, TV mode, scheduled email snapshots, and per-widget chat.
- AI Connector (MCP server) — a self-hosted Model Context Protocol server. 107 tools that let any MCP-compatible AI assistant read, write, analyze, and even author dashboards in your Odoo instance through a standards-compliant OAuth 2.0 flow.
Both pillars share the same record-rules, ACLs, audit log, and multi-company isolation. Nothing in this module bypasses what Odoo already does.
Part I — Dashboards
29 widget types
15 chart types — bar, line, pie, doughnut, area, stacked, funnel, gauge, waterfall, radar, scatter, combo, polar, flower, bullet.
14 non-chart widgets — KPI / number cards (with sparklines, deltas, progress bars, AI commentary), data tables (grouping, subtotals, running totals, conditional formatting, status chips), pivot tables, maps, word clouds, markdown, insight cards, insight lists, stat lists, to-do lists, SQL chart, SQL table, image, iframe.
Visual widget builder
Every control is a dropdown, picker, or toggle. No JSON. No XML. No expression syntax to memorize.
- Type picker with all 29 widget types in a visual grid
- Model/field search with fuzzy matching
- Domain builder with field / operator / value dropdowns (or JSON mode for power users)
- Color, icon, and gradient pickers
- Formula measures via safe_eval
- Filter presets and conditional formatting with threshold tiers
- Quick Generate templates plus pre-built sample dashboards
- Live preview as you build
Layout & themes
- Drag-and-drop with snap-to-grid
- Resize handles on every widget
- Edit mode toggle (column picker, Add Widget, inline duplicate / edit / delete)
- Dark mode (per-widget dark CSS, not just background flip)
- RTL layout support
- Responsive — desktop, tablet, mobile
Distribution
- Excel export — styled workbook with embedded charts and KPI cards
- PDF / Print — print-optimized layout with page-break control
- Per-widget PNG — camera icon on hover, html2canvas
- JSON import/export — move dashboards between instances
- Public token sharing — all 29 widget types, one-click revocable
- TV / wallboard mode — fullscreen auto-cycle, works with public tokens
- Scheduled email snapshots — daily / weekly / monthly HTML email per dashboard
- KPI alerts — threshold + cron notifications to chosen recipients
- Per-widget chat — mail.thread on every widget
Part II — AI Connector (MCP)
A 107-tool catalog across 18 functional domains
| Domain | # | Tools |
|---|---|---|
| Core ORM | 10 | search_read · read · search_count · fields_get · create · write · unlink · execute · call_action · run_report |
| Discovery | 6 | list_available_actions · invoke_action · describe_my_capabilities · business_snapshot · describe_model_llm · inspect_user_context |
| CRM & Sales | 6 | pipeline_summary · deal_velocity · win_loss_reasons · quote_status · top_sale_products · create_quotation |
| Accounting | 6 | aged_receivables · pnl_summary · tax_summary · invoice_triage · post_entry · bank_reconcile_suggestions |
| Inventory & Manufacturing | 5 | stock_levels · bom_explosion · traceability · reorder_suggestions · slow_movers |
| HR & Project | 9 | leave_balances · timesheet_summary · headcount · contract_expiries · org_chart · burndown · late_tasks · team_capacity · timesheet_gaps |
| Analytics | 11 | aggregate_records · pivot_analysis · timeseries · topn_records · cohort_analysis · funnel_analysis · distribution_histogram · compare_periods · abc_analysis · margin_analysis · trend_analysis |
| Cross-Module Intelligence | 5 | customer_360 · revenue_forecast · cashflow_projection · kpi_check · executive_summary |
| Anomaly Detection | 10 | detect_outliers · detect_behavior_shift · detect_spikes · concentration_risk · detect_duplicates · detect_correlation_break · detect_dormancy · detect_seasonal_anomaly · detect_margin_erosion · detect_bottlenecks |
| Enterprise BI | 10 | budget_vs_actual · whatif_scenario · statistical_forecast · financial_ratios · working_capital · customer_lifetime_value · vendor_scorecard · inventory_optimization · waterfall_analysis · goal_tracking |
| Dashboard | 3 | push_dashboard · update_dashboard · preview_dashboard |
| Workflow & Studio | 6 | workflow_confirm · workflow_state_info · run_server_action · studio_add_field · studio_add_view_field · generate_module_scaffold |
| Automation | 3 | bulk_workflow · generate_followups · create_purchase_order |
| Communication | 4 | send_message · schedule_activity · my_activities · followers_manage |
| Export & Audit | 3 | export_dataset · render_financial_report · audit_log_export |
| Reporting | 2 | list_reports · render_report |
| Utility | 2 | company_switch_context · currency_convert |
Plus 8 prompt templates for recurring reports and 7 MCP resources (modules, reports, models, actions, menus, groups, views).
Dynamic per-instance filtering
tools/list only advertises tools whose required Odoo modules are installed. A CRM-only instance never sees inventory tools. A full ERP instance sees the whole catalog. No manual configuration; the introspection is automatic.
Standards-compliant OAuth
- OAuth 2.0 Authorization Code + PKCE (S256)
- OAuth 2.0 Client Credentials (RFC 6749 §4.4) for headless clients
- Dynamic Client Registration (RFC 7591)
- Discovery: RFC 8414 and RFC 9728
- Token endpoint accepts client_secret_basic, client_secret_post, and none
Strict-auth model
There is no anonymous access. Every request to the MCP transport requires a valid Bearer token bound to a real Odoo user. Tool calls run under that user's identity — Odoo's permission, ACL, and record-rule layers do the access control transparently.
Self-service credentials
Each internal user can mint their own client_id and client_secret from the MCP → Credentials menu. The raw secret is displayed exactly once via a transient wizard and stored only as a SHA-256 hash on the mcp.client record. Admins can also pre-mint credentials on behalf of other users.
Admin visibility
- MCP → Credentials — full list of clients. Admins see all; non-admins see only their own (record rules).
- MCP → Tokens — issued tokens with last_used timestamps and a one-click Revoke button.
- MCP → Tokens → Active Sessions — live MCP sessions with IP address. One-click Force Disconnect revokes the bound token AND unlinks the session in one transaction, with an audit log entry.
- MCP → Activity — read-only audit log of every tool call: timestamp, user, tool, model, result status, duration, PII-redacted arguments. Filter and group by user/tool/model. Daily retention cron (default 90 days, admin-tunable via ai_dashboard_studio.audit_log_retention_days).
Chatter integration
Every record created or modified by a write tool gets a "Modified via MCP by user using tool X; client: Y" chatter note. Portal / public followers see a redacted variant that omits client and tool name.
Server-Sent Events streaming
Long-running tools stream progress via SSE backed by Postgres LISTEN/NOTIFY. 10-stream concurrent cap, 120s max duration, 1s keepalive.
AI builds dashboards
Three dashboard tools let any MCP client author or refresh dashboards:
- push_dashboard — create a new dashboard (picks models, fields, domains, chart types, layout)
- update_dashboard — modify an existing dashboard's widgets
- preview_dashboard — render a draft for the AI to inspect before committing
Every AI-generated widget stays 100% visually editable in the builder afterwards.
Architecture
Every tool call follows the same pipeline:
- HTTP boundary — POST /ai_dashboard_studio/mcp (or short form POST /mcp) with Authorization: Bearer <token>.
- OAuth gate — strict Bearer validation; no admin fallback. A missing or invalid token returns HTTP 401 with WWW-Authenticate: Bearer realm="ai_dashboard_studio".
- User resolution — token → mcp.access.token → res.users. request.update_env(user=access_token.user_id.id) ensures every subsequent ORM call runs under that user's identity.
- JSON-RPC dispatch — mcp_server.handle_request routes to tools/list, tools/call, resources/*, or prompts/*.
- ToolDispatcher — the appropriate odoo_* method runs. Record rules and ACLs apply transparently because the tool path never uses sudo().
- Audit emit — one mcp.audit.log row per call with PII-sanitized args, result status, and duration. Audit-write failures are caught and logged — they never propagate to the JSON-RPC response.
- Chatter post — write tools post a note on the affected record(s) via message_post (mt_note subtype). Portal / public followers see a redacted body.
- JSON-RPC response — back to the AI client over the same HTTP connection or, for streaming tools, over SSE.
Installation
Requirements
- Odoo 19.0 (Community or Enterprise)
- Python 3.10, 3.11, or 3.12
- PostgreSQL 12+
- The mcp Python package: pip install mcp
- Discuss (mail) module — bundled with Odoo
From the Odoo App Store
Search for AI Dashboard Studio in the Apps menu of your Odoo instance, click Install, and restart workers.
From source
cd /opt/odoo/extra-addons
git clone https://github.com/NETLINKSAF/ai-dashboard-studio.git
pip install mcp
odoo-bin -d <your_db> -i ai_dashboard_studio
On Odoo.sh
Add this repository as a submodule under your extra-addons directory, push to your production branch, and wait for the build.
Configuration
System parameters
| Key | Default | Purpose |
|---|---|---|
| ai_dashboard_studio.audit_log_retention_days | 90 | Days to retain mcp.audit.log rows |
| ai_dashboard_studio.session_idle_timeout | 3600 | Mcp-Session-Id idle timeout (seconds) |
| ai_dashboard_studio.session_max_age | 86400 | Mcp-Session-Id absolute max age (seconds) |
| ai_dashboard_studio.execute_method_allowlist | regex | Allowlisted ORM methods for odoo_execute |
| ai_dashboard_studio.model_blocklist | regex | Models that all tools refuse to touch |
| ai_dashboard_studio.search_limit_max | 1000 | Hard cap on odoo_search_read limit |
| ai_dashboard_studio.query_timeout_seconds | 30 | Query cursor-cancel timeout |
| ai_dashboard_studio.server_action_allowlist | empty | Admin-opt-in server actions for odoo_run_server_action (empty = deny) |
Scheduled actions
- MCP: Cleanup old audit logs — runs daily, calls model._cleanup_old_entries() to delete audit rows older than audit_log_retention_days.
- Dashboard: Email snapshots — sends scheduled HTML email snapshots per dashboard configuration (daily / weekly / monthly).
- Dashboard: KPI alerts — evaluates KPI thresholds on the configured frequency and notifies recipients when conditions are met.
Security
- Strict Bearer auth — no anonymous access, no admin fallback
- SHA-256 hashed secrets, constant-time verification
- SELECT FOR UPDATE on first-bind authorize
- Double-check on token revoke between lookup and return
- PII redaction in audit log (anchored regex on field names)
- Portal-follower chatter redaction
- 20-active-credentials cap per non-admin
- Module-load assertion catches orphan client with active token
- 600 req/min per token, 20 req/min per IP on register, 10 req/min per IP on token endpoint
- Comprehensive STRIDE threat-model coverage with dedicated test methods
- 100/100 security posture (15-phase CSO audit)
See the project's full doc/security.md for the complete threat model and operations runbook.
Compatibility
| Client | Protocol | Auth | Status |
|---|---|---|---|
| Claude.ai (web) | MCP 2025-03-26 | Auto-register + PKCE | Tested |
| Claude Desktop (macOS / Windows) | MCP 2025-03-26 | client_credentials | Tested |
| Claude Code (CLI) | MCP 2025-03-26 | authorization_code + PKCE | Tested |
| Cursor | MCP 2025-03-26 | Bearer header (any grant) | Compatible |
| Continue, Cline, Aider, Zed | MCP 2025-03-26 | Bearer header | Compatible |
| ChatGPT Desktop / Connectors | MCP 2025-03-26 | varies | Compatible |
| OpenAI Agents SDK | MCP 2025-03-26 | client_credentials | Compatible |
| Any spec-compliant MCP client | 2025-03-26 or 2024-11-05 | OAuth 2.0 Bearer | Compatible |
Support
- Commercial support: support@netlinks.net
- Bug reports & feature requests: https://github.com/NETLINKSAF/ai-dashboard-studio/issues
- Author: NETLINKS Inc — https://www.netlinks.net
License
This module is licensed under the Odoo Proprietary License v1.0 (OPL-1): https://www.odoo.com/documentation/19.0/legal/licenses.html#odoo-apps
Copyright © 2026 NETLINKS Inc. All rights reserved.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module