Timesheet MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TIMESHEET_API_TOKEN | Yes | Your Timesheet API token |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| timer_startA | Use this when the user wants to begin tracking time on a specific project. The user can optionally specify a custom start time in the past, otherwise it defaults to now. |
| timer_stopA | Use this when the user wants to stop the currently active timer and complete the time tracking session. The user can optionally specify when the timer should be stopped. |
| timer_pauseA | Use this when the user wants to pause the timer to take a break. This temporarily stops time tracking while keeping the task active. |
| timer_resumeA | Use this when the user wants to resume time tracking after a break or pause. This restarts the timer from its paused state. |
| timer_statusA | Use this when the user wants to check the current state of their timer, including whether it's running, paused, or stopped, and details about the active task. |
| timer_updateA | Use this when the user wants to modify details of the currently running timer task, such as description, location, billability, or mood rating. |
| task_add_noteA | Use this when the user wants to add a text note or comment to the currently running task for future reference or documentation. |
| task_add_expenseA | Use this when the user wants to record an expense or cost associated with the currently running task, such as travel, materials, or client entertainment. |
| task_add_pauseA | Use this when the user wants to manually record a past break or pause period that was not tracked in real-time. |
| team_listA | Use this when the user wants to view or search for teams. IMPORTANT: Use this tool to find team IDs by searching team names, which can then be used to filter projects. Supports text search and pagination. |
| project_listA | Use this when the user wants to view their projects. IMPORTANT: When the user asks for a specific number (e.g., "show me 5 projects"), use the limit parameter to control how many projects are returned. Always use pagination to avoid loading all projects unnecessarily. Supports filtering by team, status, date ranges, and text search. |
| project_createA | Use this when the user wants to create a new project to organize their time tracking. |
| project_updateA | Use this when the user wants to modify an existing project's details such as title, description, or archive status. |
| project_deleteA | Use this when the user wants to permanently delete a project. WARNING: This is a destructive operation that cannot be undone. All associated tasks will remain but will lose their project association. |
| project_getA | Use this when the user wants to view detailed information about a specific project. |
| task_listA | Use this when the user wants to view their time entries. IMPORTANT: When the user asks for a specific number (e.g., "show me 10 tasks"), use the limit parameter to control how many tasks are returned. Always use pagination to avoid loading all tasks unnecessarily. Supports extensive filtering by organization, team, project, user, tags, and more. |
| task_createA | Use this when the user wants to manually create a time entry for past work, rather than using the timer. |
| task_updateA | Use this when the user wants to modify details of an existing time entry such as times, description, or billing status. |
| task_deleteA | Use this when the user wants to permanently delete a time entry. WARNING: This is a destructive operation that cannot be undone. |
| task_getA | Use this when the user wants to view detailed information about a specific time entry/task. |
| auth_configureA | Use this when the user needs to configure API key authentication for the Timesheet MCP server. NOTE: This will be deprecated once OAuth 2.1 is implemented. |
| report_document_getA | Use this when the user wants to retrieve formatted document/invoice data including tasks, expenses, and financial calculations. Returns JSON data ready for display. |
| report_document_pdfA | Use this when the user wants to generate and download a PDF version of a document/invoice. Returns a download URL for the PDF file. |
| report_document_xmlA | Use this when the user wants to generate XML representation of a document for e-invoicing (Zugferd, XRechnung, ebInterface). Returns XML data for electronic invoice processing. |
| report_task_getA | Use this when the user wants to retrieve formatted task data including time tracking, rates, and project details. |
| report_task_pdfB | Use this when the user wants to generate and download a PDF report for a specific task. |
| report_expense_getA | Use this when the user wants to retrieve formatted expense data including amounts and receipt information. |
| report_expense_pdfA | Use this when the user wants to generate and download a PDF report for a specific expense including receipt images. |
| report_note_getA | Use this when the user wants to retrieve formatted note data including content and attachments. |
| report_note_pdfA | Use this when the user wants to generate and download a PDF report for a specific note including images. |
| export_generateA | Use this when the user wants to export their timesheet data in Excel (xlsx), CSV, or PDF format. Returns a download URL for the export file. |
| export_sendB | Use this when the user wants to generate and send a timesheet export directly to an email address. |
| export_from_templateA | Use this when the user wants to generate an export using a previously saved template with specific date range. |
| export_fieldsA | Use this when the user wants to see what fields/columns are available for customizing exports. |
| export_report_typesA | Use this when the user wants to see what report types are available for export (e.g., detailed, summary, by project). |
| export_template_listA | Use this when the user wants to see their saved export templates for quick recurring exports. |
| export_template_getA | Use this when the user wants to view details of a specific export template. |
| export_template_createA | Use this when the user wants to save their export configuration as a reusable template. |
| export_template_updateA | Use this when the user wants to modify an existing export template. |
| export_template_deleteA | Use this when the user wants to delete an export template. This cannot be undone. |
| statistics_getA | Use this when the user wants to see time tracking statistics, summaries, or reports for a date range. Returns aggregated totals, project breakdowns, and daily/weekly hour charts. |
| absence_listA | List absences in an organization. Filter by contract, user, type, status, date range. |
| absence_getB | Get a single absence by ID. |
| absence_createB | Create a new absence (vacation, sick leave, etc.). |
| absence_updateC | Update an absence. |
| absence_deleteC | Delete an absence. |
| absence_approveB | Approve a pending absence. |
| absence_rejectB | Reject a pending absence with a reason. |
| absence_cancelC | Cancel an absence with a reason. |
| absence_type_listB | List absence types for an organization (vacation, sick, etc.). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| TimerWidget Component | Interactive TimerWidget widget |
| ProjectList Component | Interactive ProjectList widget |
| ProjectCard Component | Interactive ProjectCard widget |
| TaskList Component | Interactive TaskList widget |
| TaskCard Component | Interactive TaskCard widget |
| Statistics Component | Interactive Statistics widget |
| ExportWidget Component | Interactive ExportWidget widget |
Latest Blog Posts
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/timesheetIO/timesheet-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server