Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.timesheetIO/timesheet-mcp

NPM · @TIMESHEET/MCP · SCANNED SEP 24

timesheet.io MCP server - manage timers, projects, tasks and reports

Available components

0 this week 80 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security89
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: a known high-severity CVE affects axios 1.12.0, reached via @timesheet/sdk > axios. A fixed version is available. View diagnostics → Fail
  • No install/post-install scripts declared.Pass
  • 74 of 201 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability80
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 4180 tokens (~104/item across 40 items; 40 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management97
  • Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 40 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities47
  • Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail
  • Supports UI / widget rendering.Pass
Install

How do I install the io.github.timesheetIO/timesheet-mcp server?

io.github.timesheetIO/timesheet-mcp runs locally as an npm package, launched with npx -y @timesheet/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · @timesheet/mcp

# add to Claude Code
claude mcp add timesheetio-timesheet-mcp -- npx -y @timesheet/mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "timesheetio-timesheet-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@timesheet/mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "timesheetio-timesheet-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@timesheet/mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add timesheetio-timesheet-mcp -- npx -y @timesheet/mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "timesheetio-timesheet-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@timesheet/mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add timesheetio-timesheet-mcp --command npx --arg -y --arg @timesheet/mcp
# ~/.hermes/config.yaml
mcp_servers:
  timesheetio-timesheet-mcp:
    command: "npx"
    args: ["-y", "@timesheet/mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "timesheetio-timesheet-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "@timesheet/mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add timesheetio-timesheet-mcp -t stdio -c npx -a -y @timesheet/mcp
// mcp.json
{
  "mcpServers": {
    "timesheetio-timesheet-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@timesheet/mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 24 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 22 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 19 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 18 Sept 26 0
    • Stability: 0.97 → pass security
  • 17 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 16 Sept 26 0
    • CVE-2026-82417 no longer affects this package security
    • CVE-2026-82562 no longer affects this package security
  • 15 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 24 Sept 2026 · Analysed npm/@timesheet/mcp@1.0.5

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Vulnerabilities 28 findings
ID CVE Severity Vector Fix available
GHSA-35jp-ww65-95wh CVE-2026-44494 high CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N yes
GHSA-3g43-6gmg-66jw CVE-2026-44495 high CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:L yes
GHSA-3p68-rc4w-qgx5 CVE-2025-62718 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N yes
GHSA-3w6x-2g7m-8v23 CVE-2026-42044 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N yes
GHSA-42h9-826w-cgv3 CVE-2026-67313 medium yes
GHSA-43fc-jf86-j433 CVE-2026-25639 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes
GHSA-445q-vr5w-6q77 CVE-2026-42037 medium CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N yes
GHSA-5c9x-8gcm-mpgx CVE-2026-42034 medium CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L yes
GHSA-62hf-57xw-28j9 CVE-2026-42039 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes
GHSA-6chq-wfr3-2hj9 CVE-2026-42035 high CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N yes
GHSA-777c-7fjr-54vf CVE-2026-44488 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes
GHSA-7q8q-rj6j-mhjq CVE-2026-67319 medium yes
GHSA-898c-q2cr-xwhg CVE-2026-44490 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L yes
GHSA-fvcv-3m26-pcqx CVE-2026-40175 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N yes
GHSA-hfxv-24rg-xrqf CVE-2026-44496 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes
GHSA-j5f8-grm9-p9fc CVE-2026-44486 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N yes
GHSA-jqh4-m9w3-8hp9 CVE-2026-67317 medium yes
GHSA-m7pr-hjqh-92cm CVE-2026-42038 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N yes
GHSA-mmx7-hfxf-jppx CVE-2026-67316 medium yes
GHSA-p92q-9vqr-4j8v CVE-2026-44487 high yes
GHSA-pf86-5x62-jrwf CVE-2026-42033 high CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N yes
GHSA-pmv8-rq9r-6j72 CVE-2026-67312 medium yes
GHSA-pmwg-cvhr-8vh7 CVE-2026-42043 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N yes
GHSA-q8qp-cvcw-x6jj CVE-2026-42264 high CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N yes
GHSA-vf2m-468p-8v99 CVE-2026-42036 medium CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L yes
GHSA-w9j2-pvgh-6h63 CVE-2026-42041 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N yes
GHSA-xhjh-pmcv-23jw CVE-2026-42040 low CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N yes
GHSA-xx6v-rp6x-q39c CVE-2026-42042 medium CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N yes

Background: What a vulnerability scan can and cannot prove →

Dependencies 201 packages
Packages resolved 201
Stale 74
No linked repository 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 40 exposed · ~4,180 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
auth_configure ~89

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.

NameTypeReqDescription
apiKeystringyesThe API key for authenticating with the Timesheet API
baseUrlstringOptional custom API base URL (e.g., "https://api-test.timesheet.io" for testing)
NameTypeReqDescription
successbooleanyesWhether authentication was configured successfully

No examples provided.

export_fields ~37

Use this when the user wants to see what fields/columns are available for customizing exports.

NameTypeReqDescription
scopestringScope filter for fields
NameTypeReqDescription
fieldsarray

No examples provided.

export_from_template ~87

Use this when the user wants to generate an export using a previously saved template with specific date range.

NameTypeReqDescription
endDatestringyesEnd date for the export period (YYYY-MM-DD)
startDatestringyesStart date for the export period (YYYY-MM-DD)
templateIdstringyesThe template ID to use. Use export_template_list to find available templates.
NameTypeReqDescription
sizenumberFile size in bytes
successbooleanWhether export was generated successfully

No examples provided.

export_generate ~249

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.

NameTypeReqDescription
endDatestringyesEnd date for the export period (YYYY-MM-DD format)
filenamestringCustom filename for the export
filterstringStatus filter for billing/payment
formatstringExport file format. xlsx=Excel, xlsx1904=Excel 1904 date system, csv=comma-separated, pdf=PDF document
projectIdsarrayFilter by project IDs
reportnumberyesReport type identifier. Use export_report_types to get available types.
splitTaskbooleanWhether to split multi-day tasks into separate rows
startDatestringyesStart date for the export period (YYYY-MM-DD format)
summarizebooleanWhether to summarize data instead of showing individual entries
tagIdsarrayFilter by tag IDs
teamIdsarrayFilter by team IDs
typestringTask type filter
userIdsarrayFilter by user IDs
NameTypeReqDescription
filenamestringExport filename
urlstringDownload URL for the export file

No examples provided.

export_report_types ~35

Use this when the user wants to see what report types are available for export (e.g., detailed, summary, by project).

Input schema present but exposes no named parameters.

NameTypeReqDescription
reportsarray

No examples provided.

export_send ~134

Use this when the user wants to generate and send a timesheet export directly to an email address.

NameTypeReqDescription
emailstringyesEmail address to send the export to
endDatestringyesEnd date for the export period (YYYY-MM-DD)
filenamestringCustom filename for the export
formatstringExport file format
projectIdsarrayFilter by project IDs
reportnumberyesReport type identifier
startDatestringyesStart date for the export period (YYYY-MM-DD)
teamIdsarrayFilter by team IDs
NameTypeReqDescription
emailstringEmail address the export was sent to
successbooleanWhether email was sent successfully

No examples provided.

export_template_create ~149

Use this when the user wants to save their export configuration as a reusable template.

NameTypeReqDescription
emailstringDefault email for sending exports
filenamestringDefault filename
filterstringStatus filter
formatstringExport format
namestringyesTemplate name
projectIdsarrayProject IDs filter
reportnumberReport type identifier
splitTaskbooleanSplit multi-day tasks
summarizebooleanSummarize data
teamIdsarrayTeam IDs filter
typestringTask type filter
userIdsarrayUser IDs filter
NameTypeReqDescription
idstringCreated template ID
namestringTemplate name

No examples provided.

export_template_delete ~38

Use this when the user wants to delete an export template. This cannot be undone.

NameTypeReqDescription
templateIdstringyesTemplate ID to delete
NameTypeReqDescription
deletedIdstringDeleted template ID
successbooleanWhether deletion was successful

No examples provided.

export_template_get ~37

Use this when the user wants to view details of a specific export template.

NameTypeReqDescription
templateIdstringyesThe template ID to retrieve
NameTypeReqDescription
formatstring
idstring
namestring
projectIdsarray
reportnumber
teamIdsarray

No examples provided.

export_template_list ~82

Use this when the user wants to see their saved export templates for quick recurring exports.

NameTypeReqDescription
limitnumberMaximum number of templates to return
orderstringSort order
pagenumberPage number for pagination (1-based)
searchstringSearch templates by name
sortstringSort field
NameTypeReqDescription
templatesarray
totalCountnumberTotal number of templates

No examples provided.

export_template_update ~88

Use this when the user wants to modify an existing export template.

NameTypeReqDescription
formatstringUpdated export format
namestringUpdated template name
projectIdsarrayUpdated project IDs filter
reportnumberUpdated report type
teamIdsarrayUpdated team IDs filter
templateIdstringyesTemplate ID to update
NameTypeReqDescription
idstring
namestring

No examples provided.

project_create ~110

Use this when the user wants to create a new project to organize their time tracking.

NameTypeReqDescription
colornumberOptional color code for visual identification (typically 0-23)
descriptionstringOptional description providing more details about the project
taskDefaultBillablebooleanWhether tasks in this project should be billable by default
teamIdstringOptional team ID if this project belongs to a team
titlestringyesThe project name or title
NameTypeReqDescription
idstringyesThe ID of the newly created project
titlestringyesThe project title

No examples provided.

project_delete ~57

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.

NameTypeReqDescription
idstringyesThe project ID to delete permanently
NameTypeReqDescription
deletedIdstringThe ID of the deleted project
successbooleanyesWhether the deletion was successful

No examples provided.

project_get ~35

Use this when the user wants to view detailed information about a specific project.

NameTypeReqDescription
idstringyesThe project ID to retrieve
NameTypeReqDescription
archivedbooleanWhether the project is archived
colornumberProject color as decimal integer
descriptionstringProject description
idstringyesProject ID
titlestringyesProject title

No examples provided.

project_list ~440

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.

NameTypeReqDescription
limitnumberMaximum number of projects to return. Use this when user asks for a specific number (e.g., "5 projects" = limit: 5). Defaults to 20 if not specified.
orderstringSort order (ascending or descending)
pagenumberPage number for pagination (1-based). Use with limit to fetch subsequent pages.
projectIdsarrayOptional array of project IDs to filter specific projects
searchstringOptional search query to filter projects by title (partial match supported)
sortstringSort field for projects: alpha=alphabetical, alphaNum=alphanumeric, client=by client name, duration=total time tracked, created=creation date, status=active/inactive
statusstringFilter by project status. "active" = non-archived, "inactive" = archived, "all" = both. Defaults to "all" if not specified.
taskEndDatestringFilter projects with tasks ending on or before this date (ISO 8601 format: YYYY-MM-DD)
taskFilterstringAdditional task-level filter for projects
taskRateIdstringFilter projects containing tasks with this specific rate ID
taskStartDatestringFilter projects with tasks starting on or after this date (ISO 8601 format: YYYY-MM-DD)
taskTypestringFilter projects containing tasks of a specific type
taskUserIdsarrayFilter projects containing tasks assigned to these user IDs
teamIdstringOptional team ID to filter projects belonging to a specific team
teamIdsarrayOptional array of team IDs to filter projects belonging to multiple teams
NameTypeReqDescription
projectsarrayyesList of projects matching the criteria
totalCountnumberTotal number of projects returned

No examples provided.

project_update ~82

Use this when the user wants to modify an existing project's details such as title, description, or archive status.

NameTypeReqDescription
archivedbooleanSet to true to archive the project, false to unarchive it
descriptionstringUpdated project description
idstringyesThe project ID to update
titlestringUpdated project title
NameTypeReqDescription
idstringyesThe updated project ID
titlestringThe updated project title

No examples provided.

report_document_get ~56

Use this when the user wants to retrieve formatted document/invoice data including tasks, expenses, and financial calculations. Returns JSON data ready for display.

NameTypeReqDescription
documentIdstringyesThe unique identifier of the document/invoice to retrieve
NameTypeReqDescription
documentTitlestringDocument title
invoiceNumberstringInvoice number
tasksarrayList of task items
totalAmountstringFormatted total amount

No examples provided.

report_document_pdf ~57

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.

NameTypeReqDescription
documentIdstringyesThe unique identifier of the document/invoice to generate PDF for
NameTypeReqDescription
messagestringStatus message
sizenumberPDF file size in bytes
successbooleanWhether PDF was generated successfully

No examples provided.

report_document_xml ~68

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.

NameTypeReqDescription
documentIdstringyesThe unique identifier of the document/invoice to generate XML for
NameTypeReqDescription
successbooleanWhether XML was generated successfully
xmlstringXML content

No examples provided.

report_expense_get ~46

Use this when the user wants to retrieve formatted expense data including amounts and receipt information.

NameTypeReqDescription
expenseIdstringyesThe unique identifier of the expense to retrieve report data for
NameTypeReqDescription
expenseAmountstringFormatted amount
expenseDatestringFormatted expense date
expenseDescriptionstringExpense description

No examples provided.

report_expense_pdf ~49

Use this when the user wants to generate and download a PDF report for a specific expense including receipt images.

NameTypeReqDescription
expenseIdstringyesThe unique identifier of the expense to generate PDF for
NameTypeReqDescription
sizenumberPDF file size in bytes
successbooleanWhether PDF was generated successfully

No examples provided.

report_note_get ~44

Use this when the user wants to retrieve formatted note data including content and attachments.

NameTypeReqDescription
noteIdstringyesThe unique identifier of the note to retrieve report data for
NameTypeReqDescription
noteAuthorstringNote author name
noteContentstringNote content
noteDatestringFormatted note date

No examples provided.

report_note_pdf ~47

Use this when the user wants to generate and download a PDF report for a specific note including images.

NameTypeReqDescription
noteIdstringyesThe unique identifier of the note to generate PDF for
NameTypeReqDescription
sizenumberPDF file size in bytes
successbooleanWhether PDF was generated successfully

No examples provided.

report_task_get ~49

Use this when the user wants to retrieve formatted task data including time tracking, rates, and project details.

NameTypeReqDescription
taskIdstringyesThe unique identifier of the task to retrieve report data for
NameTypeReqDescription
projectNamestringProject name
taskDatestringFormatted task date
taskDurationstringFormatted duration
taskTotalstringFormatted total amount

No examples provided.

report_task_pdf ~45

Use this when the user wants to generate and download a PDF report for a specific task.

NameTypeReqDescription
taskIdstringyesThe unique identifier of the task to generate PDF for
NameTypeReqDescription
sizenumberPDF file size in bytes
successbooleanWhether PDF was generated successfully

No examples provided.

task_add_expense ~112

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.

NameTypeReqDescription
amountnumberyesExpense amount in the user's default currency
dateTimestringOptional timestamp for when the expense occurred in ISO 8601 format. If not provided, uses current time.
descriptionstringyesDescription of what the expense was for (e.g., "Taxi to client site", "Lunch meeting", "Materials")
NameTypeReqDescription
amountnumberThe expense amount recorded
expenseDescriptionstringThe expense description
successbooleanyesWhether the expense was added successfully

No examples provided.

task_add_note ~77

Use this when the user wants to add a text note or comment to the currently running task for future reference or documentation.

NameTypeReqDescription
dateTimestringOptional timestamp for the note in ISO 8601 format. If not provided, uses current time.
textstringyesThe note content or comment to attach to the task
NameTypeReqDescription
noteTextstringThe note text that was added
successbooleanyesWhether the note was added successfully

No examples provided.

task_add_pause ~95

Use this when the user wants to manually record a past break or pause period that was not tracked in real-time.

NameTypeReqDescription
descriptionstringReason for the pause (e.g., "Lunch break", "Meeting", "Coffee break")
endDateTimestringyesWhen the pause ended in ISO 8601 format
startDateTimestringyesWhen the pause started in ISO 8601 format
NameTypeReqDescription
durationnumberDuration of the pause in seconds
successbooleanyesWhether the pause was added successfully

No examples provided.

task_create ~145

Use this when the user wants to manually create a time entry for past work, rather than using the timer.

NameTypeReqDescription
billablebooleanWhether this task should be billable to the client. Defaults to project setting.
descriptionstringOptional description of what work was done
endDateTimestringOptional end time in ISO 8601 format. If provided, creates a completed task.
projectIdstringyesThe project ID this task belongs to
startDateTimestringyesWhen the work started in ISO 8601 format (e.g., "2025-10-08T09:00:00Z")
NameTypeReqDescription
durationnumberDuration of the task in seconds (if endDateTime was provided)
idstringyesThe ID of the newly created task

No examples provided.

task_delete ~46

Use this when the user wants to permanently delete a time entry. WARNING: This is a destructive operation that cannot be undone.

NameTypeReqDescription
idstringyesThe task ID to delete permanently
NameTypeReqDescription
deletedIdstringThe ID of the deleted task
successbooleanyesWhether the deletion was successful

No examples provided.

task_get ~37

Use this when the user wants to view detailed information about a specific time entry/task.

NameTypeReqDescription
idstringyesThe task ID to retrieve
NameTypeReqDescription
billablebooleanWhether the task is billable
descriptionstringTask description
durationnumberDuration in seconds
endDateTimestringEnd date and time
idstringyesTask ID
projectTitlestringAssociated project title
startDateTimestringStart date and time

No examples provided.

task_list ~596

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.

NameTypeReqDescription
documentIdstringFilter tasks associated with a specific document
endDatestringFilter tasks ending on or before this date (YYYY-MM-DD format)
excludeTaskIdsarrayExclude specific task IDs from results
feelingsarrayFilter tasks by feeling/satisfaction ratings (1-5)
filterstringFilter tasks by billing/payment status: all=all tasks, billable=only billable, notBillable=non-billable, paid=payment received, unpaid=not paid, billed=invoice sent, outstanding=billed but unpaid
limitnumberMaximum number of tasks to return. Use this when user asks for a specific number (e.g., "10 tasks" = limit: 10). Defaults to 20 if not specified.
orderstringSort order (ascending or descending)
organizationIdstringFilter tasks by organization ID
pagenumberPage number for pagination (1-based). Use with limit to fetch subsequent pages.
performancebooleanInclude performance metrics in task details
populateExpensesbooleanInclude expense information in task details
populateNotesbooleanInclude notes in task details
populatePausesbooleanInclude pause/break information in task details
populateTagsbooleanInclude tag details in task information
projectIdstringFilter tasks for a specific project
projectIdsarrayFilter tasks by multiple project IDs
rateIdstringFilter tasks by rate/billing rate ID
runningbooleanIf true, only return currently running tasks
sortstringSort field for tasks: dateTime=by start/end time, time=by duration, created=by creation date
startDatestringFilter tasks starting on or after this date (YYYY-MM-DD format)
tagIdsarrayFilter tasks by tag IDs
taskIdsarrayFilter specific tasks by IDs
teamIdstringFilter tasks by team ID
teamIdsarrayFilter tasks by multiple team IDs
todoIdstringFilter tasks associated with a specific todo/task item
typestringFilter tasks by type: all=all types, task=regular time entries, mileage=mileage entries, call=call entries
userIdsarrayFilter tasks by user IDs (task owners)
NameTypeReqDescription
tasksarrayyesList of tasks matching the criteria

No examples provided.

task_update ~133

Use this when the user wants to modify details of an existing time entry such as times, description, or billing status.

NameTypeReqDescription
billablebooleanUpdated billable status
billedbooleanMark task as billed (invoice sent to client)
descriptionstringUpdated task description
endDateTimestringUpdated end time in ISO 8601 format
idstringyesThe task ID to update
paidbooleanMark task as paid (for invoicing)
startDateTimestringUpdated start time in ISO 8601 format
NameTypeReqDescription
idstringThe updated task ID
successbooleanyesWhether the update was successful

No examples provided.

team_list ~178

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.

NameTypeReqDescription
limitnumberMaximum number of teams to return. Defaults to 20 if not specified.
orderstringSort order (ascending or descending)
organizationIdstringFilter teams by organization ID
pagenumberPage number for pagination (1-based). Use with limit to fetch subsequent pages.
searchstringSearch query to filter teams by name (partial match supported)
sortstringSort field: alpha=alphabetical by name, permission=by user permission level, created=by creation date
statisticsbooleanInclude statistics with team data
NameTypeReqDescription
teamsarrayList of teams matching the criteria
totalCountnumberTotal number of teams returned

No examples provided.

timer_pause ~79

Use this when the user wants to pause the timer to take a break. This temporarily stops time tracking while keeping the task active.

NameTypeReqDescription
startDateTimestringOptional pause start time in ISO 8601 format (e.g., "2025-10-08T12:00:00Z"). If not provided, uses current time.
NameTypeReqDescription
statusstringyesTimer status after pausing

No examples provided.

timer_resume ~79

Use this when the user wants to resume time tracking after a break or pause. This restarts the timer from its paused state.

NameTypeReqDescription
endDateTimestringOptional pause end time in ISO 8601 format (e.g., "2025-10-08T13:00:00Z"). If not provided, uses current time.
NameTypeReqDescription
statusstringyesTimer status after resuming

No examples provided.

timer_start ~112

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.

NameTypeReqDescription
projectIdstringyesThe unique identifier of the project to track time for. Use project_list to find available projects.
startDateTimestringOptional start time in ISO 8601 format (e.g., "2025-10-08T10:30:00Z"). If not provided, uses current time.
NameTypeReqDescription
durationnumberCurrent duration in seconds
projectIdstringID of the project
projectTitlestringName of the project being tracked
startTimestringWhen the timer was started
statusstringyesCurrent timer status

No examples provided.

timer_status ~40

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.

Input schema present but exposes no named parameters.

NameTypeReqDescription
descriptionstringTask description (if provided)
durationnumberCurrent duration in seconds (if active)
hoursnumberHours component of duration
minutesnumberMinutes component of duration
projectIdstringID of the project (if active)
projectTitlestringName of the project being tracked (if active)
statusstringyesCurrent timer status

No examples provided.

timer_stop ~83

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.

NameTypeReqDescription
endDateTimestringOptional end time in ISO 8601 format (e.g., "2025-10-08T18:00:00Z"). If not provided, uses current time.
NameTypeReqDescription
durationnumberyesTotal duration tracked in seconds
hoursnumberHours component of duration
minutesnumberMinutes component of duration
statusstringyesTimer status after stopping

No examples provided.

timer_update ~158

Use this when the user wants to modify details of the currently running timer task, such as description, location, billability, or mood rating.

NameTypeReqDescription
billablebooleanWhether this time should be billed to the client
descriptionstringTask description or notes about what work is being done
feelingnumberMood or satisfaction rating from 1 (poor) to 5 (excellent)
locationstringPhysical location where work started (e.g., "Office", "Home", "Client site")
locationEndstringPhysical location where work ended
tagsarrayTags or categories to help organize this task (e.g., ["meeting", "development", "urgent"])
NameTypeReqDescription
successbooleanyesWhether the update was successful

No examples provided.

Common questions

What is the io.github.timesheetIO/timesheet-mcp server?

io.github.timesheetIO/timesheet-mcp is listed in the public MCP registry as io.github.timesheetIO/timesheet-mcp. timesheet.io MCP server - manage timers, projects, tasks and reports. This page covers its npm package (@timesheet/mcp).

Is the io.github.timesheetIO/timesheet-mcp server safe to use?

io.github.timesheetIO/timesheet-mcp scores 80 out of 100 on VerifyMCP. We recorded 28 known advisories against it as of 24 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.timesheetIO/timesheet-mcp server expose?

io.github.timesheetIO/timesheet-mcp exposes 40 tools: timer_start, timer_stop, timer_pause, timer_resume, timer_status, and 35 more. Their descriptions and schemas cost roughly 4,180 tokens of context every time the server is loaded.

Is the io.github.timesheetIO/timesheet-mcp server still maintained?

io.github.timesheetIO/timesheet-mcp is still listed as active in the MCP registry. We last reached this channel on 24 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.timesheetIO/timesheet-mcp server under?

io.github.timesheetIO/timesheet-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.