# MCP Odoo Server - Project Summary
## What Has Been Created
A complete Model Context Protocol (MCP) server that enables AI assistants and other MCP clients to connect to and interact with Odoo databases using XML-RPC.
## Project Structure
````
mcp-odoo-server/
├── src/
│ ├── index.ts # Main MCP server with all tool handlers
│ ├── odoo-connection.ts # Odoo XML-RPC connection logic
│ └── types.ts # TypeScript type definitions
├── build/ # Compiled JavaScript files
├── examples/
│ ├── basic-crud.md # CRUD operation examples
│ ├── sales-orders.md # Sales order management examples
│ ├── module-management.md # Module installation examples
│ ├── advanced-operations.md # Advanced usage examples
│ └── configuration.md # MCP client configuration examples
├── package.json # Node.js dependencies
├── tsconfig.json # TypeScript configuration
├── README.md # Complete documentation
└── QUICKSTART.md # Quick start guide
## Features Implemented
### Core Functionality
✅ XML-RPC connection to Odoo databases
✅ Authentication with API keys
✅ Connection pooling and management
### CRUD Operations
✅ Search records with domain filters
✅ Search and read in single call
✅ Read specific records by ID
✅ Create new records
✅ Update existing records
✅ Delete records
### Module Management
✅ List installed modules
✅ Install modules
✅ Uninstall modules
✅ Upgrade modules
✅ Search for available modules
### Advanced Features
✅ Get field definitions
✅ Check access rights
✅ Execute custom model methods
✅ Get server version info
✅ Support for complex domain queries
✅ Pagination support
## Available MCP Tools
1. **odoo_connect** - Establish database connection
2. **odoo_search** - Search for record IDs
3. **odoo_search_read** - Search and read records
4. **odoo_read** - Read specific records
5. **odoo_create** - Create new records
6. **odoo_write** - Update records
7. **odoo_delete** - Delete records
8. **odoo_fields_get** - Get field definitions
9. **odoo_execute** - Execute custom methods
10. **odoo_version** - Get server version
11. **odoo_check_access_rights** - Check permissions
12. **odoo_get_installed_modules** - List modules
13. **odoo_install_module** - Install module
14. **odoo_uninstall_module** - Uninstall module
15. **odoo_upgrade_module** - Upgrade module
## Technology Stack
- **TypeScript** - Type-safe development
- **Node.js** - Runtime environment
- **XML-RPC** - Odoo communication protocol
- **MCP SDK** - Model Context Protocol implementation
## Connection Parameters
The server accepts the following connection parameters:
- `host` - Odoo server hostname
- `database` - Database name
- `username` - User email
- `apiKey` - API key from Odoo preferences
- `port` - Optional port (default: 8069)
- `protocol` - Optional protocol (default: http)
## How to Use
### 1. Install and Build
```bash
cd mcp-odoo-server
npm install
npm run build
````
### 2. Configure MCP Client
Add to Claude Desktop config:
```json
{
"mcpServers": {
"odoo": {
"command": "node",
"args": ["/path/to/mcp-odoo-server/build/index.js"]
}
}
}
```
### 3. Connect to Odoo
Use the `odoo_connect` tool with your credentials.
### 4. Perform Operations
Use any of the 15 available tools to interact with Odoo.
## Security Features
- API key authentication (not password-based)
- Respects Odoo access rights
- No credential storage
- Connection per session
## Documentation Provided
- **README.md** - Complete documentation with examples
- **QUICKSTART.md** - Quick start guide for new users
- **examples/** - Detailed usage examples for common scenarios
- Inline code comments and TypeScript types
## Integration with Odoo Development
This MCP server complements your Odoo development environment by:
- Enabling remote database access via XML-RPC
- Supporting both local and remote Odoo instances
- Working alongside your local odoo.conf configuration
- Allowing AI-assisted database operations
- Supporting module development workflows
## Next Steps
To start using the MCP server:
1. ✅ The server is built and ready
2. Configure your MCP client (Claude Desktop, Continue, etc.)
3. Generate an API key from your Odoo instance
4. Connect using the `odoo_connect` tool
5. Start performing operations!
## Testing Checklist
Once configured, test with these commands:
- [ ] Connect to database
- [ ] Get server version
- [ ] List installed modules
- [ ] Search for records
- [ ] Create a test record
- [ ] Read the created record
- [ ] Update the record
- [ ] Delete the record
## Additional Resources
- [Odoo XML-RPC Documentation](https://www.odoo.com/documentation/17.0/developer/reference/external_api.html)
- [MCP Protocol Documentation](https://modelcontextprotocol.io)
- Odoo domain syntax reference in README.md
- Common Odoo models reference in README.md
---
**Status**: ✅ Complete and ready to use
**Build**: ✅ Successful
**Dependencies**: ✅ Installed
**Documentation**: ✅ Comprehensive