This plugin bridges Claude Cowork to MPM's Odoo V19 ERP instance at mpmedia.odoo.com. It runs a local MCP server (`odoo-mpm`) via `uv` that exposes read/write access across 11 modules: Products, Knowledge, Contacts, Sales, CRM, Projects, Helpdesk, Purchase, Inventory, Employees, and Utilities.
Credentials are personal — each user authenticates with their own Odoo API key, stored securely in the OS keystore (macOS Keychain / Windows Credential Manager / Linux Secret Service). Keys are never written to disk.
`create_knowledge_article` and `update_knowledge_article` both accept an optional `icon` parameter — a single Unicode emoji string (e.g. `"⚙️"`, `"🔌"`, `"🖥️"`) that sets the article's icon in the KB tree view. `get_knowledge_article` now returns the `icon` field. Passing an empty string or omitting the parameter leaves the existing icon unchanged.
Browse and copy emojis at: **https://emojipedia.org**
1.**Install the plugin** — Claude Desktop: Settings → Plugins → Add Plugin → paste `https://git.alwisp.com/jason/odoo-mpm-plugin`. Or install from the `.plugin` file (ask Bryan for current build).
2.**Verify `uv` is installed** — Run `which uv` in terminal. If missing:
3.**Restart Claude Desktop** — Dependencies download automatically on first launch (a few seconds).
4.**Generate your Odoo API key** — Log in to [mpmedia.odoo.com](https://mpmedia.odoo.com) → Avatar → My Profile → Account Security → API Keys → New API Key. Label it `Claude Cowork`. Set expiration to **No Limit**. Copy the key immediately — it will not be shown again.
5.**Connect Claude to Odoo** — In chat, say "Set up my Odoo credentials". Provide your Odoo login email and API key. Claude stores them in your OS keystore and verifies the connection. Done once per machine.
6.**Verify** — Ask Claude: "List my Odoo projects." A project list confirms a successful connection.
### Setup Checklist
- [ ] Plugin installed (URL or `.plugin` file)
- [ ]`uv` installed and available in terminal
- [ ] Claude restarted after install
- [ ] Odoo API key generated (No Limit expiration)