Skip to main content
Glama
README.md
# 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.