Skip to content

Connectors · Accounting & finance

Hubstaff MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Hubstaff and the rest of your systems. It gives your agent 180 Hubstaff actions (107 reads, 62 writes and 11 that wait for a confirmation) and holds the Hubstaff credential itself, so the agent never does. It paces Hubstaff's limits and records every call. Connecting Hubstaff needs your own Hubstaff OAuth app and one admin sign-in.

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: "hubstaff.organizations.list",  intent: "check which Hubstaff account is connected"}# List organizations · read · 1 upstream call
  • 180actionsin one signed file
  • 107readlook, never change
  • 62writecreate and update
  • 11wait for a yesdestructive, confirmed first

Set up

Connect Hubstaff 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 Hubstaff.

    OAuth 2.0, authorization code. You register your own OAuth app with Hubstaff, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on. actionlake stores what you paste write-only, sealed under your tenant's key.

    Before the first sign-in, Hubstaff needs an OAuth app of your own, registered in its developer portal. actionlake has no Hubstaff app to lend you.

    • access_tokenOptional
    • refresh_tokenRefresh token the OAuth application received (scopes openid hubstaff:read hubstaff:write)
    • client_idClient ID of your Hubstaff OAuth application (developer.hubstaff.com > My apps)
    • client_secretClient secret of the same Hubstaff OAuth application
    account { op: "connections.requirements", service: "hubstaff" }
    # 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: "hubstaff.organizations.list" }# list organizations · read · 1 upstream callcheck { action: "hubstaff.tasks.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Hubstaff at a glance

Sign-in
OAuth 2.0, authorization code. You register your own OAuth app with Hubstaff, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on.
You provide
access_tokenrefresh_tokenclient_idclient_secret
Limits we pace to
120 calls a minute, per connection
API covered
Hubstaff V2 API (Swagger 2.0, api.hubstaff.com/v2/docs)api.hubstaff.com
Built from
Hubstaff's documentation, read 23 October 2026api.hubstaff.comdeveloper.hubstaff.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
107 of 107 reads, for up to 5 minutes; a write clears what it affects
Shared entities
9, so ask can line Hubstaff up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Hubstaff.

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

  • 107readlook, never change
  • 62writecreate and update
  • 11destructivewait for a confirmation
  1. Tasks

    8

    4 read · 3 write · 1 destructive

    List organization tasks · Create task · Get task · Update task

  2. Teams

    8

    2 read · 5 write · 1 destructive

    List organization teams · Create team · Get team · Update team

  3. Time off policies

    8

    3 read · 4 write · 1 destructive

    Create time off policy · List organization time off policies · List organization time off policies per user · Archive time off policy

  4. Job sites

    7

    2 read · 5 write · 0 destructive

    Create job site · List organization job sites · Add job site rules · Get job site

  5. Projects

    7

    3 read · 4 write · 0 destructive

    List organization projects · Create project · Get project · Update project

  6. Invites

    6

    2 read · 3 write · 1 destructive

    Bulk invite users · Create invite · List organization invites · Get invite

  7. Organizations

    6

    3 read · 3 write · 0 destructive

    List organizations · Create organization · Get organization · Get organization seats

  8. Overtime policies

    6

    2 read · 4 write · 0 destructive

    Create overtime policy · List organization overtime policies · Archive overtime policy · Get overtime policy

55 more areas · 124 actions
  • Smart notification rules 6
  • Time off requests 6
  • Webhooks 6
  • Clients 5
  • Invite links 5
  • Member limits 5
  • Network locations 5
  • Activities 4
  • Budget histories 4
  • Daily activities 4
  • Global todos 4
  • Members 4
  • Screenshots 4
  • Attendance schedules 3
  • Manual time requests 3
  • Notes 3
  • App and URL tracking settings 2
  • Daily tool usages 2
  • Last activities 2
  • Limit histories 2
  • Locations 2
  • Project links 2
  • Screenshot settings 2
  • Team payments 2
  • Time edit logs 2
  • Time off balances 2
  • Timesheets 2
  • Tool classifications 2
  • Tool usages 2
  • Users 2
  • Attendance shifts 1
  • Audit log entries 1
  • Client invoices 1
  • Error codes 1
  • Holidays 1
  • Ignored user matches 1
  • Ignored user patterns 1
  • Insights activity 1
  • Insights focus time 1
  • Insights idle time 1
  • Insights meetings 1
  • Integrations 1
  • Job site visits 1
  • Job types 1
  • Passive job site visits 1
  • Rates 1
  • Smart notifications 1
  • Team invoices 1
  • Time entries 1
  • Tool categories 1
  • Tracking states 1
  • Unusual activities 1
  • User links 1
  • Work break projects 1
  • Work time classification 1

Top actions

The Hubstaff API, shaped for agents.

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

ActionWhat it doesEffectSame name in
hubstaff.tasks.listList organization tasksList organization tasks.readwork.task.list122 connectors
hubstaff.members.listList organization membersList organization members.readidentity.user.list474 connectors
hubstaff.projects.listList organization projectsList organization projects.readwork.project.list109 connectors
hubstaff.teams.listList organization teamsList organization teams.readidentity.group.list262 connectors
hubstaff.activities.listList organization activitiesList organization activities.readwork.time_entry.list59 connectors
hubstaff.users.meGet current userGet current user.readidentity.current_user.get307 connectors
hubstaff.tasks.createCreate taskCreate task.writework.task.create127 connectors
hubstaff.timesheets.listList organization timesheetsList organization timesheets.readwork.timesheet.list20 connectors
hubstaff.projects.createCreate projectCreate project.writework.project.create102 connectors
hubstaff.time_entries.createCreate time entryCreate time entry.writework.time_entry.create56 connectors
hubstaff.teams.createCreate teamCreate team.writeidentity.group.create205 connectors
hubstaff.tasks.deleteDelete taskDelete task.destructivework.task.delete107 connectors

Try it

Prompts to paste into Claude.

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

  1. Readread

    Which Hubstaff invoices are more than 30 days overdue? Group them by customer with the total owed.

    callshubstaff.client_invoices.list

  2. Writewrite

    Create task in Hubstaff. Show me exactly what you will send before you save it.

    callshubstaff.tasks.create

Governance for Hubstaff

Destructive actions wait for a yes.

11 Hubstaff actions are destructive. These are all of them:

  • Delete taskhubstaff.tasks.delete
  • Delete teamhubstaff.teams.delete
  • Delete time off requesthubstaff.time_off_requests.delete
  • Delete invitehubstaff.invites.delete
  • Delete webhookhubstaff.webhooks.delete
  • Delete global to-dohubstaff.global_todos.delete
  • Delete invite linkhubstaff.invite_links.delete
  • Delete project member limithubstaff.member_limits.delete
  • Delete network locationhubstaff.network_locations.delete
  • Delete time off policyhubstaff.time_off_policies.delete
  • Delete smart notification rulehubstaff.smart_notification_rules.delete

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.

dohubstaff.tasks.deleteconfirm_policy: human

Delete task?

intent: the user asked me to delete task

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

Cost

What Hubstaff costs on actionlake.

Every Hubstaff action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Hubstaff 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 180 Hubstaff actions
  • 180actions pageeach page of a long list is one call
  • 107reads 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 Hubstaff action.

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

Tasks8
  • hubstaff.tasks.createCreate taskwrite
  • hubstaff.tasks.deleteDelete taskdestructive
  • hubstaff.tasks.getGet taskread
  • hubstaff.tasks.listList organization tasksread
  • hubstaff.tasks.list_for_integrationList integration tasksread
  • hubstaff.tasks.list_for_projectList project tasksread
  • hubstaff.tasks.updateUpdate taskwrite
  • hubstaff.tasks.update_metadataUpdate task metadatawrite
Teams8
  • hubstaff.teams.createCreate teamwrite
  • hubstaff.teams.deleteDelete teamdestructive
  • hubstaff.teams.getGet teamread
  • hubstaff.teams.listList organization teamsread
  • hubstaff.teams.updateUpdate teamwrite
  • hubstaff.teams.update_membersUpdate team memberswrite
  • hubstaff.teams.update_metadataUpdate team metadatawrite
  • hubstaff.teams.update_projectsUpdate team projectswrite
Time off policies8
  • hubstaff.time_off_policies.archiveArchive time off policywrite
  • hubstaff.time_off_policies.createCreate time off policywrite
  • hubstaff.time_off_policies.deleteDelete time off policydestructive
  • hubstaff.time_off_policies.getGet time off policyread
  • hubstaff.time_off_policies.listList organization time off policiesread
  • hubstaff.time_off_policies.list_user_policiesList organization time off policies per userread
  • hubstaff.time_off_policies.restoreRestore time off policywrite
  • hubstaff.time_off_policies.updateUpdate time off policywrite
Job sites7
  • hubstaff.job_sites.add_rulesAdd job site ruleswrite
  • hubstaff.job_sites.createCreate job sitewrite
  • hubstaff.job_sites.getGet job siteread
  • hubstaff.job_sites.listList organization job sitesread
  • hubstaff.job_sites.remove_rulesRemove job site ruleswrite
  • hubstaff.job_sites.updateUpdate job sitewrite
  • hubstaff.job_sites.update_rulesUpdate job site ruleswrite
Projects7
  • hubstaff.projects.createCreate projectwrite
  • hubstaff.projects.getGet projectread
  • hubstaff.projects.listList organization projectsread
  • hubstaff.projects.list_for_teamList team projectsread
  • hubstaff.projects.updateUpdate projectwrite
  • hubstaff.projects.update_membersUpdate project memberswrite
  • hubstaff.projects.update_metadataUpdate project metadatawrite
Invites6
  • hubstaff.invites.bulk_createBulk invite userswrite
  • hubstaff.invites.createCreate invitewrite
  • hubstaff.invites.deleteDelete invitedestructive
  • hubstaff.invites.getGet inviteread
  • hubstaff.invites.listList organization invitesread
  • hubstaff.invites.updateUpdate invitewrite
Organizations6
  • hubstaff.organizations.createCreate organizationwrite
  • hubstaff.organizations.getGet organizationread
  • hubstaff.organizations.get_seatsGet organization seatsread
  • hubstaff.organizations.listList organizationsread
  • hubstaff.organizations.update_membersUpdate organization memberswrite
  • hubstaff.organizations.update_metadataUpdate organization metadatawrite
Overtime policies6
  • hubstaff.overtime_policies.archiveArchive overtime policywrite
  • hubstaff.overtime_policies.createCreate overtime policywrite
  • hubstaff.overtime_policies.getGet overtime policyread
  • hubstaff.overtime_policies.listList organization overtime policiesread
  • hubstaff.overtime_policies.restoreRestore overtime policywrite
  • hubstaff.overtime_policies.updateUpdate overtime policywrite
Smart notification rules6
  • hubstaff.smart_notification_rules.createCreate smart notification rulewrite
  • hubstaff.smart_notification_rules.deleteDelete smart notification ruledestructive
  • hubstaff.smart_notification_rules.getGet smart notification ruleread
  • hubstaff.smart_notification_rules.listList smart notification rulesread
  • hubstaff.smart_notification_rules.toggle_statusToggle smart notification rulewrite
  • hubstaff.smart_notification_rules.updateUpdate smart notification rulewrite
Time off requests6
  • hubstaff.time_off_requests.createCreate time off requestwrite
  • hubstaff.time_off_requests.deleteDelete time off requestdestructive
  • hubstaff.time_off_requests.getGet time off requestread
  • hubstaff.time_off_requests.listList organization time off requestsread
  • hubstaff.time_off_requests.updateUpdate time off requestwrite
  • hubstaff.time_off_requests.update_statusUpdate time off request statuswrite
Webhooks6
  • hubstaff.webhooks.activateActivate webhookwrite
  • hubstaff.webhooks.create_for_meCreate me webhookwrite
  • hubstaff.webhooks.create_for_organizationCreate organization webhookwrite
  • hubstaff.webhooks.create_for_projectCreate project webhookwrite
  • hubstaff.webhooks.deleteDelete webhookdestructive
  • hubstaff.webhooks.getGet webhookread
Clients5
  • hubstaff.clients.createCreate clientwrite
  • hubstaff.clients.getGet clientread
  • hubstaff.clients.listList organization clientsread
  • hubstaff.clients.updateUpdate clientwrite
  • hubstaff.clients.update_metadataUpdate client metadatawrite
Invite links5
  • hubstaff.invite_links.createCreate invite linkwrite
  • hubstaff.invite_links.deleteDelete invite linkdestructive
  • hubstaff.invite_links.getGet invite linkread
  • hubstaff.invite_links.listList organization invite linksread
  • hubstaff.invite_links.updateUpdate invite linkwrite
Member limits5
  • hubstaff.member_limits.createCreate project member limitwrite
  • hubstaff.member_limits.deleteDelete project member limitdestructive
  • hubstaff.member_limits.getGet member limitread
  • hubstaff.member_limits.list_for_projectList project member limitsread
  • hubstaff.member_limits.updateUpdate project member limitwrite
Network locations5
  • hubstaff.network_locations.createCreate network locationwrite
  • hubstaff.network_locations.deleteDelete network locationdestructive
  • hubstaff.network_locations.getGet network locationread
  • hubstaff.network_locations.listList network locationsread
  • hubstaff.network_locations.updateUpdate network locationwrite
Activities4
  • hubstaff.activities.listList organization activitiesread
  • hubstaff.activities.list_for_projectList project activitiesread
  • hubstaff.activities.list_updatesList organization activities updatesread
  • hubstaff.activities.list_updates_for_projectList project activities updatesread
Budget histories4
  • hubstaff.budget_histories.getGet budget historyread
  • hubstaff.budget_histories.listList organization budget historiesread
  • hubstaff.budget_histories.list_for_clientList client budget historiesread
  • hubstaff.budget_histories.list_for_projectList project budget historiesread
Daily activities4
  • hubstaff.daily_activities.listList organization daily activitiesread
  • hubstaff.daily_activities.list_for_projectList project daily activitiesread
  • hubstaff.daily_activities.list_updatesList organization daily activities updatesread
  • hubstaff.daily_activities.list_updates_for_projectList project daily activities updatesread
Global todos4
  • hubstaff.global_todos.createCreate global to-dowrite
  • hubstaff.global_todos.deleteDelete global to-dodestructive
  • hubstaff.global_todos.listList organization global todosread
  • hubstaff.global_todos.updateUpdate global to-dowrite
Members4
  • hubstaff.members.createCreate organization memberwrite
  • hubstaff.members.listList organization membersread
  • hubstaff.members.list_for_projectList project membersread
  • hubstaff.members.list_for_teamList team membersread
Screenshots4
  • hubstaff.screenshots.getGet screenshotread
  • hubstaff.screenshots.get_for_projectGet screenshotread
  • hubstaff.screenshots.listList organization screenshotsread
  • hubstaff.screenshots.list_for_projectList project screenshotsread
Attendance schedules3
  • hubstaff.attendance_schedules.createCreate attendance schedulewrite
  • hubstaff.attendance_schedules.listList organization attendance schedulesread
  • hubstaff.attendance_schedules.updateUpdate attendance schedulewrite
Manual time requests3
  • hubstaff.manual_time_requests.getGet manual time requestread
  • hubstaff.manual_time_requests.listList manual time requestsread
  • hubstaff.manual_time_requests.update_statusUpdate manual time request statuswrite
Notes3
  • hubstaff.notes.getGet noteread
  • hubstaff.notes.listList organization notesread
  • hubstaff.notes.list_for_projectList project notesread
App and URL tracking settings2
  • hubstaff.app_and_url_tracking_settings.listList member Track Apps & URLs settingsread
  • hubstaff.app_and_url_tracking_settings.updateUpdate member Track Apps & URLs settingswrite
Daily tool usages2
  • hubstaff.daily_tool_usages.listList organization daily tool usagesread
  • hubstaff.daily_tool_usages.list_for_projectList project daily tool usagesread
Last activities2
  • hubstaff.last_activities.listList organization last activitiesread
  • hubstaff.last_activities.list_for_projectList project last activitiesread
Limit histories2
  • hubstaff.limit_histories.getGet limit historyread
  • hubstaff.limit_histories.listList organization limit historiesread
Locations2
  • hubstaff.locations.listList organization locationsread
  • hubstaff.locations.list_for_projectList project locationsread
Project links2
  • hubstaff.project_links.list_for_integrationList integration integration project linksread
  • hubstaff.project_links.list_for_projectList project integration project linksread
Screenshot settings2
  • hubstaff.screenshot_settings.listList member screenshot frequency settingsread
  • hubstaff.screenshot_settings.updateUpdate member screenshot frequency settingswrite
Team payments2
  • hubstaff.team_payments.getGet team paymentread
  • hubstaff.team_payments.listList organization team paymentsread
Time edit logs2
  • hubstaff.time_edit_logs.listList organization time edit logsread
  • hubstaff.time_edit_logs.list_for_projectList project time edit logsread
Time off balances2
  • hubstaff.time_off_balances.adjustAdd organization time off balance adjustmentswrite
  • hubstaff.time_off_balances.listList organization time off balancesread
Timesheets2
  • hubstaff.timesheets.listList organization timesheetsread
  • hubstaff.timesheets.update_statusUpdate timesheet statuswrite
Tool classifications2
  • hubstaff.tool_classifications.listList tool classificationsread
  • hubstaff.tool_classifications.updateUpdate tool classificationswrite
Tool usages2
  • hubstaff.tool_usages.listList organization tool usagesread
  • hubstaff.tool_usages.list_for_projectList project tool usagesread
Users2
  • hubstaff.users.getGet userread
  • hubstaff.users.meGet current userread
Attendance shifts1
  • hubstaff.attendance_shifts.listList organization attendance shiftsread
Audit log entries1
  • hubstaff.audit_log_entries.listList organization audit log entriesread
Client invoices1
  • hubstaff.client_invoices.listList organization client invoicesread
Error codes1
  • hubstaff.error_codes.listList all error codesread
Holidays1
  • hubstaff.holidays.listList organization holidaysread
Ignored user matches1
  • hubstaff.ignored_user_matches.listList ignored user matchesread
Ignored user patterns1
  • hubstaff.ignored_user_patterns.listList ignored user patternsread
Insights activity1
  • hubstaff.insights_activity.listList activityread
Insights focus time1
  • hubstaff.insights_focus_time.listList focus timeread
Insights idle time1
  • hubstaff.insights_idle_time.listList idle timeread
Insights meetings1
  • hubstaff.insights_meetings.listList meetingsread
Integrations1
  • hubstaff.integrations.listList organization integrationsread
Job site visits1
  • hubstaff.job_site_visits.listList organization job site visitsread
Job types1
  • hubstaff.job_types.listList job typesread
Passive job site visits1
  • hubstaff.passive_job_site_visits.listList organization passive job site visitsread
Rates1
  • hubstaff.rates.listList organization ratesread
Smart notifications1
  • hubstaff.smart_notifications.listList smart notificationsread
Team invoices1
  • hubstaff.team_invoices.listList organization team invoicesread
Time entries1
  • hubstaff.time_entries.createCreate time entrywrite
Tool categories1
  • hubstaff.tool_categories.listList tool categoriesread
Tracking states1
  • hubstaff.tracking_states.listList organization tracking statesread
Unusual activities1
  • hubstaff.unusual_activities.listList unusual activitiesread
User links1
  • hubstaff.user_links.list_for_integrationList integration integration user linksread
Work break projects1
  • hubstaff.work_break_projects.listList organization work break projectsread
Work time classification1
  • hubstaff.work_time_classification.listList work time classificationread

Questions

The Hubstaff MCP server, answered.

Is there a Hubstaff MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 180 Hubstaff actions across tasks, teams, time off policies and job sites, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Hubstaff.

What do I need to connect Hubstaff?

Your own Hubstaff OAuth app, registered with Hubstaff (its client id and client secret), and the access and refresh tokens from one admin sign-in. actionlake has no Hubstaff app of its own, so this is not a one-step consent. actionlake renews the access token as it expires. The free call account { op: "connections.requirements", service: "hubstaff" } lists exactly what to paste.

Can an AI agent delete or change things in Hubstaff?

Only if its key allows it, and only with an explicit confirmation. 11 Hubstaff actions are destructive, including delete task, delete team and delete time off request. 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 Hubstaff API limit?

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

What does a Hubstaff action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (180 Hubstaff actions page). Cache hits, searches, dry runs and calls Hubstaff 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 Hubstaff API does it cover?

The Hubstaff V2 API (Swagger 2.0, api.hubstaff.com/v2/docs) at api.hubstaff.com. It is built from Hubstaff's documentation as read on 23 October 2026. 180 actions in 63 areas, each one in the signed service file (version 1.0.0).

Does actionlake keep my Hubstaff 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 Hubstaff 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 Hubstaff today.

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