From c9086481a5abcfca61c69974384e7597da27a43d Mon Sep 17 00:00:00 2001 From: mpmedia Date: Thu, 28 May 2026 17:38:57 -0500 Subject: [PATCH] docs: update README to v0.4.0 --- README.md | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index adfd802..a6d1bc1 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ MPM Odoo ERP plugin for Claude Cowork — connects to mpmedia.odoo.com via XML-RPC with proxy-aware transport. -**Version:** 0.3.0 +**Version:** 0.4.0 **Author:** Message Point Media **Repo:** https://git.mpm.to/mpm/odoo-mpm-plugin **CoWork Project:** CW-003 — Odoo V19 MCP Bridge @@ -11,7 +11,7 @@ MPM Odoo ERP plugin for Claude Cowork — connects to mpmedia.odoo.com via XML-R ## Overview -This plugin bridges Claude Cowork to MPM's Odoo ERP instance at mpmedia.odoo.com. It runs a local MCP server (`odoo-mpm`) via `uv` that exposes read/write access across 12 modules: Products, Knowledge (with Templates), Contacts, Sales, CRM, Projects, Helpdesk, Purchase, Inventory, Employees, eLearning, and Utilities. +This plugin bridges Claude Cowork to MPM's Odoo ERP instance at mpmedia.odoo.com. It runs a local MCP server (`odoo-mpm`) via `uv` that exposes read/write access across 12 modules: Products, Knowledge (with Templates), Contacts, Sales, CRM, Project (full CRUD + milestones + subtasks + chatter + followers + stages), Helpdesk, Purchase, Inventory, Employees, eLearning, 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. @@ -36,7 +36,14 @@ Credentials are personal — each user authenticates with their own Odoo API key | **Contacts** | `search_contacts`, `get_contact`, `create_contact` | | **Sales** | `search_sales_orders`, `get_sales_order`, `create_sales_order`, `cancel_sale_orders`, `cancel_and_archive_quotations` | | **CRM** | `search_crm_leads`, `get_crm_lead`, `create_crm_lead`, `update_crm_lead`, `list_crm_stages`, `mark_crm_lead_lost`, `list_crm_lost_reasons` | -| **Project** | `list_projects`, `get_project`, `search_tasks`, `get_task`, `create_task`, `update_task`, `list_task_stages` | +| **Project — Core** | `list_projects`, `get_project`, `search_tasks`, `get_task`, `create_task`, `update_task`, `list_task_stages` | +| **Project — CRUD** | `create_project`, `update_project`, `archive_project` | +| **Project — Milestones** | `list_milestones`, `create_milestone`, `update_milestone` | +| **Project — Task Chatter** | `post_task_message`, `get_task_messages` | +| **Project — Subtasks** | `get_task_subtasks`, `create_subtask` | +| **Project — Lifecycle** | `archive_task` | +| **Project — Followers** | `add_task_follower`, `remove_task_follower` | +| **Project — Stages** | `create_task_stage`, `update_task_stage` | | **Helpdesk** | `search_helpdesk_tickets`, `get_helpdesk_ticket`, `create_helpdesk_ticket`, `update_helpdesk_ticket`, `list_helpdesk_teams` | | **Purchase** | `search_purchase_orders`, `get_purchase_order` | | **Inventory** | `search_inventory`, `get_stock_moves`, `list_internal_locations` | @@ -52,6 +59,23 @@ Credentials are personal — each user authenticates with their own Odoo API key `create_knowledge_article`, `update_knowledge_article`, and `get_knowledge_article` all support an `icon` parameter — a Unicode emoji (e.g. `"⚙️"`, `"🔌"`, `"🖥️"`) that sets the article's icon in the KB tree. Browse emojis at: **https://emojipedia.org** +### Projects Module (v0.4.0) +15 new tools completing full project lifecycle management. + +**Project CRUD:** Create projects with configurable visibility (`employees` / `portal` / `followers`), update metadata, archive/restore. + +**Milestones:** Full CRUD on `project.milestone`. `update_milestone(is_reached=True)` marks complete; `list_milestones` filters to open by default. + +**Task chatter:** `post_task_message` posts comments or internal notes to a task's chatter thread (`comment` vs `internal` message_type). `get_task_messages` returns the full message history. + +**Subtasks:** `get_task_subtasks` returns all direct children of a task. `create_subtask` links a new task to a parent and inherits the parent's project if none specified. + +**Followers:** `add_task_follower` / `remove_task_follower` accept either `partner_ids` or `user_ids` — user IDs are resolved to partner IDs automatically before calling `message_subscribe` / `message_unsubscribe`. + +**Stage management:** `create_task_stage` creates a kanban column and links it to one or more projects. `update_task_stage` supports incremental `add_project_ids` / `remove_project_ids` without replacing the full association list. + +--- + ### eLearning Module (v0.3.0) 22 tools across 5 groups for building and managing internal, reseller, and end-client courses.