Skip to main content
Glama

Timelog MCP Server

An MCP server that exposes the Timelog time registration API as tools for Claude. It lets you view, create, and manage time registrations, absences, and timesheet approvals through natural language.

Capabilities

  • View time registrations — by week or arbitrary date range, including financial/billable data

  • Create, update, and delete time registrations on any task you have access to

  • Absence management — search absence codes and register vacation, sick leave, etc.

  • Timesheet approval — check submission status and submit timesheets, with filtering by employee, department, approver, or legal entity

  • Organization — look up legal entities and the current user profile

  • Task search — find tasks to register time on by name or number

Related MCP server: TimeChimp MCP Server

Tools

User & Organization

get_current_user

Get the authenticated user's profile (name, email, department). No parameters.

Get all legal entities in the organization. Returns ID, name, active status, currency, and country for each entity. No parameters.

Time Registrations

get_weekly_registrations

Get time registrations for a specific week, grouped by day with norm hours.

Parameter

Type

Required

Description

startDate

string

Yes

Monday of the week (YYYY-MM-DD)

get_registrations_by_date_range

Get time registrations between two dates.

Parameter

Type

Required

Description

startDate

string

Yes

Start date (YYYY-MM-DD)

endDate

string

Yes

End date (YYYY-MM-DD)

get_financial_data

Get financial data (billable/invoice status) for time registrations in a date range.

Parameter

Type

Required

Description

startDate

string

Yes

Start date (YYYY-MM-DD)

endDate

string

Yes

End date (YYYY-MM-DD)

search_tasks

Search for tasks the user can register time on. Returns task IDs needed for creating time registrations.

Parameter

Type

Required

Description

searchText

string

No

Task name or task number to search for

searchAll

boolean

No

Search all tasks, not just recent (default: false)

create_time_registration

Create a new time registration on a task. Use search_tasks first to find the TaskID.

Parameter

Type

Required

Description

TaskID

integer

Yes

Task identifier (from search_tasks)

Date

string

Yes

Date of the registration (YYYY-MM-DD)

Hours

number

Yes

Number of hours to register

Comment

string

No

Comment for the registration

JiraId

string

No

JIRA ticket ID (e.g. XXX-1234)

Billable

boolean

No

Whether this time is billable (defaults to task setting)

update_time_registration

Update an existing time registration. Only supply the fields you want to change.

Parameter

Type

Required

Description

TimeRegistrationID

integer

Yes

Time registration ID to update

TaskID

integer

Yes

Task identifier

Date

string

No

New date (YYYY-MM-DD)

Hours

number

No

New hours value

Comment

string

No

New comment

JiraId

string

No

JIRA ticket ID (e.g. SGI-82108)

Billable

boolean

No

Whether this time is billable

delete_time_registration

Delete a time registration by its GUID.

Parameter

Type

Required

Description

id

string (UUID)

Yes

GUID of the time registration to delete

Absence

search_absence_codes

Search for absence codes (e.g. Ferie, Sygdom). Returns AbsenceCodeID needed for create_absence_registration.

Parameter

Type

Required

Description

searchText

string

No

Filter by absence code name or number

create_absence_registration

Create an absence registration (vacation, sick leave, etc.). Use search_absence_codes to find the AbsenceCodeID. Registers a full working day by default.

Parameter

Type

Required

Description

AbsenceCodeID

integer

Yes

Absence code identifier (from search_absence_codes)

Date

string

Yes

Date of the absence (YYYY-MM-DD)

Hours

number

No

Hours to register (omit for a full working day)

Comment

string

No

Comment for the registration

Timesheet Approval

get_timesheet_status

Get weekly timesheet approval/submission status. Defaults to the authenticated user. Omit userId to get all employees (manager view).

Parameter

Type

Required

Description

startDate

string

Yes

Start date (YYYY-MM-DD)

endDate

string

Yes

End date (YYYY-MM-DD)

userId

integer

No

Filter by employee UserID (omit for all employees)

departmentId

integer

No

Filter by department ID

approverId

integer

No

Filter by approver UserID

legalEntityId

integer

No

Filter by legal entity ID

submit_timesheet

Submit a timesheet for approval for a date range (e.g. a full week).

Parameter

Type

Required

Description

startDate

string

Yes

Start date (YYYY-MM-DD)

endDate

string

Yes

End date (YYYY-MM-DD)

comment

string

No

Comment for the submission

employeeUserId

integer

No

UserID of the employee to submit for (defaults to authenticated user)

Manager Workflows

Finding and closing open timesheets

Use get_timesheet_status without a userId to get the submission status for all employees in a period. Filter by departmentId, approverId, or legalEntityId to narrow the scope.

Once you've identified employees with open timesheets, use submit_timesheet with employeeUserId to submit on their behalf.

Example prompts:

"Show me everyone who hasn't submitted their timesheet this week" "Submit this week's timesheet for user 1234" "Submit all open timesheets for department 5 this week"

Setup

Add to your Claude Code .mcp.json or Claude Desktop config:

{
  "mcpServers": {
    "timelog": {
      "command": "npx",
      "args": ["-y", "timelog-mcp"],
      "env": {
        "TIMELOG_PAT": "<your-personal-access-token>",
        "TIMELOG_BASE_URL": "https://app[X].timelog.com/<your-account>/api"
      }
    }
  }
}

From source

git clone git@github.com:Amoeslund/Timelog-MCP-server.git
cd Timelog-MCP-server
npm install
npm run build

Then point your MCP config at the built file:

{
  "mcpServers": {
    "timelog": {
      "command": "node",
      "args": ["/path/to/Timelog-MCP-server/dist/index.js"],
      "env": {
        "TIMELOG_PAT": "<your-personal-access-token>",
        "TIMELOG_BASE_URL": "https://app[X].timelog.com/<your-account>/api"
      }
    }
  }
}

Configuration

Personal Access Token

Generate a PAT at https://login.timelog.com/personaltoken.

Base URL

Your URL follows the pattern https://app[X].timelog.com/<your-account>/api where [X] is a server number (1–10) and <your-account> is your Timelog account name. See the Timelog API docs for details.

Environment Variables

Variable

Required

Description

TIMELOG_PAT

Yes

Personal Access Token (see above)

TIMELOG_BASE_URL

Yes

API base URL (see above)

License

ISC

Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    Enables interaction with the TimeChimp API v2 to manage projects, time entries, expenses, and invoices through natural language. It supports full CRUD operations across all major TimeChimp resources, including advanced OData query filtering and pagination.
    46
    4
  • F
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to interact with the Tripletex accounting API to manage time tracking, projects, and timesheet approvals through natural language. It also supports searching and managing outgoing invoices and processing supplier invoice approvals.
    31
    2

View all related MCP servers

Related MCP Connectors

  • Manage projects, tasks, time tracking, and team collaboration through natural language.

  • Track time on usetimebook.com - start/stop timers, log entries, list projects/clients.

  • Streamline your Attio workflows using natural language to search, create, update, and organize com…

View all MCP Connectors

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/elisabethfalck/mcp-timelog'

If you have feedback or need assistance with the MCP directory API, please join our Discord server