odoo-timesheet-mcp
v1.1.0
Published
MCP server for managing Odoo 16 timesheets via External API
Readme
Odoo Timesheet MCP Server
An MCP (Model Context Protocol) server for managing Odoo 16 timesheets via the External API.
Features
- List timesheet entries with filtering
- Read detailed timesheet information
- Create new timesheet entries
- Update existing timesheet entries
- Delete timesheet entries
Prerequisites
- Node.js 18 or higher
- An Odoo 16 instance with External API access
- Odoo API credentials (username/password or API key)
Installation
npm install
npm run buildConfiguration
Copy the example configuration file:
cp config.example.json config.jsonEdit config.json with your Odoo instance details:
{
"odoo_url": "https://your-instance.odoo.com",
"odoo_db": "your-database-name",
"odoo_username": "your-username",
"odoo_password": "your-password-or-api-key"
}Usage
As MCP Server
Add to your MCP client configuration:
{
"mcpServers": {
"odoo-timesheet": {
"command": "node",
"args": ["/path/to/odoo-timesheet-mcp/dist/index.js"],
"env": {
"ODOO_URL": "https://your-instance.odoo.com",
"ODOO_DB": "your-database",
"ODOO_USERNAME": "your-username",
"ODOO_PASSWORD": "your-password"
}
}
}
}Available Tools
list_timesheets
List timesheet entries with optional filters.
Parameters:
limit(optional): Maximum number of entries to returnoffset(optional): Number of entries to skipemployee_id(optional): Filter by employee IDproject_id(optional): Filter by project IDdate_from(optional): Filter entries from date (YYYY-MM-DD)date_to(optional): Filter entries to date (YYYY-MM-DD)
read_timesheet
Read detailed information for specific timesheet entries.
Parameters:
ids: Array of timesheet entry IDs to read
create_timesheet
Create a new timesheet entry.
Parameters:
project_id: Project IDtask_id(optional): Task IDname: Description of workunit_amount: Hours workeddate: Date (YYYY-MM-DD)employee_id(optional): Employee ID
update_timesheet
Update existing timesheet entries.
Parameters:
ids: Array of timesheet entry IDs to updatevalues: Object with fields to update
delete_timesheet
Delete timesheet entries.
Parameters:
ids: Array of timesheet entry IDs to delete
Development
npm run watch # Watch mode for development
npm run dev # Build and runAPI Reference
This server uses the Odoo 16 External API (XML-RPC): https://www.odoo.com/documentation/16.0/developer/reference/external_api.html
The main model used is account.analytic.line which represents timesheet entries in Odoo.
