TIP: You can type at any time to perform a new search.
Ai Oca Mcp
ai_oca_mcp · OCA/ai
- Repository
- OCA/ai · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Uncategorized
- Folder size
- 0.09 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/ai
- Last tracking update
- 2026-08-07 08:09:28
- Authors
- Odoo Community Association (OCA), Dixmit
- Maintainers
- Odoo Community Association (OCA), Dixmit
- Committers
- Enric Tobella, Weblate, OCA-git-bot, oca-ci
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
This module exposes Odoo AI tools as an MCP (Model Context Protocol) server, allowing external AI clients such as n8n or custom agents to call Odoo functions via the standardized MCP protocol. Authentication is handled via per-client API keys. Note: Claude Desktop requires OAuth 2.0, which is not supported directly by this module. An extension could be required.
Code Analysis ⓘ
Views touched (9)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
mcp_server_form_view |
mcp.server | form | New | |
mcp_server_key_add_form_view |
mcp.server.key.add | form | Inherits mcp_server_key_form_view | |
mcp_server_key_form_view |
mcp.server.key | form | New | |
mcp_server_key_tree_view |
mcp.server.key | tree | New | |
mcp_server_log_form_view |
mcp.server.log | form | New | |
mcp_server_log_search_view |
mcp.server.log | search | New | |
mcp_server_log_tree_view |
mcp.server.log | tree | New | |
mcp_server_search_view |
mcp.server | search | New | |
mcp_server_tree_view |
mcp.server | tree | New |
HTTP endpoints (1)
| Route(s) | Handler | Auth | Type | Methods | Flags |
|---|---|---|---|---|---|
/mcp/<string:key> |
McpController.mcp_endpoint |
none | http | POST | csrf off sudo |
Models touched (4)
New fields (7)
-
activeBooleandefault=True -
descriptionText -
keyCharcopy=Falsedefault=<expr>groups='base.group_system'required=True -
key_idsOne2many → mcp.server.keystring='Access Keys' args: 'mcp.server.key', 'server_id' -
nameChar -
tool_idsMany2many → ai.tooldomain=[('kind', '=', 'generic')]string='Tools' args: 'ai.tool' -
urlCharcompute='_compute_url'groups='base.group_system'
No public methods.
New fields (7)
-
expiration_dateDatetime -
expired_onDatetimereadonly=True -
hashed_keyCharcopy=False -
nameCharrequired=True -
server_idMany2one → mcp.serverondelete='cascade'required=True args: 'mcp.server' -
stateSelectiondefault='active' args: [('active', 'Active'), ('expired', 'Expired')] -
user_idMany2one → res.usersdefault=<expr> args: 'res.users'
-
expire_key(self)
New fields (3)
-
keyCharreadonly=Truestring='Key to use' -
key_idMany2one → mcp.server.keyondelete='cascade'required=True args: 'mcp.server.key' -
server_idMany2one → mcp.serverondelete='cascade'required=True args: 'mcp.server'
-
expire_key(self) -
generate_key(self)
New fields (6)
-
dateDatetimedefault=fields.Datetime.nowindex=True -
errorText -
requestText -
responseText -
server_idMany2one → mcp.serverondelete='cascade'required=True args: 'mcp.server' -
server_key_idMany2one → mcp.server.keyondelete='cascade'required=True args: 'mcp.server.key'
No public methods.
- Status
- Open migration PR — not merged yet for this version
- CI status
- checks failing
- Open since
- 52 days ago
- Last activity
- 52 days ago
- Repository
- OCA/ai
- Pull request
- [MIG] ai_oca_mcp: migration to 17.0 (#85)
- Status
- Open migration PR — not merged yet for this version
- CI status
- checks failing
- Open since
- 76 days ago
- Last activity
- 7 days ago
- Repository
- OCA/ai
- Pull request
- [18.0] [MIG] ai_oca_mcp (#76)
- Status
- Open migration PR — not merged yet for this version
- CI status
- green — ready to merge
- Open since
- 7 days ago
- Last activity
- 7 days ago
- Repository
- OCA/ai
- Pull request
- [19.0][MIG] ai_oca_mcp (#102)