# MCP-Odoo
Model Context Protocol server for Odoo integration, allowing AI agents to access and manipulate Odoo data through a standardized interface.
## Overview
MCP-Odoo provides a bridge between Odoo ERP systems and AI agents using the Model Context Protocol (MCP). This enables AI systems to:
- **CRM Management**: Complete lead/opportunity lifecycle management with Universidad ISEP customizations
- **Partner Management**: Comprehensive contact and customer/supplier management
- **Accounting Analysis**: View and analyze financial data including invoices and payments
- **Academic Programs**: University-specific program tracking and enrollment management
- **Data Integration**: Support for Mautic CRM and Google Analytics integration
- **Multi-team Support**: Sales team and workflow management
## Features
- ๐ Easy integration with Odoo instances
- ๐ค Standard MCP interface for AI agent compatibility
- ๐ Rich accounting and CRM data access
- ๐ University-specific academic program management (ISEP)
- ๐ฅ Complete partner/contact lifecycle management
- ๐ CRM analytics and dashboard statistics
- ๐ Lead to opportunity conversion workflows
- ๐ข Multi-team sales management
- ๐ Secure authentication with Odoo
## Installation
```bash
# Clone the repository
git clone https://github.com/yourtechtribe/model-context-protocol-mcp-odoo.git
cd model-context-protocol-mcp-odoo
# Install dependencies
pip install -r requirements.txt
```
## Configuration
Create a `.env` file in the project root with the following variables:
```
ODOO_URL=https://your-odoo-instance.com
ODOO_DB=your_database
ODOO_USERNAME=your_username
ODOO_PASSWORD=your_password
HOST=0.0.0.0
PORT=8080
```
## Usage
Start the MCP server:
```bash
# Using the SSE transport (default)
python -m mcp_odoo_public
# Using stdio for local agent integration
python -m mcp_odoo_public --transport stdio
```
## Documentation
Comprehensive documentation is available in the `docs/` directory:
- [Documentation Home](docs/index.md) - Start here for an overview of all documentation
- [Implementation Guide](docs/implementation_guide.md) - Detailed architecture and implementation details
- [Accounting Functionality](docs/accounting_guide.md) - In-depth guide to accounting features
- [CRM Functionality](docs/crm_guide.md) - Complete guide to CRM and partner management
- [Troubleshooting](docs/troubleshooting.md) - Solutions for common issues
- [Usage Examples](docs/examples/basic_usage.md) - Practical examples to get started
## Available Tools
### CRM Management
- `list_leads` - List and filter leads/opportunities with Universidad ISEP custom fields
- `get_lead_details` - Get comprehensive lead information
- `create_lead` - Create new leads with academic program tracking
- `update_lead` - Update lead information and progress
- `convert_lead_to_opportunity` - Convert leads to opportunities
- `get_crm_dashboard_stats` - Get performance metrics and analytics
### Partner Management
- `list_partners` - List and filter contacts/companies
- `get_partner_details` - Get detailed partner information
- `create_partner` - Create new partners/contacts
- `update_partner` - Update partner information
### Academic Programs (ISEP Specific)
- `get_academic_programs` - List available academic programs
- `list_crm_stages` - Get CRM workflow stages
- `list_crm_teams` - Get sales teams
- `get_lead_activities` - Get lead-related activities
### Accounting (Existing)
- `list_vendor_bills` - List supplier invoices
- `list_customer_invoices` - List customer invoices
- `list_payments` - List payments with filtering
- `reconcile_invoices_and_payments` - Generate reconciliation reports
## Development
### Project Structure
- `mcp_odoo_public/`: Main package
- `odoo/`: Odoo client and related modules
- `resources/`: MCP resources definitions (tools and schemas)
- `server.py`: MCP server implementation
- `config.py`: Configuration management
- `mcp_instance.py`: FastMCP instance definition
### Adding New Resources
Resources define the capabilities exposed to AI agents through MCP. To add a new resource:
1. Create a new file in the `resources/` directory
2. Define your resource using the `@mcp.tool()` decorator
3. Import your resource in `resources/__init__.py`
For detailed instructions, see the [Implementation Guide](docs/implementation_guide.md).
## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Author
Albert Gil Lรณpez
- Email: albert.gil@yourtechtribe.com
- LinkedIn: https://www.linkedin.com/in/albertgilopez/
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/iaisep/mcpserver'
If you have feedback or need assistance with the MCP directory API, please join our Discord server