Skip to content

Connectors · Work & projects

TimeCamp MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to TimeCamp and the rest of your systems. It gives your agent 156 TimeCamp actions (67 reads, 65 writes and 24 that wait for a confirmation) and holds the TimeCamp credential itself, so the agent never does. It paces TimeCamp's limits and records every call.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "timecamp.users.list",  intent: "check which TimeCamp account is connected"}# Get all users data · read · 1 upstream call
  • 156actionsin one signed file
  • 67readlook, never change
  • 65writecreate and update
  • 24wait for a yesdestructive, confirmed first

Set up

Connect TimeCamp in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect TimeCamp.

    Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.

    • access_tokenTimeCamp API token: app.timecamp.com > Settings > Your profile (app.timecamp.com/app#/settings/users/me) > API token
    account { op: "connections.requirements", service: "timecamp" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "timecamp.users.list" }# get all users data · read · 1 upstream callcheck { action: "timecamp.time_entries.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

TimeCamp at a glance

Sign-in
Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
You provide
access_token
Limits we pace to
60 calls a minute, per connection
API covered
TimeCamp API 1.0 (OpenAPI 3.0.0)app.timecamp.com/third_party/api
Built from
TimeCamp's documentation, read 23 October 2026developer.timecamp.comdeveloper.timecamp.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
55 of 67 reads, for up to 5 minutes; a write clears what it affects
Shared entities
6, so ask can line TimeCamp up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in TimeCamp.

156 actions in 32 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 67readlook, never change
  • 65writecreate and update
  • 24destructivewait for a confirmation
  1. Tasks

    13

    2 read · 9 write · 2 destructive

    Create new task · Get task info · Update task info · Delete task

  2. Time entries

    13

    6 read · 5 write · 2 destructive

    Get time entries · Create time entry · Update time entry · Delete time entry

  3. Approvals

    10

    5 read · 5 write · 0 destructive

    Create approval message · List approval activities · Get approval users · Get approvals

  4. Projects

    10

    6 read · 3 write · 1 destructive

    Search in projects tree · List projects tree · List assigned users for project task · List group assignment sources for a project task

  5. Rates

    8

    4 read · 4 write · 0 destructive

    Update/create billing rate for group · Update/create billing rate for task · Update/create billing rate for "task user" · Update/create billing rate for user

  6. Timers

    8

    3 read · 3 write · 2 destructive

    Get visible running timers · Get timer status · Stop timer · Start timer

  7. Expenses

    7

    2 read · 4 write · 1 destructive

    Create expense · List expense · List expense · Invoice assign to expense

  8. Attendance

    6

    5 read · 1 write · 0 destructive

    Attendance calendar search [beta] · Get attendance · Retrieve all possible day types for attendance · Retrieves day types declared by users in given timeframe

24 more areas · 81 actions
  • Groups 6
  • Data exports 5
  • Tag lists 5
  • Custom field templates 4
  • Custom field values 4
  • Expense categories 4
  • Group settings 4
  • Group users 4
  • Predefined days 4
  • Roles 4
  • Users 4
  • Favourite tasks 3
  • Group scheduler 3
  • Tag groups 3
  • Tags 3
  • Task tags 3
  • Time entry restrictions 3
  • Time entry tags 3
  • User settings 3
  • Attendance requests 2
  • Computer activities 2
  • Expense attachments 2
  • Task tag lists 2
  • Storage 1

Top actions

The TimeCamp API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 29 of TimeCamp's 29 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
timecamp.users.listGet all users dataGet all users data.readidentity.user.list474 connectors
timecamp.groups.listGet all groupsGet all groups.readidentity.group.list262 connectors
timecamp.time_entries.listGet time entriesGet time entries.readwork.time_entry.list59 connectors
timecamp.roles.listGet time tracking rolesGet time tracking roles.readidentity.role.list184 connectors
timecamp.users.meGet your user dataGet your user data.readidentity.current_user.get307 connectors
timecamp.time_entries.createCreate time entryCreate time entry.writework.time_entry.create56 connectors
timecamp.groups.createCreate groupCreate group.writeidentity.group.create205 connectors
timecamp.timers.list_runningGet visible running timersGet visible running timers.readwork.timer.list8 connectors
timecamp.users.getGet userGet user.readidentity.user.get399 connectors
timecamp.roles.createCreate time tracking roleCreate time tracking role.writeidentity.role.create105 connectors
timecamp.time_entries.deleteDelete time entryDelete time entry.destructivework.time_entry.delete51 connectors
timecamp.tasks.createCreate new taskCreate new task.writework.task.create127 connectors

Try it

Prompts to paste into Claude.

Each one names the TimeCamp actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    Who has access in TimeCamp? List every user and their role.

    callstimecamp.users.list

  2. Writewrite

    Create time entry in TimeCamp. Show me exactly what you will send before you save it.

    callstimecamp.time_entries.create

Governance for TimeCamp

Destructive actions wait for a yes.

24 TimeCamp actions are destructive. These are all of them:

  • Delete time entrytimecamp.time_entries.delete
  • Delete grouptimecamp.groups.delete
  • Delete time tracking roletimecamp.roles.delete
  • Delete tasktimecamp.tasks.delete
  • Cancel running timertimecamp.timers.cancel
  • Delete expensetimecamp.expenses.delete
  • Remove tags from tasktimecamp.task_tags.remove
  • Cancel timertimecamp.timers.cancel_v1
  • Delete allowed group from tagtimecamp.tag_groups.remove
  • Delete user from grouptimecamp.group_users.remove
  • Task removetimecamp.tasks.remove_batch
  • Delete user settingtimecamp.user_settings.delete
  • Delete group settingtimecamp.group_settings.delete
  • Detach a tag list from a tasktimecamp.task_tag_lists.detach
  • Delete task from favorite tasks listtimecamp.favourite_tasks.remove
  • Delete group schedulertimecamp.group_scheduler.delete
  • Remove Predefined Day [beta]timecamp.predefined_days.delete
  • Delete time entrytimecamp.time_entries.delete_v3
  • Delete tags from time entrytimecamp.time_entry_tags.remove
  • Delete expense attachmenttimecamp.expense_attachments.delete
  • Unassign value from custom fieldstimecamp.custom_field_values.unassign
  • Remove Custom Field Templatetimecamp.custom_field_templates.delete
  • Delete Time Entry restrictiontimecamp.time_entry_restrictions.delete
  • Remove a group assignment from a project tasktimecamp.projects.remove_group_assignment

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

dotimecamp.time_entries.deleteconfirm_policy: human

Delete time entry?

intent: the user asked me to delete time entry

run suspended · waiting for a named person · key timecamp-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "timecamp-agent",  allowed_actions: ["timecamp.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "timecamp.time_entries.delete", approver: "[email protected]" },    { match: "timecamp.groups.delete", approver: "[email protected]" },    { match: "timecamp.roles.delete", approver: "[email protected]" }  ]}
Illustrative. Scoped to TimeCamp only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What TimeCamp costs on actionlake.

Every TimeCamp action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call TimeCamp refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 156 TimeCamp actions
  • 156actions pageeach page of a long list is one call
  • 55reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every TimeCamp action.

156 actions by area: the id your agent calls, what it does, and its effect.

Tasks13
  • timecamp.tasks.archive_batchArchive a batch of taskswrite
  • timecamp.tasks.change_parentTask change parentwrite
  • timecamp.tasks.createCreate new taskwrite
  • timecamp.tasks.deleteDelete taskdestructive
  • timecamp.tasks.duplicateTask duplicatewrite
  • timecamp.tasks.duplicate_batchTask duplicate batchwrite
  • timecamp.tasks.get_detailsGet task detailsread
  • timecamp.tasks.listGet task inforead
  • timecamp.tasks.move_worklogsTask worklog movewrite
  • timecamp.tasks.remove_batchTask removedestructive
  • timecamp.tasks.restore_batchRestore a batch of archived tasks and their parent hierarchywrite
  • timecamp.tasks.set_colorAdd/change color in taskwrite
  • timecamp.tasks.updateUpdate task infowrite
Time entries13
  • timecamp.time_entries.createCreate time entrywrite
  • timecamp.time_entries.create_v3Create time entrywrite
  • timecamp.time_entries.deleteDelete time entrydestructive
  • timecamp.time_entries.delete_v3Delete time entrydestructive
  • timecamp.time_entries.listGet time entriesread
  • timecamp.time_entries.list_changesGet time entries changesread
  • timecamp.time_entries.list_deletionsGet time entries deletionsread
  • timecamp.time_entries.logged_time_in_weekGet logged time in a weekread
  • timecamp.time_entries.mergeMerge time entrieswrite
  • timecamp.time_entries.query_v3Get time entries by user permissionsread
  • timecamp.time_entries.searchGet time entries by user permissionsread
  • timecamp.time_entries.updateUpdate time entrywrite
  • timecamp.time_entries.update_v3Update time entrywrite
Approvals10
  • timecamp.approvals.bulk_change_statusBulk change status of approvalwrite
  • timecamp.approvals.change_statusChange status of approvalwrite
  • timecamp.approvals.create_messageCreate approval messagewrite
  • timecamp.approvals.getGet approvalread
  • timecamp.approvals.list_activitiesList approval activitiesread
  • timecamp.approvals.list_usersGet approval usersread
  • timecamp.approvals.list_v1Get approvalsread
  • timecamp.approvals.searchList approvalread
  • timecamp.approvals.send_reminderSend reminderwrite
  • timecamp.approvals.upsert_v1Create/Update approvalwrite
Projects10
  • timecamp.projects.assign_groupsAssign groups to a project taskwrite
  • timecamp.projects.assign_usersAssign users to project taskwrite
  • timecamp.projects.listList projects treeread
  • timecamp.projects.list_assigned_usersList assigned users for project taskread
  • timecamp.projects.list_group_assignmentsList group assignment sources for a project taskread
  • timecamp.projects.load_dataLoad selected data for projectsread
  • timecamp.projects.remove_group_assignmentRemove a group assignment from a project taskdestructive
  • timecamp.projects.searchSearch in projects treeread
  • timecamp.projects.time_entry_summaryGet project time-entry summaryread
  • timecamp.projects.unassign_usersUnassign users from project taskwrite
Rates8
  • timecamp.rates.get_group_rateGet billing rate for groupread
  • timecamp.rates.get_task_rateGet billing rate for taskread
  • timecamp.rates.get_task_user_rateGet billing rate for "task user"read
  • timecamp.rates.get_user_rateGet billing rate for userread
  • timecamp.rates.set_group_rateUpdate/create billing rate for groupwrite
  • timecamp.rates.set_task_rateUpdate/create billing rate for taskwrite
  • timecamp.rates.set_task_user_rateUpdate/create billing rate for "task user"write
  • timecamp.rates.set_user_rateUpdate/create billing rate for userwrite
Timers8
  • timecamp.timers.cancelCancel running timerdestructive
  • timecamp.timers.cancel_v1Cancel timerdestructive
  • timecamp.timers.get_running_v1Get information about running timerread
  • timecamp.timers.list_runningGet visible running timersread
  • timecamp.timers.manage_v1Manage timerwrite
  • timecamp.timers.startStart timerwrite
  • timecamp.timers.statusGet timer statusread
  • timecamp.timers.stopStop timerwrite
Expenses7
  • timecamp.expenses.assign_invoiceInvoice assign to expensewrite
  • timecamp.expenses.createCreate expensewrite
  • timecamp.expenses.deleteDelete expensedestructive
  • timecamp.expenses.listList expenseread
  • timecamp.expenses.searchList expenseread
  • timecamp.expenses.unassign_invoiceInvoice unassign from expensewrite
  • timecamp.expenses.updateUpdate expensewrite
Attendance6
  • timecamp.attendance.calendar_searchAttendance calendar search [beta]read
  • timecamp.attendance.get_userRetrieve attendance data for a user within a date rangeread
  • timecamp.attendance.listGet attendanceread
  • timecamp.attendance.list_day_typesRetrieve all possible day types for attendanceread
  • timecamp.attendance.list_user_day_typesRetrieves day types declared by users in given timeframeread
  • timecamp.attendance.upsert_userInsert or update user attendance recordswrite
Groups6
  • timecamp.groups.createCreate groupwrite
  • timecamp.groups.deleteDelete groupdestructive
  • timecamp.groups.get_company_logoGet group logoread
  • timecamp.groups.listGet all groupsread
  • timecamp.groups.treeList visible user groups as a treeread
  • timecamp.groups.updateUpdate groupwrite
Data exports5
  • timecamp.data_exports.createCreate export requestwrite
  • timecamp.data_exports.dataset_availabilityGet list of dataset availabilityread
  • timecamp.data_exports.getGet export requestread
  • timecamp.data_exports.listGet exportsread
  • timecamp.data_exports.list_openGet open exportsread
Tag lists5
  • timecamp.tag_lists.createCreate new tag listwrite
  • timecamp.tag_lists.getGet tag list with tagsread
  • timecamp.tag_lists.listGet tag listread
  • timecamp.tag_lists.list_tagsGet only tags of a tag listread
  • timecamp.tag_lists.updateUpdate tag list datawrite
Custom field templates4
  • timecamp.custom_field_templates.createCreate Custom Field Templatewrite
  • timecamp.custom_field_templates.deleteRemove Custom Field Templatedestructive
  • timecamp.custom_field_templates.listList Custom Field Templatesread
  • timecamp.custom_field_templates.updateModify Custom Field Templatewrite
Custom field values4
  • timecamp.custom_field_values.assignAssign value to custom fieldswrite
  • timecamp.custom_field_values.getRetrieve value for custom field in resourceread
  • timecamp.custom_field_values.listRetrieve values for all custom fields in resourceread
  • timecamp.custom_field_values.unassignUnassign value from custom fieldsdestructive
Expense categories4
  • timecamp.expense_categories.archiveArchive expense categorywrite
  • timecamp.expense_categories.createCreate expense categorywrite
  • timecamp.expense_categories.listList expense categoryread
  • timecamp.expense_categories.updateUpdate expense categorywrite
Group settings4
  • timecamp.group_settings.deleteDelete group settingdestructive
  • timecamp.group_settings.getGet group settingread
  • timecamp.group_settings.updateUpdate group settingwrite
  • timecamp.group_settings.update_v3Update a group settingwrite
Group users4
  • timecamp.group_users.inviteInvite user to a groupwrite
  • timecamp.group_users.listGet users in groupread
  • timecamp.group_users.removeDelete user from groupdestructive
  • timecamp.group_users.updateUpdate user in groupwrite
Predefined days4
  • timecamp.predefined_days.createCreate Predefined Days [beta]write
  • timecamp.predefined_days.deleteRemove Predefined Day [beta]destructive
  • timecamp.predefined_days.listPredefined Days Assigned To Group [beta]read
  • timecamp.predefined_days.list_effectiveEffective Predefined Days Assigned To Group [beta]read
Roles4
  • timecamp.roles.createCreate time tracking rolewrite
  • timecamp.roles.deleteDelete time tracking roledestructive
  • timecamp.roles.listGet time tracking rolesread
  • timecamp.roles.updateUpdate time tracking rolewrite
Users4
  • timecamp.users.getGet userread
  • timecamp.users.listGet all users dataread
  • timecamp.users.meGet your user dataread
  • timecamp.users.updateUpdate userwrite
Favourite tasks3
  • timecamp.favourite_tasks.addAdd task to favorite tasks listwrite
  • timecamp.favourite_tasks.listList of favorite tasksread
  • timecamp.favourite_tasks.removeDelete task from favorite tasks listdestructive
Group scheduler3
  • timecamp.group_scheduler.deleteDelete group schedulerdestructive
  • timecamp.group_scheduler.listGet group schedulerread
  • timecamp.group_scheduler.upsertCreate/Update group schedulerwrite
Tag groups3
  • timecamp.tag_groups.addAdd allowed group to tagwrite
  • timecamp.tag_groups.listGet tag allowed groupsread
  • timecamp.tag_groups.removeDelete allowed group from tagdestructive
Tags3
  • timecamp.tags.createCreate tagwrite
  • timecamp.tags.getGet tag dataread
  • timecamp.tags.updateUpdate tagwrite
Task tags3
  • timecamp.task_tags.addAdd tags to taskwrite
  • timecamp.task_tags.removeRemove tags from taskdestructive
  • timecamp.task_tags.updateEdit tags assignment typewrite
Time entry restrictions3
  • timecamp.time_entry_restrictions.createCreate Time Entry restrictionwrite
  • timecamp.time_entry_restrictions.deleteDelete Time Entry restrictiondestructive
  • timecamp.time_entry_restrictions.listList restrictionsread
Time entry tags3
  • timecamp.time_entry_tags.addAdd tags to time entrywrite
  • timecamp.time_entry_tags.listGet time entry tagsread
  • timecamp.time_entry_tags.removeDelete tags from time entrydestructive
User settings3
  • timecamp.user_settings.deleteDelete user settingdestructive
  • timecamp.user_settings.getGet user settingread
  • timecamp.user_settings.updateUpdate user settingwrite
Attendance requests2
  • timecamp.attendance_requests.createCreate attendance request [beta]write
  • timecamp.attendance_requests.has_pendingHas Pending Attendance Requests [beta]read
Computer activities2
  • timecamp.computer_activities.listGet computer activitiesread
  • timecamp.computer_activities.sites_and_appsList of sites and appsread
Expense attachments2
  • timecamp.expense_attachments.deleteDelete expense attachmentdestructive
  • timecamp.expense_attachments.listGet expense attachmentread
Task tag lists2
  • timecamp.task_tag_lists.assignAssign or update a tag list assignment for a taskwrite
  • timecamp.task_tag_lists.detachDetach a tag list from a taskdestructive
Storage1
  • timecamp.storage.list_filesGet the list of files from the user's main groupread

Questions

The TimeCamp MCP server, answered.

Is there a TimeCamp MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 156 TimeCamp actions across tasks, time entries, approvals and projects, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by TimeCamp.

What do I need to connect TimeCamp?

TimeCamp API token: app.timecamp.com > Settings > Your profile (app.timecamp.com/app#/settings/users/me) > API token. The free call account { op: "connections.requirements", service: "timecamp" } lists exactly what to paste.

Can an AI agent delete or change things in TimeCamp?

Only if its key allows it, and only with an explicit confirmation. 24 TimeCamp actions are destructive, including delete time entry, delete group and delete time tracking role. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my TimeCamp API limit?

actionlake paces every call to the limits in the TimeCamp service file: 60 calls a minute per connection. Repeated reads are answered from cache (55 TimeCamp actions can be), which never reaches TimeCamp.

What does a TimeCamp action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (156 TimeCamp actions page). Cache hits, searches, dry runs and calls TimeCamp refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which TimeCamp API does it cover?

The TimeCamp API 1.0 (OpenAPI 3.0.0) at app.timecamp.com/third_party/api. It is built from TimeCamp's documentation as read on 23 October 2026. 156 actions in 32 areas, each one in the signed service file (version 1.0.0).

Does actionlake keep my TimeCamp data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your TimeCamp credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent TimeCamp today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.