MCP Odoo Server
Enables conversational interaction with Odoo to manage timesheets, expenses, contacts, and invoices through an MCP-compatible assistant. It provides comprehensive tools for searching records, managing HR tasks, and tracking project costs via the Odoo API.
README
MCP Odoo Server
Serveur MCP (Model Context Protocol) pour intégrer Odoo avec Claude et d'autres assistants IA compatibles MCP.
Fonctionnalités
Ce serveur MCP permet de gérer les données Odoo via une interface conversationnelle :
Gestion du temps (Timesheets)
list_projects- Lister les projets disponibleslist_tasks- Lister les tâches (filtrable par projet)list_timesheets- Lister les pointagesget_timesheet_summary_by_employee- Résumé des heures par employécreate_timesheet- Créer un pointageupdate_timesheet- Modifier un pointagedelete_timesheet- Supprimer un pointage
Notes de frais (Expenses)
list_expense_categories- Lister les catégories de dépenseslist_expenses- Lister les notes de fraiscreate_expense- Créer une note de fraisupdate_expense- Modifier une note de frais (avec support analytic_account_id)delete_expense- Supprimer une note de fraisadd_expense_attachment- Ajouter une pièce jointelist_expense_attachments- Lister les pièces jointes
Contacts
list_contacts- Lister les contacts (clients/fournisseurs)get_contact- Détails d'un contactcreate_contact- Créer un contact
Facturation
list_invoices- Lister les facturesget_invoice- Détails d'une facture
Ventes
list_sale_orders- Lister les commandes/devisget_sale_order- Détails d'une commande
Produits
list_products- Lister les produitsget_product- Détails d'un produit
Ressources humaines
list_employees- Lister les employésget_employee- Détails d'un employélist_departments- Lister les départementslist_leave_types- Types de congés disponiblescreate_leave_allocation- Créer une allocation de congéslist_leave_allocations- Lister les allocationsapprove_leave_allocation- Approuver une allocationcreate_public_holiday- Créer un jour fériélist_public_holidays- Lister les jours fériés
Utilitaires
test_connection- Tester la connexion Odoosearch_records- Rechercher dans n'importe quel modèle Odooget_rd_project_costs- Coûts des projets R&D
Installation
Prérequis
- Python 3.11+
- Une instance Odoo avec accès API
- Une clé API Odoo
- Redis (optionnel, pour le cache)
Installation
# Cloner le repository
git clone https://github.com/industream/mcp-odoo.git
cd mcp-odoo
# Créer un environnement virtuel
python -m venv venv
source venv/bin/activate # Linux/Mac
# ou: venv\Scripts\activate # Windows
# Installation standard
pip install -e .
# Installation avec toutes les dépendances (dev + redis)
pip install -e ".[all]"
# Configurer les variables d'environnement
cp .env.example .env
# Éditer .env avec vos credentials Odoo
Configuration
Créez un fichier .env à partir de .env.example :
# URL de votre instance Odoo (sans slash final)
ODOO_URL=https://votre-instance.odoo.com
# Nom de la base de données Odoo
ODOO_DB=votre-instance
# Votre nom d'utilisateur (email)
ODOO_USERNAME=votre-email@example.com
# Votre clé API Odoo
ODOO_API_KEY=votre-cle-api
# Redis Cache (optionnel)
REDIS_ENABLED=true
REDIS_URL=redis://localhost:6379/0
REDIS_DEFAULT_TTL=300
# Logging
LOG_LEVEL=INFO
LOG_FORMAT=json # ou "text" pour le développement
Obtenir une clé API Odoo
- Connectez-vous à votre instance Odoo
- Cliquez sur votre profil en haut à droite
- Allez dans Préférences
- Onglet Sécurité du compte
- Section Clés API > Nouvelle clé API
- Donnez un nom à la clé et copiez-la
Utilisation avec Claude Code
Ajoutez le serveur MCP dans votre configuration Claude Code (~/.config/claude-code/settings.json) :
{
"mcpServers": {
"odoo": {
"type": "stdio",
"command": "/chemin/vers/mcp-odoo/venv/bin/python",
"args": ["-m", "mcp_odoo.server"],
"cwd": "/chemin/vers/mcp-odoo/src"
}
}
}
Redémarrez Claude Code pour charger le serveur.
Exemples d'utilisation
Une fois configuré, vous pouvez demander à Claude :
- "Liste mes pointages de cette semaine"
- "Crée un pointage de 2h sur le projet X"
- "Montre-moi le résumé des heures par employé pour novembre"
- "Ajoute une note de frais de 50€ pour un repas client"
- "Liste les factures en attente"
Développement
Commandes disponibles (Makefile)
# Installation
make install # Installation production
make install-dev # Installation développement (avec linting, tests, etc.)
# Qualité du code
make lint # Vérifier le code (ruff)
make format # Formater le code (ruff)
make typecheck # Vérification des types (mypy)
# Tests
make test # Tests unitaires
make test-cov # Tests avec couverture
make test-integration # Tests d'intégration
# Build
make build # Construire le package
make clean # Nettoyer les artefacts
# Lancer le serveur
make run # Mode production
make run-dev # Mode debug (LOG_LEVEL=DEBUG)
# Docker
make docker-up # Démarrer les services (Redis, etc.)
make docker-down # Arrêter les services
Structure du projet
mcp-odoo/
├── src/
│ └── mcp_odoo/
│ ├── __init__.py
│ ├── server.py # Serveur MCP principal
│ ├── client.py # Client Odoo XML-RPC
│ ├── config.py # Configuration (pydantic-settings)
│ ├── cache.py # Cache Redis
│ ├── logging_config.py # Configuration logging
│ ├── validators.py # Validation des données
│ ├── formatters.py # Formatage des réponses
│ ├── decorators.py # Décorateurs utilitaires
│ ├── exceptions.py # Exceptions personnalisées
│ ├── constants.py # Constantes
│ └── tools/ # Outils MCP par domaine
│ ├── contacts.py
│ ├── products.py
│ ├── sales.py
│ ├── invoices.py
│ ├── expenses.py
│ ├── projects.py
│ ├── timesheets.py
│ ├── hr.py
│ └── utilities.py
├── tests/
│ ├── unit/ # Tests unitaires
│ └── integration/ # Tests d'intégration
├── server.py # Point d'entrée legacy
├── pyproject.toml # Configuration du projet
├── Makefile # Commandes de développement
├── docker-compose.yml # Services Docker (Redis, etc.)
└── .env.example # Template de configuration
Docker
Le projet inclut un docker-compose.yml avec Redis pour le cache :
# Démarrer Redis
docker-compose up -d redis
# Vérifier le statut
docker-compose ps
Licence
MIT
Contributions
Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou une pull request.
Avant de contribuer, assurez-vous que :
make lint # Pas d'erreurs de linting
make typecheck # Pas d'erreurs de typage
make test # Tous les tests passent
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。