KSRO LabsMCP Server for Odoo
  • How it works
  • Tools
  • Security
  • Docs
  • Support
Install on Odoo →
Compliance documentation

Data Access Scope

Last updated: April 2026 · This page is intended for Anthropic connector review and enterprise compliance assessment.

For Anthropic reviewers: This page documents the exact OAuth scope, data access model, tool capabilities, and data flow for the MCP Server for Odoo connector. KSRO Labs does not operate any server in the data path between Claude and the customer's Odoo instance.

1. OAuth scope

The connector requests a single OAuth scope: mcp.

This scope is not granular — it grants access to all MCP tools that the authorized Odoo user's account is permitted to use. There is no separate read-only scope. Access granularity is enforced at the Odoo permission layer, not at the OAuth scope layer.

The OAuth implementation follows the OAuth 2.1 authorization code flow with PKCE, implemented natively within Odoo using Odoo's built-in OAuth server module.

2. Data flow architecture

The MCP Server for Odoo operates as follows:

  1. The customer installs the mcp_server_odoo Odoo module on their own Odoo instance.
  2. The module registers an MCP endpoint at https://[customer-odoo-domain]/mcp.
  3. The customer adds this URL as a custom connector in Claude.ai or Claude Desktop.
  4. When the customer prompts Claude, Claude calls POST /mcp on the customer's Odoo directly.
  5. Odoo processes the MCP request using its own database, enforcing the user's permissions.
  6. Odoo returns the result directly to Claude (Anthropic's infrastructure).

KSRO Labs is not in this data path. No MCP requests, no response data, no Odoo records pass through KSRO Labs servers at any point.

3. Data KSRO Labs collects

The only data that reaches KSRO Labs servers is a one-time license registration on module install:

  • Odoo database UUID (to uniquely identify the license)
  • Odoo base URL (to associate license with deployment)
  • Company name (for license display)
  • Odoo version (for compatibility tracking)

This data is stored in Supabase and used solely for license validation. It is never sold, shared, or used for any other purpose. No business records are collected.

4. Read tool access table

Tool(s)Access typeScope within Odoo
search_recordsRead any modelFields and records visible to the authorized user
get_recordRead any modelSingle record by ID, within user's access
list_modelsRead model registryModel names, labels, and descriptions only
describe_modelRead model schemaField definitions and types — no record data
aggregate_recordsRead any modelAggregated (grouped/summed) data — no raw records returned
pivot / timeseries / cohort / topn / funnelRead any modelAggregated analytics — no raw personal data returned
export_datasetRead any modelFull field export of records within user's access
batch_searchRead any modelMultiple searches in one call — same per-model restrictions apply
analytics_list_dashboardsRead analytics configDashboard list and metadata only — no underlying record data
analytics_get_dashboard_dataRead analytics configFull data payload for a specific dashboard
list_portal_pagesRead portal pagesPages created by the MCP module only
get_portal_schemaRead portal pagesContent schema and metadata for a specific portal page
get_job_statusRead job queueCurrent status of a background job submitted via MCP
get_job_resultRead job queueResult payload of a completed background job
generate_module_specRead / utilityGenerates a structured spec object — no Odoo data written

5. Write tool access table

Write access: These tools can create, modify, and delete records in the customer's Odoo. All operations are constrained by the authorizing user's Odoo permissions. To restrict Claude to read-only access, the customer should authorize using an Odoo user with read-only roles.
Tool(s)Access typeScope within Odoo
create_record / update_record / delete_recordWrite any modelConstrained to models and records the user can create/write/delete
batch_create / batch_update / batch_deleteWrite any modelBulk operations — same per-model write restrictions apply
analytics_create_dashboard / analytics_add_widgetWrite analytics configCreates or modifies dashboards within the user's Odoo account
build_module_zip / install_module_zipWrite Odoo instanceGenerates and installs a custom Odoo module — requires admin role
create_portal_page / update_portal_page / delete_portal_pageWrite portal pagesManages publicly accessible portal pages within Odoo
submit_job / cancel_jobWrite job queueQueues or cancels background tasks — no direct record data written

6. Permission enforcement

Every MCP tool call is executed under the authenticated Odoo user's session. Odoo enforces:

  • Access groups — determines which models the user can read, write, create, or delete
  • Record rules — domain filters applied per model that restrict which records are visible
  • Field-level security — restricts read/write access to specific fields on a model
  • Sudo context — the MCP module does not use Odoo's sudo() context, meaning all operations run with the exact user's access level

7. Token storage

OAuth access and refresh tokens issued after authorization are stored encrypted in the customer's own Odoo database. They are never transmitted to or stored by KSRO Labs. The customer can revoke access at any time via Odoo's OAuth application settings.

8. Supported deployment types

  • Odoo.com SaaS — supported (HTTPS by default)
  • Odoo.sh — supported (HTTPS by default)
  • Self-hosted with public HTTPS — supported
  • Self-hosted behind corporate firewall/VPN — not supported (Claude cannot reach the endpoint)

9. Contact for compliance questions

For questions about this connector's data access model, security posture, or compliance documentation: [email protected]

KSRO Labs

MCP Server for Odoo — give Claude full, permission-governed access to your live Odoo data.

← Back to ksrolabs.com
Product
  • How it works
  • Tools (35)
  • Security
  • FAQ
  • Odoo App Store →
Developers
  • Setup guide
  • Claude Desktop
  • Troubleshooting
  • Data access scope
Legal
  • Privacy policy
  • Terms & conditions
  • Data access scope
  • Support
  • [email protected]
© 2026 KSRO Labs. All rights reserved. OPL-1 commercial license.
PrivacyTermsData scope